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