Перейти к содержанию

Модуль графического интерфейса

Материал из Химсофт Вики

Модуль предназначен для создания и вызова разного рода диалоговых окон. Модуль построен на основе библиотеки Qt.

Типы текстовых полей InputType

InputType.STRING - строковое поле ввода;

InputType.DATE - поле для ввода даты;

InputType.TIME - поле для ввода времени;

InputType.DATE_TIME - поле для ввода даты и времени;

InputType.DOUBLE - поле для ввода вещественного числа;

InputType.BOOLEAN - поле для ввода логического значения;

InputType.INT - поле для ввода целочисленного значения.

Цвета текстовых полей ChemicColors

ChemicColors.INPUT_REQUIRED - поле ввода, обязательное для заполнения (желтое).

Класс InputDialog

Класс предназначенный для конструирования произвольных диалогов ввода информации.

makeInput()

Создание однострочного поля ввода с указанным типом.

type: InputType - тип поля ввода;

return: InputElement - созданный элемент ввода.

makeInput(type: InputType): InputElement;

makeCombo()

Создание поля ввода в виде выпадающего списка.

return: InputCombo - созданный элемент выпадающего списка.

makeCombo(): InputCombo;

setTitle()

Установка заголовка окна диалога.

title: string - заголовок окна.

setTitle(title: string): void;

setBackground()

Установка цвета фона диалога.

color: string HEX - код цвета или его название.

setBackground(color: string): void;

setMinimumWidth()

Установка минимальной ширина диалога.

width: number - ширина в пикселях.

setMinimumWidth(width: number): void;

setMinimumHeight()

Установка минимальной высоты диалога.

height: number - высота в пикселях.

setMinimumHeight(height: number): void;

on()

Установка обработчика события.

event: string - имя события;

handler: function - функция, вызываемая для обработки события.

on(event: 'confirm', handler: () => boolean): void;

show()

Вызывает сформированный диалог и возвращает результат.

return: boolean - результат действий пользователя (true - если пользователь нажал ОК, false - в любой другой ситуации).

show(): boolean;

Класс InputElement

label

Наименование поля, отображается слева.

label: string;

isReadOnly

Флаг - поле только для чтения.

isReadOnly: boolean;

value

Текущее значение поля ввода.

value: null | number | boolean | string | Date;

on()

Установка обработчика события.

event: string - имя события;

handler: function - функция, вызываемая для обработки события.

on(event: 'change', handler: (value: null | number | boolean | string | Date) => void): void;

setBackground()

Установка цвета фона элемента ввода.

color: string - HEX код цвета или его название.

setBackground(color: string): void;

Класс InputCombo

Нужен для: наследует InputElement.

selectedIndex

Порядковый номер выбранного элемента из выпадающего списка

selectedIndex: number | null

addValues()

Добавление элементов в выпадающий список

values: Array<number | boolean | string | Date> Массив элементов (элементы преобразуются в строку после установки)

addValues(values: Array<number | boolean | string | Date>): void;

clear()

Очистка содержимого выпадающего списка

clear(): void;

Функция openFile()

Выводит диалог выбора файла (единичного) для открытия

defaultDirectory: string | null Директория по умолчанию

filters: string Фильтры для списка файлов

Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)

return: string | null Путь к выбранному файлу

function openFile(defaultDirectory: string | null, filters?: string): string | null;

Функция openFiles()

Выводит диалог выбора файлов для открытия

defaultDirectory: string | null Директория по умолчанию

filters: string Фильтры для списка файлов

Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)

return: string[] | null Путь к выбранному файлу

function openFiles(defaultDirectory: string | null, filters?: string): string[] | null;

Функция saveFile()

Выводит диалог выбора пути к сохраняемому файлу

defaultDirectory: string | null Директория по умолчанию

filters: string Фильтры для списка файлов

Пример: Изображения (*.png *.xpm *.jpg);;Текстовые файлы (*.txt)

return: string[] | null Путь к сохраняемому файлу

function saveFile(defaultDirectory: string | null, filters?: string): string | null;

Функция showPopup()

Выводит всплывающее уведомление в нижней правой части экрана

content: any Данные для вывода во всплывающем сообщении

options: PopupOptions Параметры всплывающего сообщения

function showPopup(content: any, options?: PopupOptions): void;

Параметры для всплывающих окон

interface PopupOptions {
  isAutoHide: boolean; // Скрывать ли окно автоматически
}

Функция createSplashWindow()

Создает окно с индикатором загрузки

Доступно только при наличии splash.exe

text: string Подпись к индикатору

return: SplashWindow

function createSplashWindow(text?: string): SplashWindow;

Интерфейс загрузочного экрана

interface SplashWindow {
  close: () => void;
}

Пространство имен MessageBox

Внутри пространства имен содержится функция показа диалогового окна и его параметры для настройки.

Функция show()

text: string текст сообщения title: string заголовок окна flags: Buttons | Icons | Utils запись через битовую операцию или |

function show(text: string, title?: string, flags?: Buttons | Icons): Results;

Возможные результаты

Results.ABORT Прервать

Results.CANCEL Отмена

Results.CONTINUE Продолжить

Results.IGNORE Игнорировать

Results.YES Да

Results.NO Нет

Results.OK Ок

Results.RETRY Повтор

Results.TRYAGAIN Повторить

Настройка кнопок

Buttons.ABORT_RETRY_IGNORE Прервать, повтор, пропустить

Buttons.CANCEL_TRY_CONTINUE Отмена, повторить, продолжить

Buttons.OK Ок

Buttons.OK_CANCEL Ок, отмена

Buttons.RETRY_CANCEL Повтор, отмена

Buttons.YES_NO Да, нет

Настройка иконок

Icons.ERROR Ошибка

Icons.QUESTION Вопрос

Icons.WARNING Предупреждение

Icons.INFO Информация

Дополнительные настройки

Utils.ALWAYS_ON_TOP Принудительный вывод окна сообщения на переднем плане