FGX.CollectionView.TfgCustomCollectionView: различия между версиями
Admin (обсуждение | вклад) (summary) |
Admin (обсуждение | вклад) (summary) |
||
Строка 106: | Строка 106: | ||
<p>Заканчивает процесс обновления данных, начатый пользователем. Это приводит к скрытию индикатора загрузки и загрузки данных в список. Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных <i>ReloadItems </i> или <i>ReloadItem </i> .</p><div class="info">Потокобезопасный метод. Можно вызывать не из главного потока.</div> | <p>Заканчивает процесс обновления данных, начатый пользователем. Это приводит к скрытию индикатора загрузки и загрузки данных в список. Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных <i>ReloadItems </i> или <i>ReloadItem </i> .</p><div class="info">Потокобезопасный метод. Можно вызывать не из главного потока.</div> | ||
+ | |} | ||
+ | |||
+ | == Свойства == | ||
+ | |||
+ | {| class="wikitable sortable" | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Count: [[Integer]]</code> | ||
+ | <p>Возвращает общее количество элементов списка. Использует обработчик <i>OnGetItemCount </i> .</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>StylesContainer: [[FGX.CollectionView.TfgCollectionViewStyles|TfgCollectionViewStyles]]</code> | ||
+ | <p>Контейнер стилей, содержит все стили коллекции.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>ContentOffset: [[TPointF]]</code> | ||
+ | <p>Возвращает смещение контента.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>Selection: [[.TfgCollectionViewItemsArray|TfgCollectionViewItemsArray]]</code> | ||
+ | |||
+ | <p>Массив индексов выделенных элементов.</p><div class="info">В случае, если был вызван <i>ReloadItems </i> при наличии выделение, работа данного метода первый раз может занимать O(n). При этом дальнешее изменение выделения не уже никак не влияет на сложность и по прежнему, будет занимать O(k), где k - это количество выделенных элементов.</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>IsPullToRefreshActive: [[Boolean]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>ScrollGlowColorLink: [[FGX.Assets.Color.TfgAssetColorLink|TfgAssetColorLink]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>SelectionColorLink: [[FGX.Assets.Color.TfgAssetColorLink|TfgAssetColorLink]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>PullToRefreshOptions: [[FGX.CollectionView.TfgPullToRefreshOptions|TfgPullToRefreshOptions]]</code> | ||
+ | <p>Настройки режима обновления списка "Потяни и обнови".</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>ScrollGlowColor: [[TAlphaColor]]</code> | ||
+ | |||
+ | <p>Цвет эффекта прокручивания списка, который появляется при попытке прокрутить список за его границы.</p><div class="info">Актуально только для Андроид платформы.</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>ScrollGlowColorName: [[.TfgAssetName|TfgAssetName]]</code> | ||
+ | <span style="color:gray">Описание отсутствует.</span> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>SelectionColor: [[TAlphaColor]]</code> | ||
+ | |||
+ | <p>Общий цвет выделение элементов по умолчанию. Каждый стиль элемента может переопределить это значение через аналогичное свойство <i>TfgCollectionViewStyle.SelectionColor </i> .</p><div class="info">Если указан цвет <i>TAlphaColorRec.Null </i> , то компонент будет использовать системный цвет для выделения, который зависит от платформы и версии ОС.</div> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>SelectionColorName: [[.TfgAssetName|TfgAssetName]]</code> | ||
+ | <p>Название ресурса цвета выделения элементов в контроле.</p> | ||
+ | |- | ||
+ | | <syntaxhighlight lang="Delphi">property</syntaxhighlight> || <code>SelectionMode: [[.TfgCollectionViewSelectionMode|TfgCollectionViewSelectionMode]]</code> | ||
+ | <p>Режим выделения элементов. Всего существует три способа выделения:</p> <ul><li><b>None</b> - Элементы не поддерживают выделение.</li> <li><b>SingleSelect</b> - Только один элемент может быть выделени. При этом при попытке выделить другой элемент выделение с предыдущего сбрасывается.</li> <li><b>MultiSelect</b> - Поддерживается выделение любого количества элементов.</li></ul> | ||
|} | |} |
Версия 00:03, 13 июня 2019
Delphi
TfgCustomCollectionView = class (TfgControl, IFGXTapSupported, IFGXNotificationObserver, IFGXNotificationObservable)
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.
|
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
Режим выделения элементов. Всего существует три способа выделения:
|