README.MD


Русский:
**Инструментарий: **
**IDE: ** Delphi 11.3
Фреймворк: ** unigui 1.95.0.1581

Обычный демо проект управления окнами в ExtJS (SenchaJS) на базе Unigui *
Вы можете переиспользовать ExtJS код(обработчик «CreateMinimizedListener») в MinPage.Base.Form.pas для реализации листенеров для управления состоянием окна в любом проекте ExtJS.

В MainModule.pas:
Реализован record для управления положением минифицированных окон, через него можно выполнить настройку ограничений. Record RWinMinimize
В обработчике «UniGUIMainModuleCreate» mainmodule – выполнена «базовая настройка» расположения окон. (снабжено комментариями в коде)
Процедура «RebuildMinimizeAligmentProcCode» выполняет генерацию JS кода для управления минимизацией и структурирования окон.
Существуют типы минимизации (положения минимизации):
TTypeMinPos = (tl, tr, bl, br);
1. tl - слева-сверху
2. tr – справа-сверху
3. bl- слева-снизу
4. br- справа снизу
Они задаются в обработчике
procedure TUniMainModule.UniGUIMainModuleCreate(Sender: TObject);
(пример)


Форма “минимизации” MinPage.Base.Form.pas:
Форма содержит основной действующий механизм JS для выполнения операций с окнами (ExtJS).
Обработчик “ExchangeFrame” – переносит фрейм с основной формы на отдельное окно
Обработчик “CreateMinimizedListener” - добавляет все необходимые JSListener
На UniFormAfterShow – удалено событие move, т.к отслеживается unigui и посылает большое кол-во ajaxRequest.
Свойства:
IsMinimizedWin – позовляет контролировать текущее состояния окна на backend
TargetFrame – содержит указатель на обрабатываемый фрейм
ParentPageControl – содержит указатель на родительский PageControl
Событие:
onDestrEvent – уведомляет об уничтожении формы
Основная форма Main.pas:
Снабжена листенером для отлова событий использования контекстного меню для элемента PageControl
На главной форме находится лист счётчик открытых форм из PageControl через контекстное меню:
* FFormList: Tlist;
На обработчик, UniFormAjaxEvent происходит вызов перестроения минифицированного списка свернутых окон.
Процедура DestroyAllForm – выполняет уничтожение всех открытых окон и очистку листа FFormList. При уничтожении окон все фреймы вновь отображаются в PageControl
N1PMMenuClick – обработчик открытия фрейма в новом окне.

Ссылки:
Форум unigui: http://forums.unigui.com/index.php?/topic/32356-unipagecontrol-popup-open-frame-new-window-demo-minimize-demo-project-request-to-the-fmsoft-team/
Видео-демонстрация: https://cloud.mail.ru/public/PhBp/BQxNKfMZd


English:
Toolkit:
IDE: Delphi 11.3
**Unigui framework: ** 1.95.0.1581

*The usual demo window management project in ExtJS (SenchaJS) based on Unigui *
You can reuse the ExtJS code(the “CreateMinimizedListener” handler) in MinPage.Base.Form.pas to implement listeners for window state management in any ExtJS project.

In MainModule.pas:
Record is implemented to control the position of the minified windows, through which you can configure restrictions. Record RWinMinimize
In the “UniGUIMainModuleCreate” mainmodule handler, the “basic configuration” of the window layout has been performed. (provided with comments in the code)
The procedure “RebuildMinimizeAligmentProcCode” generates JS code to control the minimization and structuring of windows.
There are types of minimization (minimization positions):
TTypeMinPos = (tl, tr, bl, br);
1. tl - left-top
2. tr – right-top
3. bl- left-bottom
4. br- bottom right
They are set in the handler
procedure TUniMainModule.UniGUIMainModuleCreate(Sender: TObject);
(example)

Minification form MinPage.Base.Form.pas:
The form contains the main operating JS mechanism for performing window operations (ExtJS).
The “ExchangeFrame” handler – transfers the frame from the main form to a separate window
The “CreateMinimizedListener" handler adds all the necessary JSListener
On UniFormAfterShow, the move event was deleted, because unigui is monitored and sends a large number of ajaxrequests.
Features:
IsMinimizedWin – allows you to monitor the current state of the window on the backend
targetFrame – contains a pointer to the frame being processed
ParentPageControl – contains a pointer to the parent PageControl
Event:
onDestrEvent – notifies about the destruction of the form
The main form of Main.pas:
It is equipped with a listener for catching events using the context menu for the PageControl element
On the main form there is a counter sheet for open forms from PageControl via the context menu:
FFormList: Tlist;
On the handler, UniFormAjaxEvent, a call is made to rebuild the minified list of minimized windows.
The DestroyAllForm procedure – destroys all open windows and clears the FFormList sheet. When windows are destroyed, all frames are displayed again in PageControl
N1PMMenuClick is a handler for opening a frame in a new window.

Links:
Unigui Forum: http://forums.unigui.com/index.php?/topic/32356-unipagecontrol-popup-open-frame-new-window-demo-minimize-demo-project-request-to-the-fmsoft-team/
Video demonstration: https://cloud.mail.ru/public/PhBp/BQxNKfMZd

Описание

Демо проект минимизация форм и управления формами в Unigui (ExtJS)

Конвейеры
0 успешных
0 с ошибкой