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

Материал из FGX Native Докуметации
Перейти к навигации Перейти к поиску
(summary)
(summary)
Строка 21: Строка 21:
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(AOwner: [[TComponent]])</code>
 
| <syntaxhighlight lang="Delphi">constructor</syntaxhighlight> || <code>Create(AOwner: [[TComponent]])</code>
 
<span style="color:gray">Описание отсутствует.</span>
 
<span style="color:gray">Описание отсутствует.</span>
 +
|}
 +
 +
== Методы ==
 +
 +
{| class="wikitable sortable"
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ReloadItems()</code>
 +
 +
<p>Перезагружает элементы коллекции. Форсирует перезагрузку всех элементов списка.</p><div class="info">Потокобезопасный метод. Можно вызывать не из главного потока. Этот метод автоматически завершает процесс <i>PullToRefresh</i> , если он был запущен.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ReloadItem(const AItemIndex: [[Integer]])</code>
 +
 +
<p>Перезагружает элемент коллекции по указанному индексу.</p><div class="info">Потокобезопасный метод. Можно вызывать не из главного потока.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetItemId(const AItemIndex: [[Integer]]): [[Int64]]</code>
 +
<p>Возвращает идентификатор элемента по его порядковому индексу. Для этого использует данные, полученные в результате работы обработчика события <i>OnGetItemId</i> . По умолчанию использует порядковый иднекс элемента.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">FindItemIndexById(const AItemId: [[Int64]]; out AItemIndex: [[Integer]]): [[Boolean]]</code>
 +
 +
<p>Поиск порядкового индекса элемента по его уникальному идентификатору. Задание уникальных идентификаторо элементов осуществляется через событие <i>OnGetItemId</i> .</p><div class="info">Сложность поиска O(n). Если индекс не найден, то <i>AItemIndex</i> будет содержать -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">FindItemIndexByPoint(const APoint: [[TPointF]]; out AItemIndex: [[Integer]]): [[Boolean]]</code>
 +
 +
<p>Поиск порядкового индекса элемента по координатам точки в CollectionView, попадающая в один из видимых элементов. Работает только для видимых элементов с индексами в диапазоне <i>GetFirstVisibleItemIndex</i> и <i>GetLastVisibleItemIndex</i> . <i>APoint</i> указывается в системе координат контрола с учетом смещения прокрутки.</p><div class="info">Если индекс не найден, то <i>AItemIndex</i> будет содержать -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">FindItemIndexByObject(const AObject: [[TObject]]; out AItemIndex: [[Integer]]): [[Boolean]]</code>
 +
 +
<p>Поиск порядкового индекса элемента по объекту, который принадлежит стилю элемента (по цепочке родителей можно выйти к стилю элемента).</p><div class="info">Если индекс не найден, то <i>AItemIndex</i> будет содержать -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">FindItemWrapperByIndex(const AItemIndex: [[Integer]]; out AItemWrapper: [[FGX.CollectionView.TfgItemWrapper|TfgItemWrapper]]): [[Boolean]]</code>
 +
 +
<p>Ищет <i>TfgItemWrapper</i> для работы с контролом элемента по индексу. Если элемента по указанному индексу нет, то в <i>AItemWrapper</i> будет nil.</p><div class="info">Работает только для индексов в диапазоне <i>GetFirstVisibleItemIndex</i> и <i>GetLastVisibleItemIndex</i> . Сложность O(1).</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">FindItemControlByIndex(const AItemIndex: [[Integer]]; out AControl: [[FGX.Control.TfgControl|TfgControl]]): [[Boolean]]</code>
 +
 +
<p>Ищет контрол <i>TfgControl</i> элемента по индексу. Если элемента по указанному индексу нет, то в <i>AControl</i> будет nil.</p><div class="info">Работает только для индексов в диапазоне <i>GetFirstVisibleItemIndex</i> и <i>GetLastVisibleItemIndex</i> . Сложность O(1).</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetFirstVisibleItemIndex(): [[Integer]]</code>
 +
 +
<p>Возвращает индекс первого видимого элемента на экране.</p><div class="info">Если список пуст, то вернет -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetLastVisibleItemIndex(): [[Integer]]</code>
 +
 +
<p>Возвращает индекс последнего видимого элемента на экране.</p><div class="info">Если список пуст, то вернет -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">CreateStyle(): [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]]</code>
 +
<p>Создает новый пустой стиль с уникальным именем <i>TfgCollectionViewStyle.TfgStyleName</i> .</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">AddStyle(const AStyle: [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]])</code>
 +
<p>Добавляет стиль в список стилей контрола.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetStyle(const AStyleName: [[string]]): [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]]</code>
 +
 +
<p>Возвращает стиль по его имени.</p><div class="info">Если стиль не найден, то вернет nil.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetStyleIndex(const AStyleName: [[string]]): [[Integer]]</code>
 +
 +
<p>Возвращает индекс стиля по его имени. Первый стиль имеет индекс 0.</p><div class="info">Если стиль не найден, то вернет -1.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">function</syntaxhighlight> || <code lang="Delphi">GetStyleForItemIndex(const AItemIndex: [[Integer]]): [[FGX.CollectionView.TfgCollectionViewStyle|TfgCollectionViewStyle]]</code>
 +
 +
<p>Возвращает стиль элемента по указанному индексу элемента.</p><div class="info">Если стиль не найден, или стилей нет, то вернет nil.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ScrollToItem(const AItemIndex: [[Integer]]; const AWithAnimation: [[Boolean]])</code>
 +
<span style="color:gray">Описание отсутствует.</span>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ResetSelection()</code>
 +
<p>Сбрасывает текущее выделение всех выделенных элементов.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">ResetSelection(const AItemIndex: [[Integer]])</code>
 +
<p>Сбрасывает текущее выделение элемента с указанным индексом.</p>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">SelectItem(const AItemIndex: [[Integer]])</code>
 +
 +
<p>Выделяет элемент с указанным индексом.</p><div class="info">Работает только, если стиль элемента поддерживает выделение <i>TfgCollectionViewStyle.Selectable</i> и стоит режим выделения отличный от none <i>SelectionMode != TfgCollectionViewSelectionMode.None</i> .</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">SelectAllItems()</code>
 +
 +
<p>Выделяет все элементы списка.</p><div class="info">Работает только, если стиль элемента поддерживает выделение <i>TfgCollectionViewStyle.Selectable</i> и стоит режим выделения MultiSelect <i>SelectionMode = TfgCollectionViewSelectionMode.MultiSelect</i> .</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">BeginPullToRefresh()</code>
 +
 +
<p>Запускает программным способом процесс обновления данных с одновременным отображением индикатора загрузки. Разработчик должен выполнить/запустить процесс обновления данных и по окончании загрузки данных сообщить об этом контролу, вызвав <i>EndPullToRefresh</i> . Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных <i>ReloadItems</i> или <i>ReloadItem</i> .</p><div class="info">Если список уже находится в состоянии обновления <i>IsPullToRefreshActive = True</i> , то метод не будет запускать новый процесс обновления.</div>
 +
|-
 +
| <syntaxhighlight lang="Delphi">procedure</syntaxhighlight> || <code lang="Delphi">EndPullToRefresh()</code>
 +
 +
<p>Заканчивает процесс обновления данных, начатый пользователем. Это приводит к скрытию индикатора загрузки и загрузки данных в список. Обратите внимание, что для визуального обновления данных, разработчику так же нужно воспользовать одним из методов обновления данных <i>ReloadItems</i> или <i>ReloadItem</i> .</p><div class="info">Потокобезопасный метод. Можно вызывать не из главного потока.</div>
 
|}
 
|}

Версия 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 .

Потокобезопасный метод. Можно вызывать не из главного потока.