Jump to content

1.14.0.0 Русский


Yaroslav Brovin

Recommended Posts

  • Administrators

Скачать:
Релиз доступен только по запросу.

Дата релиза:

10 апреля 2022


Внимание 🚨

Свойства TfgCollectionView.SelectionColor, SelectionColorName, SelectionMode перенесены в новое свойство SelectionOptions. При этом старый доступ в runtime к ним пока сохранен.

Новое

TfgGoogleSignInAuthenticationClient

Новый компонент авторизации через сервис "Google Sign in". На текущий момент реализация только для Android.

TfgCollectionView - ручное отображение выделения

Добавлена возможность ручного отображения выделения элементов по вашему усмотрению. Новое свойство TfgCollectionView.SelectionOptions.DisplayingMode позволяет указать каким способом отображать выделение:

  • Auto - обычный режим по умолчанию. Компонент берет на себя ответственность по автоматическому выделению элементов через изменение цвета заднего фона элемента.
  • Manual - ручной режим. В этом случае компонент никак не отображает выделение элементов. О необходимости выделить/сбросить элемент компонент сообщает через новое событие OnUpdateItemSelectionAppearance.

В случае ручной раскраски выделения, необходимо выполнить выделение или сброс выделения в событии OnUpdateItemSelectionAppearance. Это событие вызывается каждый раз, когда списку необходимо обновить состояние элемента. Среди аргументов события передается информация о:

  • AItem - обертка для работы с элементом.
  • IsSelected - выделен элемент или нет.
  • Initiator - Кто инициатор обновления выделения элемента. Если вы хотите добавить анимации в процесс выделения элемента, то ориентируйтесь на этот флаг. Если пользователь нажимает на элемент, то в этом параметре будет значение "User", в противном случае "Control".

Добавлен новый демонстрационный пример: "Компоненты" -> "TfgCollectionView" -> "Ручное отображение выделения".

TfgControlEnumerators

Теперь доступны два энумератора по обходу дерева компонентов с возможностью управлять обходом. Оба энумератора доступы в классе TfgControlEnumerators.

  • TfgControlEnumerators.Enum - Корень -> First..Last child
  • TfgControlEnumerators.ReverseEnum - Корень -> Last..First child

Например, обход по всем TfgEdit может выглядеть так:

TfgControlEnumerators.Enum(Form,
  procedure (const AChild: TfgControl; var AAction: TfgEnumControlsAction)
  begin
    if AChild is TfgEdit then
      TfgLog.Debug(AChild.ToString);
  end);

Помимо обычного обхода есть возможность делать контролируемый обход. Например, поиск поля ввода:

TfgControlEnumerators.Enum(Form,
  procedure (const AChild: TfgControl; var AAction: TfgEnumControlsAction)
  begin
    if AChild is TfgEdit then
    begin
      TfgLog.Debug('Edit: ' + AChild.ToString);
      AAction := TfgEnumControlsAction.Stop;
    end
    else
      AAction := TfgEnumControlsAction.Continue;
  end);

Через параметр AAction анонимной функции можно передать дальнейшее направление действие по обходу компонентов:

  • Continue - Перейти к следующему компоненту;
  • Discard - Перейти к соседнему компоненту;
  • Stop - Остановить обход.

Иконки компонентов

Добавлены иконки для всех компонентов из групп "FGX: Standard" и "FGX: Layout".

Улучшения 🙌

TfgFormManager

Переработан менеджер форм TfgFormManager. Этот класс полностью отслеживает время жизни всех форм в FGX Native. Теперь все публичные методы не учитывают встроенные формы-фреймы, как раньше.

Прочее

  • Полностью переработана логика обработки нажатий кнопок. Теперь событие нажатии кнопки передается по всем формам/фреймам, начиная от ближайшей к пользователю. Раньше, в зависимости от момента создания и встраивания формы мог нарушаться порядок обработки событий кнопок.
  • Добавлен новый демонстрационный проект показывающий пример работы с клиентами аутентификации (TfgAppleIdAuthenticationClient, TfgFacebookLoginAuthenticationClient😞 "Aутентификация" -> "Клиенты аутентификации".

Исправление ошибок 🐛

 

  • Like 4
  • Thanks 1
Link to comment
Share on other sites

Что-то у меня не проходит активация, ошибку пишет "Нет соединения с сервером активации. Code=2"

Обновление: Активация прошла, но пришлось касперского остановить

Edited by Игорь Мелентьев
  • Like 1
Link to comment
Share on other sites

Друзья, на рабочем компе с windows 10, активировал лицензию, всё окей. А на домашнем с windows 11 пишет код=2.

Антивирусов нет. Встроенный файрволл винды отключаю, толку нет. Что еще может быть?

Link to comment
Share on other sites

×
×
  • Create New...