FGX.CollectionView.TfgCustomCollectionView
Delphi
TfgCustomCollectionView = class (TfgControl, IFGXContainer)
TComponent -> TfgControl -> TfgCustomCollectionView
Прямые наследники: TfgCollectionView
Содержание
Описание
Описание отсутствует.
Конструкторы
constructor
|
Create(AOwner: TComponent)
Описание отсутствует. |
Методы
procedure
|
ReloadItems()
Перезагружает элементы коллекции. Форсирует перезагрузку всех элементов списка. Потокобезопасный метод. Можно вызывать не из главного потока. Этот метод автоматически завершает процесс PullToRefresh , если он был запущен.
|
procedure
|
ReloadItem(const AItemIndex: Integer)
Перезагружает элемент коллекции по указанному индексу. Потокобезопасный метод. Можно вызывать не из главного потока.
|
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
|
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
|
GetStyleForItemControl(const AControl: TfgControl): TfgCollectionViewStyle
Возвращает стиль элемента по указанному контролу, которые находится в элементе. Если стиль не найден, или стилей нет, то вернет nil.
|
procedure
|
ScrollToItem(const AItemIndex: Integer; const AWithAnimation: Boolean)
Описание отсутствует. |
procedure
|
ResetSelection()
Сбрасывает текущее выделение всех выделенных элементов. |
procedure
|
ResetSelection(const AItemIndex: Integer)
Сбрасывает текущее выделение элемента с указанным индексом. |
procedure
|
SelectItem(const AItemIndex: Integer)
Выделяет элемент с указанным индексом. Работает только, если стиль элемента поддерживает выделение TfgCollectionViewStyle.Selectable и стоит режим выделения отличный от none SelectionMode != TfgCollectionViewSelectionMode.None .
|
procedure
|
SelectAllItems()
Выделяет все элементы списка. Работает только, если стиль элемента поддерживает выделение TfgCollectionViewStyle.Selectable и стоит режим выделения MultiSelect SelectionMode = TfgCollectionViewSelectionMode.MultiSelect .
|
procedure
|
BeginPullToRefresh()
Запускает программным способом процесс обновления данных с одновременным отображением индикатора загрузки. Разработчик должен выполнить/запустить процесс обновления данных и по окончании загрузки данных сообщить об этом контролу, вызвав EndPullToRefresh . Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных ReloadItems или ReloadItem . Если список уже находится в состоянии обновления IsPullToRefreshActive = True , то метод не будет запускать новый процесс обновления.
|
procedure
|
EndPullToRefresh()
Заканчивает процесс обновления данных, начатый пользователем. Это приводит к скрытию индикатора загрузки и загрузки данных в список. Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных ReloadItems или ReloadItem . Потокобезопасный метод. Можно вызывать не из главного потока.
|
Свойства
property
|
Count: Integer
Возвращает общее количество элементов списка. Использует обработчик OnGetItemCount . |
property
|
StylesContainer: TfgCollectionViewStyles
Контейнер стилей, содержит все стили коллекции. |
property
|
ContentOffset: TPointF
Возвращает смещение контента. |
property
|
Selection: TfgCollectionViewItemsArray
Массив индексов выделенных элементов. В случае, если был вызван ReloadItems при наличии выделение, работа данного метода первый раз может занимать O(n). При этом дальнешее изменение выделения не уже никак не влияет на сложность и по прежнему, будет занимать O(k), где k - это количество выделенных элементов.
|
property
|
IsPullToRefreshActive: Boolean
Описание отсутствует. |
property
|
ScrollGlowColorLink: TfgAssetColorLink
Описание отсутствует. |
property
|
SelectionColorLink: TfgAssetColorLink
Описание отсутствует. |
property
|
PullToRefreshOptions: TfgPullToRefreshOptions
Настройки режима обновления списка "Потяни и обнови". |
property
|
ScrollGlowColor: TAlphaColor
Цвет эффекта прокручивания списка, который появляется при попытке прокрутить список за его границы. Актуально только для Андроид платформы.
|
property
|
ScrollGlowColorName: TfgAssetName
Описание отсутствует. |
property
|
SelectionColor: TAlphaColor
Общий цвет выделение элементов по умолчанию. Каждый стиль элемента может переопределить это значение через аналогичное свойство TfgCollectionViewStyle.SelectionColor . Если указан цвет TAlphaColorRec.Null , то компонент будет использовать системный цвет для выделения, который зависит от платформы и версии ОС.
|
property
|
SelectionColorName: TfgAssetName
Название ресурса цвета выделения элементов в контроле. |
property
|
SelectionMode: TfgCollectionViewSelectionMode
Режим выделения элементов. Всего существует три способа выделения:
|
События
event
|
OnGetItemCount: Integer
Через это событие компонент запрашивает общее количество элементов, которые необходимо отобразить. Компонент постоянно использует это событие для получения количества элементов. Поэтому избегайте практики долгого вычисления количества. Это может сказать на скорости прокрутки списка.
|
event
|
OnGetItemId: TfgOnGetItemId
Через это событие компонент запрашивает уникальный идентификатор элемента. Эта информация может использоваться контролом для визуального выделения изменения элементов на экране при обновлении списка. По мимо этот идентификтор используется для корректного выделения элементов в случае, когда пользователь меняет данные элементов, добавляет или удаляет их. Обязательно должен быть уникальным среди идентификаторов всех элементов!
|
event
|
OnGetItemStyle: string
Через это событие компонент запрашивает название стиля, которое необходимо применить к элементу по указанному индексу. Компонент использует это событие в момент, когда указанный элемент готовится появится на экране. Обратите внимание, что если у вас в коллекции используется только один стиль, то это событие можно не использовать. Компонент автоматически выберет первый стиль, если вы не используете это событие.
|
event
|
OnBindItem: TfgOnBindItem
Через это событие происходит связь пользовательских данных с конкретным элементом списка по указанному индексу. Все необходимые данные для отображения должны быть уже предварительно загружены и приготовлены к отображению. В этом событие необходимо связать готовые данные с конкретными контролами.
|
event
|
OnLongTapItem: TfgOnItemLongTap
Пользователь выполнил долгое нажатие на элемент списка. Данное событие работает автоматически. Не нужно отдельно включать значение LongTap в GestureKinds . Особенностью работы данного события - является события даже если долгое нажатие произведено на вложенный в элемент контрол, перехватывающий LongTap.
|
event
|
OnTapItem: TfgOnItemTap
Пользователь нажал на элемент списка. |
event
|
OnSelectionChanged: TfgOnSelectionChangedEvent
Пользователь совершил выделение одного или нескольких элементов списка. За возможность выделения элемента отвечает свойство стиля TfgCollectionViewStyle.Selectable . |
event
|
OnItemSelectionChanged: TfgOnItemSelectionChanged
Изменилось выделение у элемента с индексом AItemIndex . |
event
|
OnScroll: TfgOnScrollEvent
Срабатывает, когда содержимое списка прокручивается. |
event
|
OnPullToRefresh: TNotifyEvent
Срабатывает, когда пользователь запускает процесс обновления списка. Чтобы это событие работало, нужно обязательно включить поддержку режима обновления данных EnabledPullToRefresh = True . |
Константы
const
|
DefaultScrollGlowColor: TAlphaColor
Описание отсутствует. |
const
|
DefaultSelectionMode: TfgCollectionViewSelectionMode
Описание отсутствует. |
const
|
DefaultSelectionColor: TAlphaColor
Описание отсутствует. |