VisRadioButton Описание класса
Переключатель (VisRadioButton) предназначен для
активации одного тега из групы. То есть он необходим когда у нас есть
группа тегов, и только один из них должен быть активным (равен единице),
при этом остальные теги должны быть обнулены.

Перключатель позволяет определить дополнительные параметры в логике
работы программы.
Для примера, на рисунке показанн набор переключателей позволяющий
выбрать один из бункеров.
Каждый компонент VisRadioButton должен быть связан с
одним из тегов EqVarSet.
Если перед изменением значения тега необходимо проверить права оператора,
и/или задать допольнительный вопрос, и/или сохранить соответствующее
сообщение, то необходимо воспользоватся контроллером
действий.
Родительский класс: VisBase
Объект данного класса должен быть частью (дочерним объектом) одного из
потомков VisContainer.
Свойства
объекта
Описание
свойств
text
Подпись рядом с переключателем.
pos
Положение переключателя.
size
Размер переключателя.
font
Стиль шрифта.
script
Периодически исполняемый скрипт.
Скрипт - периодически вызываемая подпрограмма, позволяющая изменять
информацию и внешний вид переключателя.
eqVarSet
Ссылка на набор тегов.
Данное свойство должно содержать ссылку на набор тегов (EqVarSet).
Набор тегов и индекс varIndex определяют тег, управлять которым будет
переключатель.
Кроме того набор тегов может использовать в процессе выполнения скрипта для
получения значений других тегов. Доступ к значениям тегов осуществляется по
индексу тега в наборе. Например, для получения значения первого (индекс = 0)
тега необходимо использовать выражение obj.getVar(0).
varIndex
Индекс тега.
Свойство определяет индекс (место в списке) тега. Перый в списке тег имеет
индекс = 0.
controller
Контроллер действий пользователя.
ctrlInfo
Дополнительная информация для контроллера.
rbtn - QRadioButton.
Можно использовать все "public slots" объекта.
obj - собственно этот компонент (VisRadioButton).
Пример:
В зависимости от значения тега с индексом 1, текущий переключатель будет
(не)доступен для редактирования.
state = obj.getVar(1);
rbtn.setEnabled(state);
Использование
контроллера
Если перед изменением значения тега необходимо проверить права оператора,
и/или задать допольнительный вопрос, и/или сохранить соответствующее
сообщение, то необходимо использовать один из контроллеров действий
пользователя.
О контроллерах см. "Контроллер действий
пользователя".
Список использует контроллер в режиме "проверить права - задать вопрос -
сохранить сообщение - действие".
Переключатель предоставляет контроллеру следующие данные:
- Тип сообщения.
- Объект сообщения.
- Текст сообщения.
- Вопрос для подтверждения действия.
Есть два варианта формирования этих данных - простой и расширенный.
Простой вариант.
Контроллеру передаются только объект сообщения (указывается в свойстве ctrlInfo
без использования символа ";"). Текст сообщения будет - "Вкл".
Тип сообщения и вопрос остаются не определёнными (на "усмотрение"
контроллера).
Расширенный вариант.
Если в свойстве ctrlInfo используется символ ";"
хотя бы один раз, то используется данный вариант.
Данные задаются в следующем порядке: "тип;объект;текст;вопрос".
- тип - тип сообщения (например, "Измениение режима работы")
- объект - объект сохранивший сообщение (например, "Бункер назначения")
- текст - текст сообщения (например, "Включен")
- вопрос - вопрос задаваемый пользователю перед изменнием (например,
"Переключить на другой бункер?")
Любое из полей может быть не определено, тогда будут использованные
значения "по умолчанию".
Например, для значение ";Бункер назначения;"Включен";Переключить на
другой бункер?":
- тип сообщения будет определяться контроллером, так как здесь не
указан.
- объект - Бункер назначения
- текст - "Включен"
- будет задан вопрос: "Переключить на другой бункер?"
Внимание! Пробел является допустимым значением.
.