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);
Использование
контроллера
Если перед изменением значения тега необходимо проверить права оператора,
и/или задать допольнительный вопрос, и/или сохранить соответствующее
сообщение, то необходимо использовать один из контроллеров действий
пользователя.
О контроллерах см. "Контроллер действий
пользователя".
Флажок использует контроллер в режиме "проверить права - задать вопрос -
сохранить сообщение - действие".
Флажок предоставляет контроллеру следующие данные:
- Тип сообщения.
- Объект сообщения.
- Текст сообщения.
- Вопрос для подтверждения действия.
Есть два варианта формирования этих данных - простой и расширенный.
Простой вариант.
Контроллеру передаются только объект сообщения (указывается в свойстве ctrlInfo
без использования символа ";". Текст сообщения будет "0" или "1", в
зависимости от нового состояния флажка.
Тип сообщения и вопрос остаются не определёнными (на "усмотрение"
контроллера).
Расширенный вариант.
Если в свойстве ctrlInfo используется символ ";"
хотя бы один раз, то используется данный вариант.
Данные задаются в следующем порядке:
"тип;объект;текст0;текст1;вопрос0;вопрос1".
- тип - тип сообщения (например, "Измениение режима работы")
- объект - объект сохранивший сообщение (например, "Маршрут №2. Бункер
1")
- текст0 - текст сообщения при неактивном новом состоянии флажка
(например, "Выключен")
- текст1 - текст сообщения при активном новом состоянии флажка
(например, "Включен")
- вопрос0 - вопрос задаваемый пользователю перед переходом в неактивное
состоянии (например, "Выключить?")
- вопрос1 - вопрос задаваемый пользователю перед переходом в активное
состоянии (например, "Включить?")
Любое из полей может быть не определено, тогда будут использованные значения
"по умолчанию".
Внимание! Пробел является допустимым значением.
.