FGX.CollectionView.TfgCustomCollectionView: различия между версиями

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
Строка 108: Строка 108:
  
 
<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:39, 13 июня 2019

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.
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

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

  • None - Элементы не поддерживают выделение.
  • SingleSelect - Только один элемент может быть выделени. При этом при попытке выделить другой элемент выделение с предыдущего сбрасывается.
  • MultiSelect - Поддерживается выделение любого количества элементов.