# Библиотека *gui* Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex: ```lua print(document.some_button.text) -- где 'some_button' - id элемета document.some_button.text = "новый текст" ``` В скрипте макета `layouts/файл_макета.xml` - `layouts/файл_макета.xml.lua` уже доступна переменная **document** содержащая объект класса Document ```python gui.str(text: str, context: str) -> str ``` Возращает переведенный текст. ```python gui.get_viewport() -> {int, int} ``` Возвращает размер главного контейнера (окна). ```python gui.get_env(document: str) -> table ``` Возвращает окружение (таблица глобальных переменных) указанного документа. ```python gui.get_locales_info() -> таблица таблиц где ключ - id локали в формате isolangcode_ISOCOUNTRYCODE значение - таблица { name: str # название локали на её языке } ``` Возвращает информацию о всех загруженных локалях (res/texts/\*). ```lua gui.clear_markup( -- язык разметки ("md" - Markdown) language: str, -- текст с разметкой text: str ) -> str ``` Удаляет разметку из текста. ```lua gui.escape_markup( -- язык разметки ("md" - Markdown) language: str, -- текст с разметкой text: str ) -> str ``` Экранирует разметку в тексте. ```lua gui.alert( -- сообщение (не переводится автоматически, используйте gui.str(...)) message: str, -- функция, вызываемая при закрытии on_ok: function() -> nil ) ``` Выводит окно с сообщением. **Не** останавливает выполнение кода. ```lua gui.confirm( -- сообщение (не переводится автоматически, используйте gui.str(...)) message: str, -- функция, вызываемая при подтвержении on_confirm: function() -> nil, -- функция, вызываемая при отказе/отмене [опционально] on_deny: function() -> nil, -- текст кнопки подтвержения (по-умолчанию: "Да") -- используйте пустую строку для значения по-умолчанию, если нужно указать no_text. [опционально] yes_text: str, -- текст кнопки отказа (по-умолчанию: "Нет") [опционально] no_text: str, ) ``` Запрашивает у пользователя подтверждение действия. **Не** останавливает выполнение кода. ```lua gui.load_document( -- Путь к xml файлу страницы. Пример: `core:layouts/pages/main.xml` path: str, -- Имя (id) документа. Пример: `core:pages/main` name: str -- Таблица параметров, передаваемых в событие on_open args: table ) --> str ``` Загружает UI документ с его скриптом, возвращает имя документа, если успешно загружен. ```lua gui.root: Document ``` Корневой UI документ