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);
 

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

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

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

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

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

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

Контроллеру передаются только объект сообщения (указывается в свойстве ctrlInfo без использования символа ";"). Текст сообщения будет - "Вкл".

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

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

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

Данные задаются в следующем порядке: "тип;объект;текст;вопрос".

Любое из полей может быть не определено, тогда будут использованные значения "по умолчанию".

Например, для значение ";Бункер назначения;"Включен";Переключить на другой бункер?":


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

.