Предоставляет Qt GUI пускатель. Qt-пускатель является единственным и обязательным компонентом для всех GUI модулей, основанных на библиотеке Qt.
Лицензия:
GPL
Введение
Модуль <QTStarter> предоставляет в систему OpenSCADA пускатель Qt GUI модулей. Отдельный модуль для запуска Qt GUI модулей понадобился по причине необходимости организации однопоточного исполнения всех компонентов и централизованной инициализации главного объекта Qt-библиотеки — QApplication.
Для запуска Qt GUI модулей используется расширенный интерфейс вызова функций модулей. Данный интерфейс подразумевает экспортирование функций внешними модулями. В нашем случае Qt GUI модули должны экспортировать следующие функции:
QIcon icon(); — Передаёт объект иконки вызываемого модуля.
QMainWindow *openWindow(); — Создаёт объект главного окна данного Qt GUI модуля и передаёт его пускателю. Может возвращать NULL в случае невозможности создания нового окна.
Для идентификации Qt GUI модуль должен определять информационный элемент модуля "SubType" как "Qt". Исходя из этого признака, "Стартер" с ним работает.
После получения объекта главного окна "Стартер" добавляет свою панель управления и пункт меню в это окно и запускает его. Панель управления Стартера содержит иконки для вызова всех доступных Qt GUI модулей. Для исключения добавления панели управления или пункта меню модуль, содержащий окно, может указать свойства "QTStarterToolDis" или "QTStarterMenuDis" соответственно.
Для указания Qt GUI модулей, запускаемых при старте, модуль стартера содержит конфигурационное поле StartMod. В данном поле записываются идентификаторы запускаемых модулей через ';'. Конфигурационное поле StartMod можно описать в конфигурационном файле, а также в системной таблице БД через диалог конфигурации модуля (рис.1).
Рис.1. Страница конфигурации модуля.
В случае закрытия окон всех Qt GUI модулей "Стартер" создаёт своё диалоговое окно, которое предлагает выбрать доступные Qt GUI модули или завершить работу системы OpenSCADA. Вид диалогового окна приведен на рис.2.
Рис.2. Диалоговое окно "Стартера".
Модулем осуществляется отключение функции запуска программы после её закрытия при выходе.