3.8 KiB
Raw Permalink Blame History

Библиотека gui

Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex:

print(document.some_button.text) -- где 'some_button' - id элемета
document.some_button.text = "новый текст"

В скрипте макета layouts/файл_макета.xml - layouts/файл_макета.xml.lua уже доступна переменная document содержащая объект класса Document

gui.str(text: str, context: str) -> str

Возращает переведенный текст.

gui.get_viewport() -> {int, int}

Возвращает размер главного контейнера (окна).

gui.get_env(document: str) -> table

Возвращает окружение (таблица глобальных переменных) указанного документа.

gui.get_locales_info() -> таблица таблиц где
   ключ - id локали в формате isolangcode_ISOCOUNTRYCODE
   значение - таблица {
       name: str # название локали на её языке
   }

Возвращает информацию о всех загруженных локалях (res/texts/*).

gui.clear_markup(
    -- язык разметки ("md" - Markdown)
    language: str, 
    -- текст с разметкой
    text: str
) -> str

Удаляет разметку из текста.

gui.escape_markup(
    -- язык разметки ("md" - Markdown)
    language: str, 
    -- текст с разметкой
    text: str
) -> str

Экранирует разметку в тексте.

gui.alert(
    -- сообщение (не переводится автоматически, используйте gui.str(...))
    message: str,
    -- функция, вызываемая при закрытии
    on_ok: function() -> nil
)

Выводит окно с сообщением. Не останавливает выполнение кода.

gui.confirm(
    -- сообщение (не переводится автоматически, используйте gui.str(...))
    message: str,
    -- функция, вызываемая при подтвержении
    on_confirm: function() -> nil,
    -- функция, вызываемая при отказе/отмене
    [опционально] on_deny: function() -> nil,
    -- текст кнопки подтвержения (по-умолчанию: "Да")
    -- используйте пустую строку для значения по-умолчанию, если нужно указать no_text.
    [опционально] yes_text: str,
    -- текст кнопки отказа (по-умолчанию: "Нет")
    [опционально] no_text: str,
)

Запрашивает у пользователя подтверждение действия. Не останавливает выполнение кода.

gui.load_document(
    -- Путь к xml файлу страницы. Пример: `core:layouts/pages/main.xml`
    path: str,
    -- Имя (id) документа. Пример: `core:pages/main`
    name: str
    -- Таблица параметров, передаваемых в событие on_open
    args: table
) --> str

Загружает UI документ с его скриптом, возвращает имя документа, если успешно загружен.

gui.root: Document

Корневой UI документ