FGX.CollectionView.TfgCustomCollectionView
Delphi
TfgCustomCollectionView = class (TfgControl, IFGXContainer)
TComponent -> TfgControl -> TfgCustomCollectionView
Прямые наследники: TfgCollectionView
Описание
Описание отсутствует.
Конструкторы
constructor
|
Create(AOwner: TComponent)
Описание отсутствует. |
Методы
procedure
|
ReloadItems()
Перезагружает элементы коллекции. Форсирует перезагрузку всех элементов списка. Потокобезопасный метод. Этот метод автоматически завершает процесс PullToRefresh , если он был запущен.
|
procedure
|
ReloadItem(const AItemIndex: Integer)
Перезагружает элемент коллекции по указанному индексу. Потокобезопасный метод.
|
procedure
|
NotifyItemsInserted(const AIndicies: [[TArray<System.Integer>]])
Уведомляет компонент, что в список нужно вставить новые элементы по указанным индексам. Компонент умеет отображать изменения с применением анимации. Потокобезопасный метод.
|
procedure
|
NotifyItemsRemoved(const AIndicies: [[TArray<System.Integer>]])
Уведомляет компонент, что из списка нужно удалить элементы по указанным индексам. Компонент умеет отображать изменения с применением анимации. Потокобезопасный метод.
|
procedure
|
NotifyItemMoved(const AFromIndex: Integer; const AToIndex: Integer)
Уведомляет компонент, что в списке элемент сменил свою позицию с AFromIndex на AToIndex . Компонент умеет отображать изменения с применением анимации. Потокобезопасный метод.
|
function
|
GetItemId(const AItemIndex: Integer): Int64
Возвращает идентификатор элемента по его порядковому индексу. Для этого использует данные, полученные в результате работы обработчика события OnGetItemId . По умолчанию использует порядковый иднекс элемента. |
function
|
FindItemIndexById(const AItemId: Int64; out AItemIndex: Integer): Boolean
Поиск порядкового индекса элемента по его уникальному идентификатору. Задание уникальных идентификаторо элементов осуществляется через событие OnGetItemId . Сложность поиска O(n). Если индекс не найден, то AItemIndex будет содержать -1.
|
function
|
FindItemIndexByPoint(const APoint: TPointF; out AItemIndex: Integer): Boolean
Поиск порядкового индекса элемента по координатам точки в CollectionView, попадающая в один из видимых элементов. Работает только для видимых элементов с индексами в диапазоне GetFirstVisibleItemIndex и GetLastVisibleItemIndex . APoint указывается в системе координат контрола с учетом смещения прокрутки. Если индекс не найден, то AItemIndex будет содержать -1.
|
function
|
FindItemIndexByObject(const AObject: TObject; out AItemIndex: Integer): Boolean
Поиск порядкового индекса элемента по объекту, который принадлежит стилю элемента (по цепочке родителей можно выйти к стилю элемента). Если индекс не найден, то AItemIndex будет содержать -1.
|
function
|
FindItemWrapperByIndex(const AItemIndex: Integer; out AItemWrapper: TfgItemWrapper): Boolean
Ищет TfgItemWrapper для работы с контролом элемента по индексу. Если элемента по указанному индексу нет, то в AItemWrapper будет nil. Работает только для индексов в диапазоне GetFirstVisibleItemIndex и GetLastVisibleItemIndex . Сложность O(1).
|
function
|
FindItemWrapperByObject(const AObject: TObject; out AItemWrapper: TfgItemWrapper): Boolean
Ищет TfgItemWrapper для работы с контролом элемента по объекту, который принадлежит стилю элемента (по цепочке родителей можно выйти к стилю элемента). |
function
|
FindItemControlByIndex(const AItemIndex: Integer; out AControl: TfgControl): Boolean
Ищет контрол TfgControl элемента по индексу. Если элемента по указанному индексу нет, то в AControl будет nil. Работает только для индексов в диапазоне GetFirstVisibleItemIndex и GetLastVisibleItemIndex . Сложность O(1).
|
function
|
GetFirstVisibleItemIndex(): Integer
Возвращает индекс первого видимого элемента на экране. Если список пуст, то вернет -1.
|
function
|
GetLastVisibleItemIndex(): Integer
Возвращает индекс последнего видимого элемента на экране. Если список пуст, то вернет -1.
|
function
|
CreateStyle(): TfgCollectionViewStyle
Создает новый пустой стиль с уникальным именем TfgCollectionViewStyle.TfgStyleName . |
procedure
|
AddStyle(const AStyle: TfgCollectionViewStyle)
Добавляет стиль в список стилей контрола. |
function
|
GetStyle(const AStyleName: string): TfgCollectionViewStyle
Возвращает стиль по его имени. Если стиль не найден, то вернет nil.
|
function
|
GetStyleIndex(const AStyleName: string): Integer
Возвращает индекс стиля по его имени. Первый стиль имеет индекс 0. Если стиль не найден, то вернет -1.
|
function
|
GetStyleForItemIndex(const AItemIndex: Integer): TfgCollectionViewStyle
Возвращает стиль элемента по указанному индексу элемента. Если стиль не найден, или стилей нет, то вернет nil.
|
function
|
GetStyleForItemIndexOrRaise(const AItemIndex: Integer): TfgCollectionViewStyle
Возвращает стиль элемента по указанному индексу элемента. Если стиль не найден, или стилей нет, то бросит исключение.
|
function
|
GetStyleForItemControl(const AControl: TfgControl): TfgCollectionViewStyle
Возвращает стиль элемента по указанному контролу, которые находится в элементе. Если стиль не найден, или стилей нет, то вернет nil.
|
procedure
|
ScrollToItem(const AItemIndex: Integer; const AWithAnimation: Boolean)
Прокрутка содержимого списка к элементу с указанной позицией с возможностью использовать анимацию AWithAnimation . |
procedure
|
ScrollToItem(const AItemIndex: Integer; const AItemPosition: TfgItemLocation; const AWithAnimation: Boolean)
Описание отсутствует. |
function
|
IsScrollInTheEnd(): Boolean
Прокручено ли содержимое списка в самый конец или нет? |
function
|
GetSelectionColor(const AStyle: TfgCollectionViewStyle): TAlphaColor
Возвращает цвет выделения для элемента указанного стиля. |
function
|
IsSelectableItem(const AItemIndex: Integer): Boolean
Поддерживает ли выделение элемент по указанному индексу? |
procedure
|
BeginPullToRefresh()
Запускает программным способом процесс обновления данных с одновременным отображением индикатора загрузки. Разработчик должен выполнить/запустить процесс обновления данных и по окончании загрузки данных сообщить об этом контролу, вызвав EndPullToRefresh . Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных ReloadItems или ReloadItem . Если список уже находится в состоянии обновления IsPullToRefreshActive = True , то метод не будет запускать новый процесс обновления.
|
procedure
|
EndPullToRefresh()
Заканчивает процесс обновления данных, начатый пользователем. Это приводит к скрытию индикатора загрузки и загрузки данных в список. Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных ReloadItems или ReloadItem . Потокобезопасный метод. Можно вызывать не из главного потока.
|
Свойства
property
|
Count: Integer
Возвращает общее количество элементов списка. Использует обработчик OnGetItemCount . |
property
|
StylesContainer: TfgCollectionViewStyles
Контейнер стилей, содержит все стили коллекции. |
property
|
ContentOffset: TPointF
Возвращает смещение контента. |
property
|
SelectionController: TfgCollectionViewSelectionController
Контроллер выделения. Отвечает за работу с выделением элементов списка. |
property
|
IsPullToRefreshActive: Boolean
Описание отсутствует. |
property
|
ColumnWidth: Single
Возвращает ширину столбца. |
property
|
ScrollGlowColorLink: TfgAssetColorLink
Описание отсутствует. |
property
|
ColumnsCount: Integer
Количество столбцов, по которым размещаются элементы списка. |
property
|
DragOptions: TfgDragAndDropOptions
Настройки фунционала перетаскивания элементов между собой. |
property
|
PullToRefreshOptions: TfgPullToRefreshOptions
Настройки режима обновления списка "Потяни и обнови". |
property
|
Padding: TfgPadding
Внутренние отступы, учитывающиеся при выравнивании элементов. |
property
|
ScrollGlowColor: TAlphaColor
Цвет эффекта прокручивания списка, который появляется при попытке прокрутить список за его границы. Актуально только для Андроид платформы.
|
property
|
ScrollGlowColorName: TfgAssetName
Описание отсутствует. |
property
|
SelectionColor: TAlphaColor
Общий цвет выделение элементов по умолчанию. Каждый стиль элемента может переопределить это значение через аналогичное свойство TfgCollectionViewStyle.SelectionColor . Если указан цвет TAlphaColorRec.Null , то компонент будет использовать системный цвет для выделения, который зависит от платформы и версии ОС.
|
property
|
SelectionColorName: TfgAssetName
Название ресурса цвета выделения элементов в контроле. |
property
|
SelectionOptions: TfgSelectionOptions
Настройки выделения. |
property
|
SelectionMode: TfgCollectionViewSelectionMode
Режим выделения элементов. Всего существует три способа выделения:
|
property
|
HorzScrollBar: TfgScrollBarSettings
Настройки отображения горизонтальной полосы прокрутки. |
property
|
VertScrollBar: TfgScrollBarSettings
Настройки отображения вертикальной полосы прокрутки. |
События
event
|
OnGetItemCount: Integer
Через это событие компонент запрашивает общее количество элементов, которые необходимо отобразить. Компонент постоянно использует это событие для получения количества элементов. Поэтому избегайте практики долгого вычисления количества. Это может сказать на скорости прокрутки списка.
|
event
|
OnGetItemId: TfgGetItemIdEvent
Через это событие компонент запрашивает уникальный идентификатор элемента. Эта информация может использоваться контролом для визуального выделения изменения элементов на экране при обновлении списка. По мимо этот идентификтор используется для корректного выделения элементов в случае, когда пользователь меняет данные элементов, добавляет или удаляет их. Обязательно должен быть уникальным среди идентификаторов всех элементов!
|
event
|
OnGetItemStyle: string
Через это событие компонент запрашивает название стиля, которое необходимо применить к элементу по указанному индексу. Компонент использует это событие в момент, когда указанный элемент готовится появится на экране. Обратите внимание, что если у вас в коллекции используется только один стиль, то это событие можно не использовать. Компонент автоматически выберет первый стиль, если вы не используете это событие.
|
event
|
OnBindItem: TfgBindItemEvent
Через это событие происходит связь пользовательских данных с конкретным элементом списка по указанному индексу. Все необходимые данные для отображения должны быть уже предварительно загружены и приготовлены к отображению. В этом событие необходимо связать готовые данные с конкретными контролами.
|
event
|
OnLongTapItem: TfgItemLongTapEvent
Пользователь выполнил долгое нажатие на элемент списка. Данное событие работает автоматически. Не нужно отдельно включать значение LongTap в GestureKinds . Особенностью работы данного события - является события даже если долгое нажатие произведено на вложенный в элемент контрол, перехватывающий LongTap.
|
event
|
OnTapItem: TfgItemTapEvent
Пользователь нажал на элемент списка. |
event
|
OnUpdateItemSelectionAppearance: TfgUpdateItemSelectionAppearanceEvent
Необходимо вручную выполнить визуальное отображение/сброс выделение указаного элемента списка. Данное событие вызывается только при режиме SelectionOptions.PaintingMode = Manual . |
event
|
OnSelectionChanged: TfgSelectionChangedEvent
Пользователь совершил выделение одного или нескольких элементов списка. За возможность выделения элемента отвечает свойство стиля TfgCollectionViewStyle.Selectable . |
event
|
OnItemSelectionChanged: TfgItemSelectionChangedEvent
Изменилось выделение у элемента с индексом AItemIndex . |
event
|
OnCanItemSelect: TfgCanItemSelectEvent
Запрос разрешения на установку выделения элемента с индексом AItemIndex . |
event
|
OnCanItemDeselect: TfgCanItemDeselectEvent
Запрос разрешения на снятие выделения элемента с индексом AItemIndex . |
event
|
OnScroll: TfgScrollEvent
Срабатывает, когда содержимое списка прокручивается. |
event
|
OnPullToRefresh: TNotifyEvent
Срабатывает, когда пользователь запускает процесс обновления списка. Чтобы это событие работало, нужно обязательно включить поддержку режима обновления данных EnabledPullToRefresh = True . |
event
|
OnMovingItem: TfgItemMovingEvent
Вызывается по ходу перемещения элемента списка. Позволяет запретить перемещение на позицию другого элемента. Чтобы запретить перемещение элемента на новую позицию, нужнео вернуть в параметре AAllowed = False . |
event
|
OnMovedItem: TfgItemMovedEvent
Вызывается после того, как элемент перемещен на новую позицию списка. |
Константы
const
|
DefaultScrollGlowColor: TAlphaColor
Описание отсутствует. |
const
|
DefaultSelectionColor: TAlphaColor
Описание отсутствует. |
const
|
DefaultSystemSelectionColor: Integer
Описание отсутствует. |
const
|
DefaultColumnsCount: Integer
Описание отсутствует. |