VisCheckBox Описание класса

VisCheckBox (флажок) предназначен для установки и отображения одного из двух (0/1) значения тега (переменной).


Флажки позволяют определить дополнительные параметры в логике работы программы.

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

Каждый компонент VisCheckBox должен быть связан с одним из набора тегов EqVarSet.

Если перед изменением значения тега необходимо проверить права оператора, и/или задать допольнительный вопрос, и/или сохранить соответствующее сообщение, то необходимо воспользоватся контроллером действий.

Родительский класс:  VisBase

Объект данного класса должен быть частью (дочерним объектом) одного из потомков VisContainer.

Свойства объекта


Описание свойств

text

Подпись рядом с флажком.

pos

Положение флажка.

size

Размер флажка.

font

Стиль шрифта.

script

Периодически исполняемый скрипт.

Скрипт - периодически вызываемая подпрограмма, позволяющая изменять информацию и внешний вид флажка.

eqVarSet

Ссылка на набор тегов.

Данное свойство должно содержать ссылку на набор тегов (EqVarSet).
Набор тегов и индекс varIndex определяют тег, управлять которым и отображать его текущее состояние будет флажок.
Кроме того набор тегов может использовать в процессе выполнения скрипта для получения значений других тегов. Доступ к значениям тегов осуществляется по индексу тега в наборе. Например, для получения значения первого (индекс = 0) тега необходимо использовать выражение obj.getVar(0).

varIndex

Индекс тега.

Свойство определяет индекс (место в списке) тега. Перый в списке тег имеет индекс = 0.

controller

Контроллер действий пользователя.

ctrlInfo

Дополнительная информация для контроллера.


Использование скрипта


cbx - QCheckBox.

Можно использовать все "public slots" объекта.

obj - собственно этот компонент (VisCheckBox).


Пример:

В зависимости от значения тега с индексом 1, текущий флажок будет (не)доступен для редактирования.

state = obj.getVar(1);

cbx.setEnabled(state);
 

Использование контроллера

Если перед изменением значения тега необходимо проверить права оператора, и/или задать допольнительный вопрос, и/или сохранить соответствующее сообщение, то необходимо использовать один из контроллеров действий пользователя.

О контроллерах см. "Контроллер действий пользователя".

Флажок использует контроллер в режиме "проверить права - задать вопрос - сохранить сообщение - действие".

Флажок предоставляет контроллеру следующие данные:
  1. Тип сообщения.
  2. Объект сообщения.
  3. Текст сообщения.
  4. Вопрос для подтверждения действия.
Есть два варианта формирования этих данных - простой и расширенный.

Простой вариант.

Контроллеру передаются только объект сообщения (указывается в свойстве ctrlInfo без использования символа ";". Текст сообщения будет "0" или "1", в зависимости от нового состояния флажка.

Тип сообщения и вопрос остаются не определёнными (на "усмотрение" контроллера).

Расширенный вариант.

Если в свойстве ctrlInfo используется символ ";" хотя бы один раз, то используется данный вариант.

Данные задаются в следующем порядке: "тип;объект;текст0;текст1;вопрос0;вопрос1".
Любое из полей может быть не определено, тогда будут использованные значения "по умолчанию".

Внимание! Пробел является допустимым значением.

.