FGX.CollectionView.TfgCustomCollectionView

From FGX Native Докуметация
Jump to navigation Jump to search

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)

Описание отсутствует.

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
SelectionColorLink: 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
SelectionMode: TfgCollectionViewSelectionMode

Режим выделения элементов. Всего существует три способа выделения:

  • None - Элементы не поддерживают выделение.
  • SingleSelect - Только один элемент может быть выделени. При этом при попытке выделить другой элемент выделение с предыдущего сбрасывается.
  • MultiSelect - Поддерживается выделение любого количества элементов.
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
OnSelectionChanged: TfgSelectionChangedEvent

Пользователь совершил выделение одного или нескольких элементов списка. За возможность выделения элемента отвечает свойство стиля TfgCollectionViewStyle.Selectable .

event
OnItemSelectionChanged: TfgItemSelectionChangedEvent

Изменилось выделение у элемента с индексом 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

Описание отсутствует.