| Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
lm2:ce:s_lua [2020/08/04 17:08] ruben |
lm2:ce:s_lua [2020/11/30 14:12] (текущий) |
| ===== Lua-код (скрипт) ===== | ===== Lua-код (скрипт) ===== |
| |
| При старте платформы выполняется lua-код, указанный в главном конфигурационном файле (см. статью "[[:lm2:ce:s_config|Главный конфигурационный файл]]"). К моменту запуска lua-кода панели уже загружены (т.е. можно считывать / записывать значения атрибутов), но не подсоеденены к элементу ViewPort (см. статью "[[:lm2:ce:s_win|Конфигурация окон]]"). Документация к lua доступна на [[https://lua.org|lua.org]]. Кроме функций предусмотренных в lua, доступны функции платформы (см. статью "[[:lm2:ce:s_func|Библиотека функций]]"). | При старте платформы выполняется lua-код, указанный в главном конфигурационном файле (см. статью "[[:lm2:ce:s_config|Главный конфигурационный файл]]"). К моменту запуска lua-кода панели уже загружены (т.е. можно считывать / записывать значения атрибутов), но не подсоединены к элементу ViewPort (см. статью "[[:lm2:ce:s_win|Конфигурация окон]]"). Документация к lua доступна на [[https://lua.org|lua.org]]. Кроме функций предусмотренных в lua, доступны функции платформы (см. статью "[[:lm2:ce:s_func|Библиотека функций]]"). |
| |
| ==== Структура файла ==== | ==== Структура файла ==== |
| |
| Для адресации атрибутов панелей, их подэлементов или плагинов при использовании команд Get/Set, а также при работе с событиями используется одна и та-же конструкция: | Для адресации атрибутов панелей, их подэлементов или плагинов при использовании команд Get/Set, а также при работе с событиями используется одна и та-же конструкция: |
| <code lua> | |
| |
| [<имя_плагина>:]<имя_панели>.<имя_элемента>.<имя_подэлемента>.<имя_атрибута>[=<значение>] | ''[<имя_плагина>:]<имя_панели>.<имя_элемента>.<имя_подэлемента>.<имя_атрибута>[=<значение>]'' |
| | |
| </code> | |
| |
| Если хотим получить доступ к атрибуту самой панели, то используем вариант: | Если хотим получить доступ к атрибуту самой панели, то используем вариант: |
| |
| <code> | ''<имя_панели>.<имя_атрибута>..'' |
| <имя_панели>.<имя_атрибута>.. | |
| | |
| </code> | |
| |
| т.е. "незначащие" точки в адресе всегда добавляются справа. | т.е. "незначащие" точки в адресе всегда добавляются справа. |
| |
| При задании обработчика события допустимо использовать вместо какой-то компоненты символ "*", означающий "любое значение"//. // Например//, событие //front//.*//.Mouse.LeftPress означает все нажатия на левую клавишу мыши на любом элементе панели front. | При задании обработчика события допустимо использовать вместо какой-то компоненты символ "*", означающий "любое значение"//. // Например//, // событиеfront//.*//.Mouse.LeftPress означает все нажатия на левую клавишу мыши на любом элементе панели front. |
| |
| В общем случае адрес атрибута (и его значение) можно записать так: | В общем случае адрес атрибута (и его значение) можно записать так: |
| |
| <code> | ''[<имя_плагина>:]<компонент_1>.<компонент_2>.<компонент_3>.<компонент_4>[=<значение>]'' |
| [<имя_плагина>:]<компонент_1>.<компонент_2>.<компонент_3>.<компонент_4>[=<значение>] | |
| | |
| </code> | |
| |
| т.к. при работе с плагинами компоненты адреса - просто строковые значения (а не имена панелей, элементов и т.д.). | т.к. при работе с плагинами компоненты адреса - просто строковые значения (а не имена панелей, элементов и т.д.). |
| |
| |