mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
Improved docs (#708)
* начало переписи доков * extensions update * libapp update * libfile update * io_stream update * Update io_stream.md * io_stream update x3 * io_stream update x4 * libtime update * libgui update + make bytearray.md * libinput update * Update libapp.md * Update libapp.md * libgui update * events.md ru fix * да ну не надо так делать --> не имеет смысла, ибо гитхаб -> показывает адекватно * types refactoring * fixes * Update libblock.md * Update libblock.md * Update libbyteutil.md
This commit is contained in:
parent
66d85b0ae6
commit
32feb78002
43 changed files with 1107 additions and 1314 deletions
|
|
@ -1,108 +1,112 @@
|
|||
# Библиотека *gui*
|
||||
## Содержание
|
||||
|
||||
Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex:
|
||||
* [Основное](#основное)
|
||||
* [Локализация](#локализация)
|
||||
* [Окно и окружение](#окно-и-окружение)
|
||||
* [Разметка](#разметка)
|
||||
* [Диалоговые окна](#диалоговые-окна)
|
||||
* [Документы и шаблоны](#документы-и-шаблоны)
|
||||
* [Корневой документ](#корневой-документ)
|
||||
|
||||
## Основное
|
||||
|
||||
- Библиотека содержит функции для доступа к свойствам UI элементов.
|
||||
- В макетных скриптах доступна переменная document (класс Document).
|
||||
- Вместо gui следует использовать объектную обертку:
|
||||
```lua
|
||||
print(document.some_button.text) -- где 'some_button' - id элемета
|
||||
print(document.some_button.text)
|
||||
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.str(text: string, context: string) -> string
|
||||
```
|
||||
|
||||
## Окно и окружение
|
||||
|
||||
```lua
|
||||
-- Возвращает размер главного контейнера (окна).
|
||||
gui.get_viewport() -> {number, number}
|
||||
|
||||
-- Возвращает окружение (глобальные переменные) указанного документа.
|
||||
gui.get_env(document: string) -> table
|
||||
|
||||
-- Возвращает информацию о всех загруженных локалях.
|
||||
-- Ключ - id локали в формате isolangcode_ISOCOUNTRYCODE
|
||||
-- Значение - таблица { name: string }
|
||||
gui.get_locales_info() -> table
|
||||
```
|
||||
|
||||
## Разметка
|
||||
|
||||
```lua
|
||||
-- Удаляет разметку из текста.
|
||||
gui.clear_markup(
|
||||
-- язык разметки ("md" - Markdown)
|
||||
language: str,
|
||||
-- текст с разметкой
|
||||
text: str
|
||||
) -> str
|
||||
```
|
||||
language: string, -- язык разметки ("md" - Markdown)
|
||||
text: string -- текст с разметкой
|
||||
) -> string
|
||||
|
||||
Удаляет разметку из текста.
|
||||
|
||||
```lua
|
||||
-- Экранирует разметку в тексте.
|
||||
gui.escape_markup(
|
||||
-- язык разметки ("md" - Markdown)
|
||||
language: str,
|
||||
-- текст с разметкой
|
||||
text: str
|
||||
) -> str
|
||||
language: string, -- язык разметки ("md" - Markdown)
|
||||
text: string -- текст с разметкой
|
||||
) -> string
|
||||
```
|
||||
|
||||
Экранирует разметку в тексте.
|
||||
## Диалоговые окна
|
||||
|
||||
```lua
|
||||
-- Выводит окно с сообщением. Не останавливает выполнение кода.
|
||||
gui.alert(
|
||||
-- сообщение (не переводится автоматически, используйте gui.str(...))
|
||||
message: str,
|
||||
-- функция, вызываемая при закрытии
|
||||
on_ok: function() -> nil
|
||||
message: string, -- сообщение (не переводится автоматически, используйте gui.str(...))
|
||||
on_ok: function() -> nil -- вызывается при закрытии
|
||||
)
|
||||
```
|
||||
|
||||
Выводит окно с сообщением. **Не** останавливает выполнение кода.
|
||||
|
||||
```lua
|
||||
-- Запрашивает подтверждение действия. Не останавливает выполнение кода.
|
||||
gui.confirm(
|
||||
-- сообщение (не переводится автоматически, используйте gui.str(...))
|
||||
message: str,
|
||||
message: string,
|
||||
-- функция, вызываемая при подтвержении
|
||||
on_confirm: function() -> nil,
|
||||
-- функция, вызываемая при отказе/отмене
|
||||
[опционально] on_deny: function() -> nil,
|
||||
-- текст кнопки подтвержения (по-умолчанию: "Да")
|
||||
-- используйте пустую строку для значения по-умолчанию, если нужно указать no_text.
|
||||
[опционально] yes_text: str,
|
||||
[опционально] yes_text: string
|
||||
-- текст кнопки отказа (по-умолчанию: "Нет")
|
||||
[опционально] no_text: str,
|
||||
[опционально] no_text: string
|
||||
)
|
||||
```
|
||||
|
||||
Запрашивает у пользователя подтверждение действия. **Не** останавливает выполнение кода.
|
||||
## Документы и шаблоны
|
||||
|
||||
```lua
|
||||
-- Загружает UI документ и его скрипт. Возвращает имя документа.
|
||||
gui.load_document(
|
||||
-- Путь к xml файлу страницы. Пример: `core:layouts/pages/main.xml`
|
||||
path: str,
|
||||
-- Имя (id) документа. Пример: `core:pages/main`
|
||||
name: str
|
||||
-- Таблица параметров, передаваемых в событие on_open
|
||||
args: table
|
||||
) --> str
|
||||
path: string, -- путь к xml файлу, например: core:layouts/pages/main.xml
|
||||
name: string, -- id документа, например: core:pages/main
|
||||
args: table -- параметры для события on_open
|
||||
) -> string
|
||||
|
||||
-- Загружает шаблон в лояут
|
||||
gui.template(
|
||||
-- имя шаблона в layouts/templates без пути и расширения
|
||||
name: string,
|
||||
-- таблица переменных (может быть использована в разметке)
|
||||
-- * Пр: <label>%{text}</label>
|
||||
-- * text в данном случае, это значение из params по ключу text
|
||||
params: table,
|
||||
-- таблица, доступная в событиях как глобальная переменная DATA
|
||||
[опционально] data: table
|
||||
) -> string
|
||||
```
|
||||
|
||||
Загружает UI документ с его скриптом, возвращает имя документа, если успешно загружен.
|
||||
## Корневой документ
|
||||
|
||||
```lua
|
||||
-- Корневой UI документ.
|
||||
gui.root: Document
|
||||
```
|
||||
|
||||
Корневой UI документ
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue