92 lines
3.4 KiB
Markdown
92 lines
3.4 KiB
Markdown
# Библиотека *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.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 документ с его скриптом, возвращает имя документа, если успешно загружен.
|