Свойства и события панели

Редактор свойств

При открытии панели открывается редактор свойств панели. Редактор свойств позволяет изменять свойства панели.

На рисунке ниже показана вкладка редактора свойств «Стандартные».

Рисунок: Редактор свойств, свойства панели

В таблице ниже приведен перечень свойств панелей с описанием свойств.

Свойство в редакторе свойств (на русском и английском языках)Описание
Имя / NameИмя панели является уникальным именем, которое идентифицирует панель и отображается в заголовке окна после сохранения панели. Задание имен панелей необходимо для обеспечения адресации панелей в сценариях.
Имя типа / TypenameИмя типа и имя панели могут использоваться для более детального определения селекторов в «таблицах стилей«. Имеется возможность чтения/задания имени типа во время выполнения программы при помощи функций setValue/getValue (например, setValue(myModuleName() + «.» + myPanelName() + «:», «type», «paneltype1» );).ПримечаниеВ том случае, если свойство «type» (Имя типа) изменяется во время выполнения программы, то следует повторно применить свойство «styleSheet» (Таблица стилей) (см. «setApplicationProperty()«).В имени типа допускается использовать только символы ASCII.
Реперная точка X, реперная точка Y / RefPoin X, RefPoint YПоложение панели задается при помощи координат. При этом важное значение имеет факт использования панели в качестве источника в другой панели (см. раздел «Свойства панелей-ссылок и переопределение«).
Размер X, Y / Size X, YВысота и ширина панели (в пикселях).ПримечаниеНесмотря на то, что при использовании Qt5 максимально возможный размер панели составляет 16777215 х 16777215 пикселей (QSize(16777215, 16777215)) , не рекомендуется превышать размер 32000 x 32000 пикселей, поскольку только в таком случае каждый пиксель будет отображаться корректно. Не рекомендуется также создавать панели крупного размера, если используется графическая карта невысокой производительности. В системе Windows это может привести к достаточно высокому расходу ресурсов GDI. В этой связи вместо одной большой панели рекомендуется создавать несколько небольших панелей.
Нижнее/Левое/Правое/Верхнее поле компоновки / Layout Bottom/Left/ Right/Top MarginОпределяет интервал между компоновкой и границами панели.
Интервал между компоновками / Layout SpacingОпределяет интервал между компоновками.
Тип компоновкиОбеспечивает управление компоновкой и определяет тип компоновки. Существуют два различных типа:HBox (Горизонтально)VBox (Вертикально)Детальная информация приведена в разделе «Управление компоновкой«.
Активные слои / Active layerОтображает видимые слои.При щелчке по данному полю открывается окно настройки слоев (см. также «Окно настройки слоев«).
Хранить в памяти / Keep in memoryПанель хранится в кэше (быстродействующей буферной памяти).Свойство «Хранить в памяти» позволяет разрешать или запрещать хранение панели в кэше. Панель сохраняется в кэше по умолчанию. Для снижения объема используемой памяти для свойства может быть задано значение «False» (ложь).ПримечаниеВ том случае, если значение свойства панели «Хранить в памяти» равно «True», и в данной панели используются и изменяются ссылки, то для визуального отображения изменений необходимо перезапустить интерфейс пользователя.
Только перерисовка при изм.языка / LangChange redraw onlyОпределяет поведение панели при изменении языка интерфейса.TRUE: При изменении языка выполняется «перерисовка» всех статических текстов на панелях и формируется событие «LangChanged». Данную настройку целесообразно использовать для новых панелей, у которых в сценариях по событию «Initialize» (инициализация) отсутствует предустановка текстов.FALSE: только перерисовка. Дополнительно закрываются все дочерние панели, останавливаются сценарии CTRL (включая сценарий для функции «switchLang()»), после чего выполняются все сценарии событий «Initialize». Данная настройка установлена по умолчанию и должна использоваться в «старых» панелях, в которых тексты объектов задаются при инициализации.
Фон панели / Panel BackgroundЦвет фона или фоновое изображение панели.Имеется возможность создания панелей, имеющих цветной фон (открывается панель выбора цвета) или фоновое изображение. Изображения фона должны располагаться в директории «../pictures». Данные изображения могут использоваться одновременно в различных панелях и различными пользователями.ПримечаниеКоэффициенты масштабирования одного и того же фонового изображения могут различаться для кнопок и других объектов.
Файл настройки ссылок / Reference fileДля настройки $-параметров при добавлении панелей-ссылок кроме стандартных панелей настройки $-параметров могут использоваться собственные панели. Панель подключается в качестве панели настройки путем ввода имени панели в поле свойства «Файл настройки ссылок» панели-источника, например, «para/ refpanel.pnl» или (в директории установки системы «КАСКАД Цифра»): objects_parampanels/STD_ACTIVEX/CircularAnalog_para.pnl.
Выбор в режиме выполнения / Runtime selectionПо умолчанию свойству «Выбор в режиме выполнения» присвоено значение False (выключено). Свойство позволяет разрешать / запрещать выбор простых графических объектов в модуле VISION. Более подробная информация приведена в разделе «Множественный выбор во время выполнения«.
Посылать нажатие мыши / Send MouseclickПри щелчке кнопкой мыши, в том случае, если значение свойства «Посылать нажатие мыши» равно «True», элементам точки данных соответствующего менеджера интерфейса пользователя будут отправлены координаты X и Y положения курсора мыши на панели. Кроме координат X и Y в точке данных также сохраняются сведения о соответствующем модуле и о панели. Таким образом, например, имеется возможность опросить координаты последнего щелчка мыши.Значение по умолчанию: «False».
Запуск Init-сценария в панели-ссылке / Start Init-Script in RefРазрешает запуск сценария для «EventInitialize» (событие инициализации) панели-ссылки.В случае использования панели в качестве ссылки разрешает запуск сценариев для событий «Initialize» (инициализация) и «Terminate» (прекращение работы). Значение по умолчанию: «True» (включено).
Запуск Init-сценариев объектов / startInitScriptModeРежим запуска сценариев.Свойство «Запуск Init-сценариев объектов» оказывает влияние на все графические объекты данной панели. В случае использования ссылок в панели, характер запуска графических объектов в пределах ссылки определяется свойством «Запуск Init-сценариев объектов» ссылки.All Objects (Все объекты): (значение по умолчанию): при открытии панели запускаются все сценарии «Initialize». При этом местоположение объекта (в пределах экрана / на видимом слое) не учитывается.Visible Objects (Видимые объекты):При открытии панели выполняются только сценарии объектов, расположенных в пределах экрана и на видимом слое.Построение других областей панели с объектами выполняется в режиме выполнения программы по мере прокрутки панели влево, вправо, вверх или вниз. Построение областей выполняется с учетом настроек адаптивной детализации для различных слоев.Сценарии «Initialize», заданные для различных объектов, выполняются для объектов при их нахождении на видимом слое и при попадании в пределы экрана.См. также раздел: «Адаптивная детализация панелей«.В случае ссылок система также выполняет сценарии графических объектов, которые являются невидимыми.То есть, если для ссылки «Запуск Init-сценариев объектов» = «All Objects», и для основной панели «Запуск Init-сценариев объектов» = «Visible Objects», то система выполняет сценарии всех видимых ссылок. В пределах ссылок система также выполняет сценарии объектов, которые невидимы.Более наглядно поведение системы представлено в следующей таблице:ПанельСсылкаЗапускVisible Objects (Видимые объекты)Visible Objects (Видимые объекты)Выполняются сценарии графических объектов, которые видимы, по крайней мере, частично.All Objects (Все объекты)Visible Objects (Видимые объекты)Выполняются сценарии графических объектов, которые видимы, по крайней мере, частично.Visible Objects (Видимые объекты)All Objects (Все объекты)Выполняются все сценарии графических объектов, если ссылка видна полностью.All Objects (Все объекты)All Objects (Все объекты)Выполняются все сценарии графических объектов независимо от видимости.
Начальный коэф.масштабирования / Start ZoomfactorКоэффициент масштабирования, который будет использоваться при открытии панели.
Позиция открытия панели / ZoomPoint X, YПоложение панели по оси X при открытии панели.Положение панели по оси Y при открытии панели.
Значок окна / Window IconПозволяет задать значок, который будет отображаться слева в строке заголовка панели во время выполнения программы. В поле необходимо указать имя значка, например, myIcon.jpg.Значок должен находиться в директории «/pictures». В том случае, если значение данного свойства не задано, то отображается значок по умолчанию.

ВНИМАНИЕ

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

ЗначокПРИМЕЧАНИЕ

В том случае, если значение свойства панели «Хранить в памяти» равно «True», и в данной панели используются и изменяются ссылки, то для визуального отображения изменений необходимо перезапустить интерфейс пользователя.  

События

Для панели поддерживаются следующие события:

СобытиеДействие
InitializeПри открытии панели.
ClickedЩелчок левой кнопкой мыши.
CloseИмеется возможность настройки сценария CTRL (например, для сохранения пользовательских данных), который будет запускаться при щелчке по значку «х» в заголовке окна (справа вверху) или при использовании элемента меню «Закрыть окно» меню «Модуль». При этом сценарий будет выполнен, но ни панель, ни модуль не будут закрыты. Для закрытия панели и модуля, в сценарии «Close» необходимо использовать функцию PanelOff(«PanelName»). Событие «Close» может быть использовано для предотвращения случайного закрытия модуля, например, путем открытия дочерней панели с диалоговым окном подтверждения действия.  
DoubleClickedДвойной щелчок левой кнопкой мыши.
DragDropДанное событие наступает при сбросе информации пользователем на панель в случае, если ранее панель передала системе при помощи функции dropAccept() сообщение о готовности приема перетаскиваемой информации. Передаваемые аргументы совпадают с аргументами события DragEnter. См. ниже.
DragEnterДанное событие наступает только в том случае, если панель готова принять перетаскиваемую информацию и не была отключена (disabled).  Решение о готовности принять перетаскиваемую информацию принимается панелью. В случае готовности панель должна вызвать функцию CTRL:  int dropAccept(bool accept = true)Более подробная информация приведена в разделе «Перетаскивание во время выполнения программы«.
GestureTriggeredСобытие вызывается жестом скольжения (swipe) (движение одним пальцем). Событие наступает только в том случае, если размер панели не превышает области отображения модуля (отсутствуют полосы прокрутки, панель видна полностью). В противном случае жест скольжения вызывает панорамирование (но не приводит к запуску сценария).Данное событие может также использоваться во встроенном модуле. При использовании и события встроенного модуля, и события панели, событие встроенного модуля вызывается при жесте скольжения по встроенному модулю. При жесте скольжения вне области встроенного модуля вызывается событие панели. В случае, если встроенный модуль содержит панель, в которой используется событие «GestureTriggered», вызываются оба события (и встроенного модуля, и панели в модуле).В сценарии используются следующие аргументы:main(string type, mapping data)type = «swipe»Данные включают в себя следующие пары ключей/значений:»angle»/float … направление движения пальца»horizontal»/string … одно из значений «right», «left», «none»»vertical»/string … одно из значений «up», «down», «none»Две вышеуказанные пары определяются в результате внутренних вычислений на основании угла. Например, при движении вправо и слегка вверх значение «horizontal» будет равно «right», однако значение «vertical» будет равно «none».»startPos»/dyn_int … координаты x,y начальной точки в системе координат панели (без масштабирования)»endPos»/dyn_int … координаты x,y конечной точки в системе координат панели (без масштабирования)
LangChangedСобытие наступает при изменении языка во время выполнения программы.
RightMousePressedНажатие правой кнопкой мыши.
ScopeLibВ данном сценарии редактора свойств указываются функции и (глобальные для сценариев) переменные, которые используются всеми объектами панели (за исключением панелей-ссылок). Глобальные переменные панели существуют только в одном экземпляре и доступны всем сценариями.
TerminateПанель немедленно закрывается при прекращении работы панели при помощи функции panelOff() или при нажатии кнопки «Закрыть». Имеется возможность выполнения только последней функций «dpSet()», например, для разблокировки.Вызов функции «LogoutDialog()» вызывает событие «Terminate».
ZoomСобытие наступает при масштабировании. Использование «Zoom» недоступно для панелей, поставляемых в составе системы. В том случае, если сценарий не был задан, то выполняется функция «Panel_OnZoomed» из библиотеки «libs/panel.ctl» (только при наличии имени панели).  
Синтаксис: main (string moduleName, string panelName).

ПРИМЕЧАНИЕ

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

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

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