Модули, панели, дочерние панели

К настоящему моменту нами были созданы экранная форма процесса, панель с трендом, а также диалоговые окна. Просмотр результатов проводился в окне предварительного просмотра графического редактора, и этот просмотр был четким и достаточным.

Системы управления реальными установками обычно включают в себя несколько десятков или сотен экранных форм, в связи с чем в подобных проектах требуется наличие соответствующих систем навигации и управления экранными формами (панелями). В дополнение к методам открытия диалоговых окон (дочерних панелей), представленным в разделе «Создание экранных форм», в данном разделе более подробно представлены принципы работы с экранными формами (панелями).

«КАСКАД Цифра» поддерживает одновременную работу нескольких интерфейсов пользователя на сервере. При этом неважно, запущены ли эти менеджеры интерфейса пользователя на одном компьютере (например, сервере) или разных нескольких. Как правило, интерфейс пользователя настраивается отдельно на каждом компьютере.

Каждый интерфейс пользователя может использоваться для вывода одного или нескольких модулей визуализации. Таким образом, для операционной системы каждый такой модуль всегда представляет собой отдельное окно программы.

Рисунок: вывод данных о процессе в нескольких модулях в рамках одного менеджера интерфейса пользователя

Так называемая корневая панель открывается в каждом модуле Это может быть либо образ процесса, как уже созданная панель «process.pnl», либо интерфейс пользователя со встроенными в корневую панель модулями. При этом панели, открываемые в данных модулях, будут являться корневыми панелями.

Кроме этого, из модуля можно открыть другой модуль в независимом окне. При закрытии родительского модуля (из которого был запущен другой модуль) дочерний (новый) модуль не закрывается.

ПРИМЕЧАНИЕ

Подобный подход может применяться для отображения нескольких независящих друг от друга областей визуализации. Например, на компьютере с двумя мониторами на левом мониторе может постоянно отображаться экранная форма процесса, а на правом – панель алармов. При этом будет использоваться только один менеджер интерфейса пользователя.

ПРИМЕЧАНИЕ

Без дополнительных настроек в окне модуля по умолчанию всегда присутствует панель инструментов и меню. Однако из соображений безопасности в большинстве случаев данные элементы скрываются, а для навигации пользователю предоставляются только специально создаваемые на панели органы управления.

Рисунок: применение иерархи панелей и встроенных модулей в учебном проекте

Новые окна могут открываться каждой из корневых панелей как дочерние панели. Дочерняя панель относится к той корневой панели, из которой она была открыта. При закрытии корневой панели соответствующие дочерние панели закрываются автоматически. (поскольку отображение, например, панели управления клапаном «V3» имеет смысл только тогда, когда на экране отображается собственно клапан «V3», т.е. когда открыта экранная форма (панель) с клапаном «V3»).

Дочерние панели и модули можно открывать различными способами в зависимости от конкретной задачи.

Поведение во время выполнения программы / расположениеМодуль / корневая панельДочерняя панель
Центрирование относительно области экранаX
Центрирование относительно родительской панелиX
Произвольное расположение по вертикали и по горизонтали относительно области экранаX
Произвольное расположение по вертикали и по горизонтали относительно родительской панелиX
Произвольное расположение по вертикали и по горизонтали относительно точки вызова (например, всегда справа над символом устройства).X
Всегда поверх других окон (stayOnTop())X
Всегда поверх других окон собственного модуляX
Вызов из корневой панелиXX
Вызов из дочерней панелиXX
Непосредственный возврат значений в родительскую панель (диалоговые окна)X

ПРИМЕЧАНИЕ

Визуально разница между корневыми панелями и дочерними панелями незаметна, однако их поведение во время выполнения программы существенно различается.

ПРИМЕЧАНИЕ

В большинстве случаев для открытия дочерних панелей (например, в качестве диалоговых окон) или модулей с собственными корневыми панелями достаточным является использование мастера свойств. При этом при дополнительном использовании иерархии панелей может быть обеспечен весьма функциональный пользовательский интерфейс. Наибольшая гибкость при управлении модулями, панелями и дочерними панелями обеспечивается при применении языка сценариев Control. Более подробная информация представлена в разделах «Управление модулями, панелями и дочерними панелями» или «Функции для работы с панелями«.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *