Jump to content

Yaroslav Brovin

Administrators
  • Posts

    2,584
  • Joined

  • Last visited

  • Days Won

    652

Posts posted by Yaroslav Brovin

  1. 5 hours ago, dervish00 said:

    1. В ручном режиме выделения по факту не работает режим SingleSelect - выделяются все плитки, по которым тапнул, не отменяя выделения у предыдущего выделения.

    Это поправил. Войдет в хотфикс.

    5 hours ago, dervish00 said:

    2. У меня одна форма/фрейм с TfgCollectionView это выбор папки файловой системы, при тапе на папку - все Items меняются на список подпапок и при ручном выделении возникает ошибка не попадания в индекс. Словами трудно объяснить  - если попробовать вложенный пример, то становится ясно. Фрейм 1 - просто список с SingleSelect, фрейм 3 - пример с папками. (Фрейм 2 можно не смотреть)

    Это тоже поправил. Это старая бага.

  2. Download:
    The distributive is available by request only.

    Release date:

    10 April 2022


    Warning 🚨

    Properties TfgCollectionView.SelectionColor, SelectionColorName and SelectionMode were moved to new SelectionOptions property. At the same time, the old runtime access to them is still preserved.

    New

    TfgGoogleSignInAuthenticationClient

    The new component TfgGoogleSignInAuthenticationClient was added. It allows to identify user via "Google Sign in" service. The component is also cross-platform. However the component is implemented only for Android platform at this moment.

    TfgCollectionView - manual selection displaying

    The manual selection displaying was added in TfgCollectionView. The new property TfgCollectionView.SelectionOptions.DisplayingMode allows to specify way for displaying selection:

    • Auto - regular mode by default. The component takes care about displaying selection via changing item's background color.
    • Manual - manual mode. The component doesn't display selection. It notifies user about displaying/resetting item's selection via new event OnUpdateItemSelectionAppearance.

    In case of manual displaying selection, you should select or reset selection appearance in the OnUpdateItemSelectionAppearance event. This event is called every time the list needs to update the state of an item. Among the arguments of the event, information about:

    • AItem - Item wrapper for working with nested controls.
    • IsSelected - Is selected item or not.
    • Initiator - Who is initiator refreshing selection appearance. If you want to add animations to the selection process of an element, then focus on this flag. This flag equlas "User" when the user changes the selection manually.

    The new demo sample was added: "Components" -> "TfgCollectionView" -> "Manual displaying selection".

    TfgControlEnumerators

    Two enumerators are now available for traversing the component tree with the ability to manage the traversal. Both enumerators are available in the TfgControlEnumerators class.

    • TfgControlEnumerators.Enum - Root -> First..Last child
    • TfgControlEnumerators.ReverseEnum - Root -> Last..First child

    For example, iterating over all `TfgEdit` might look like this:

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

    In addition to the usual bypass, it is possible to do a controlled bypass. For example, searching for an input field:

    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);

    The `AAction` parameter of an anonymous function allows specify the further direction of the component traversal action:

    • Continue - Go to next control;
    • Discard - Go to sibling component (don't go deep);
    • Stop - Stop.

    Components icons

    We have added new component icons for all components in "FGX: Standard" and "FGX: Layout" groups.

    Improvements 🙌

    TfgFormManager

    • The form manager TfgFormManager was redesigned. This class fully tracks the lifetime of all forms in FGX Native. Now all public methods do not take into account embedded form-frames, as before.
    • Added a new demo project showing an example of working with authentication clients (TfgAppleIdAuthenticationClient, TfgFacebookLoginAuthenticationClient😞 "Authentication" -> "Authentication clients".

    Other

    The key event processing logic was redesigned. Now the key event is dispatched across all forms/frames, starting from the one closest to the user. Previously, depending on the moment of creation and embedding of the form, the order of processing button events could be violated.

    Bug Fixes 🐛

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

    Дата релиза:

    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
  4. Download:
    The distributive is available by request only.

    Release date:

    17 March 2022


    New

    TfgFacebookLoginAuthenticationClient

    The new component TfgFacebookLoginAuthenticationClient was added. It allows to identify user via FacebookLogin service. The component is also cross-platform. However the component is implemented only for iOS platform at this moment.

    TfgVKLoginAuthenticationClient

    The new component TfgVKLoginAuthenticationClient was added. It allows to identify user via VKLogin service. The component is also cross-platform. However the component is implemented only for iOS platform at this moment.

    Improvements 🙌

    Now all forms are being automatically destroyed, when iOS is being terminated like in Android.

    Bug Fixes 🐛

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

    Дата релиза:

    17 марта 2022


    Новое

    TfgFacebookLoginAuthenticationClient

    Новый компонент авторизации через сервис FacebookLogin. На текущий момент реализация только для iOS.

    TfgVKLoginAuthenticationClient

    Новый компонент авторизации через сервис VKLogin. На текущий момент реализация только для iOS.

    Улучшения 🙌

    Теперь при завершении приложения на iOS, все формы автоматически уничтожаются, как и в Android.

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

    • Like 4
    • Thanks 1
  6. 1 час назад, Dmitry Sh. сказал:

    проверил на практике. FGX конфликтует со Skia4Delphi.

    1 Удалил FGX и Skia.

    2 поставил только FGX в обе среды 10.4.2 и 11.

    3. старт двух сред без ошибки

    4. поставил Skia4Delphi в 11. 

    5. старт 10.4.2 без ошибок. 11 с ошибкой.

    Мы используем skia4Delphi версии 3.0.3. Поэтому поскольку dll разделяемый ресурс, лучше использовать временно версию 3.0.3, если вы используете skia4delphi в других ваших проектах. Буквально на днях вышла версия 3.1.0, которая судя по коду нацелена на создание статической версии библиотеки. Но пока я не увидел об этом упоминаний. Так что, как только выйдет поддержка статики для Skia4Delphi мы сразу интегрируем ее и она не будет конфликтовать с библиотекой установленной пользователем.

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

    Дата релиза:

    25 февраля 2022


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

    • Исправлен сбой загрузки библиотеки на Delphi 11.
    • Улучшена обработка события OnTap для TfgButton и TfgAppleIdButton. Теперь если пользователь при нажатии пальцем на кнопку сместил палец, то нажатие все равно произойдет (iOS).
    • Улучшено качество отрисовки иконок в TfgImage и других компонентах (iOS).
    • Like 2
    • Thanks 2
  8. Download:
    The distributive is available by request only.

    Release date:

    25 February 2022


    Bug Fixes 🐛

    • Fixed library loading failure on Delphi 11.
    • The handling o OnTap event for TfgButton and TfgAppleIdButton was improved. Now, if user moves finger over the buttons, the tap event will occur (iOS).
    • The quality of rendered icons was improved for TfgImage and other components (iOS).
  9. Download:
    The distributive is available by request only.

    Release date:

    24 February 2022


    New

    TfgLottieImage

    The new component for playing Lottie animation was added Lottie.

    Improvements 🙌

    TfgCollectionView

    The actualization of items selection (removing, inserting, moving) was improved in case of usage NotifyItemsInserted, NotifyItemsRemoved and NotifyItemMoved methods. 

    Bug Fixes 🐛

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

    Дата релиза:

    24 февраля 2022


    Новое

    TfgLottieImage

    Новый компонент для проигрывания файлов анимации Lottie.

     

    Улучшения 🙌

    TfgCollectionView

    Улучшена актуализация обновления при частичных изменениях элементов (удаление, вставка, перемещение) при использовании методов: NotifyItemsInserted, NotifyItemsRemoved и NotifyItemMoved.

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

    • Like 4
  11. Hello Ronald,

    You have subscribtion for 1 year at this moment, which will end in December. Do you really want to prolongate one 1 year more...? I don't think you should worried about SWIFT at least at this moment. So I think, you can wait 🙂

     

×
×
  • Create New...