Инструменты пользователя

Инструменты сайта


lm2:ce:s_func

Это старая версия документа!


Библиотека функций

Функции доступные из lua-кода

Log(string msg) - вывести сообщение в лог
msg - текст сообщения

PlaySound(string id) - воспроизвести аудиофайл
id - идентификатор аудиофайла. Список загружаемых файлов и их идентификаторы задаются через главный конфигурационный файл (см. «Главный конфигурационный файл»)

Set(string prop) - установить значение свойства.
prop - строка, вида <адрес>=<значение>, где <адрес> - адрес свойства, а <значение> - значение, которое должно быть присвоено свойству. Eсли prop имеет вид <имя_плагина>:<адрес>=<значение>, то <значение> присваивается соответствующему свойству плагина.

Set(string addr, string value) - установить значение свойства.
Эквивалентно вызову Set(addr..'='..value)

string Get(string addr) - получить значение свойства
addr - адрес свойства. Может иметь вид <имя_плагина>:<адрес> для получения значения свойства плагина.

SetText(string addr, string textID) - установить значение свойства из строковых данных
addr - адрес свойства
textID - идентификатор строки из строковых данных

string GetText(string textID) - получить строку из строковых данных
textID - идентификатор строки из строковых данных

Include(string luaFileName) - выполнить lua-код из файла. Аналогична функции dofile(…), но с учетом путей
luaFileName - имя файла с кодом

Panel(string viewportName, string panelName) - присоединить панель к вьюпорту. Одну панель можно присоединить только к одному вьюпорту, один раз.
viewportName - имя вьюпорта или пустая строка, если панель надо отвязать от вьюпорта
panelName - имя панели

Text(string textResourceName) - загрузить строковые данные из файла
textResourceName - имя файла со строковыми данными

AddEventHandler(string event, string fname) - добавить ссылку на обработчик события
event - описание события в виде <адрес>[=<значение>] или <имя_плагина>:<адрес>[=<значение>]
fname - имя функции - обработчика события. Функция обработчик события должна иметь вид:

function <fname>(ev)
  ...
  return isContinue
end

ev - таблица вида (описывает событие):
ev.Plugin
ev.Panel
ev.Element
ev.Entry
ev.Property
ev.Value
isContinue - если функция возвращает true, то виртуальная машина продолжит искать подходящие обработчики для этого события

PushEvent(string event) - поместить событие в очередь на обработку
event - событие (вида [<имя_плагина>:]<адрес>[=<значение>])

CheckMouse(string viewportName, number x, number y, bool isClick) - НЕТ ДАННЫХ
viewportName - имя вьювпорт
x - координата по горизонтали
y - координата по вертикали
isClick - НЕТ ДАННЫХ

sys.Exit() - закрыть приложение

sys.StartTimer(string id, integer time[, bool once = true]) - запустить таймер
id - имя таймера
time - засекаемое время, мс
once - true - если таймер должен сработать один раз, false - если должен работать циклично. Если опустить этот параметр, то он по умолчанию считается равным true.
После истечения времени time, возникает событие вида: timer.<id>.finished.=true. Таймер не очень точный.

sys.StopTimer(string id) - остановить таймер
id - имя таймера
После остановки таймера этой функцией событие таймера не возникает.

sys.GetPanelList() - получить имена всех панелей
Возвращает массив строк с именами панелей

sys.GetElementList(string PanelID) - получить имена элементов в заданной панели
PanelID - имя панели, в которой ищем элементы.
Возвращает массив строк с именами элементов

sys.GetSubList(string PanelID, string ElementID) - получить имена подэлементов в заданном элементе
PanelID - Имя панели
ElementID - Имя элемента
Возвращает массив строк с именами подэлементов

sys.GetViewportList() - получить имена всех вьюпортов
Возвращает массив строк с именами вьюпортов

sys.GetViewportName(string PanelID) - получить имя вьюпорта по имени панели
PanelID - Имя панели
Возвращает имя вьюпорта или пустую строку, если такой панели нет или она не присоединена к вьюпорту


sys.InitViewport(string ID, integer Left, integer Top, integer Width, integer Height, bool Windowed) - добавить новый вьюпорт
ID - имя вьюпорта
Left - позиция вьюпорта на мониторе по горизонтали
Top - позиция вьюпорта на мониторе по вертикали
Width - Ширина вьюпорта
Height - Высота вьюпорта
Windowed - Флаг рамки
Возвращает true, если вьюпорт создан удачно

sys.InitViewport(string ID, integer Width, integer Height, integer HWND) - добавить новый вьюпорт
ID - имя вьюпорта
Width - ширина вьюпорта
Height - высота вьюпорта
HWND - хэндл существующего окна
Возвращает true, если вьюпорт создан удачно

sys.LoadLogic(string fileName) - перезапуск виртуальной машины. Все панели отвязываются от вьюпортов.
fileName - имя стартового lua скрипта

sys.Exec(string id, string cmd) - выполнить внешнюю команду в отдельном потоке
id - id (имя) потока
cmd - команда
Возвращает true, ести поток запустился успешно
После завершения работы возникает событие: exec.<id>.finished.=<result_code>
В текущей реализации одновременно можно запустить на выполнение только одну команду.

[RPI] lic.GetSerial() - получить серийный номер устройства
Возвращает серийный номер

sys.SavePanelPNG(string PanelName, string FileName, integer Width, integer Height) - НЕТ ДАННЫХ
PanelName - имя панели
FileName - имя файла
Width - ширина в пикселях
Height - высота в пикселях

sys.SaveElementPNG(string PanelName, string ElementName, string FileName, integer Width, integer Height[, number Scale]) - НЕТ ДАННЫХ
PanelName - имя панели
ElementName - имя элемента
FileName - имя файла
Width - ширина в пикселях
Height - высота в пикселях
Scale - масштаб

sys.SaveXML() - НЕТ ДАННЫХ

sys.SaveLib() - НЕТ ДАННЫХ

sys.SetXMLAttr(string Prop) - НЕТ ДАННЫХ
Prop - НЕТ ДАННЫХ

sys.SetLibAttr(string Prop) - НЕТ ДАННЫХ
Prop - НЕТ ДАННЫХ

sys.GetXMLAttr(string Prop) - НЕТ ДАННЫХ
Prop - НЕТ ДАННЫХ

sys.GetLibAttr(string Prop) - НЕТ ДАННЫХ
Prop - НЕТ ДАННЫХ

sys.ShowViewport(string ViewportID)
ViewportID - Имя вьюпорта

sys.HideViewport(string ViewportID)
ViewportID - Имя вьюпорта

sys.MoveViewport(string ViewportID, number x, number y)
ViewportID - Имя вьюпорта

sys.ScaleViewport(string ViewportID, number x, number y, number scale)
ViewportID - Имя вьюпорта

sys.ResetViewport(string ViewportID)
ViewportID - Имя вьюпорта

sys.GetMousePos(string ViewportID) - Получить координаты курсора мыши относительно вьюпорта
ViewportID - Имя вьюпорта
Возврат - number x, number y - координаты курсора или nil
sys.SetMousePos(string ViewportID, integer x, integer y) - Установить курсор мыши относительно вьюпорта
ViewportID - Имя вьюпорта
x и y - Координаты
sys.ShowCursor(string ViewportID) - Показать курсор мыши
ViewportID - Имя вьюпорта
sys.HideCursor(string ViewportID) - Спрятать курсор мыши
ViewportID - Имя вьюпорта
sys.GrabCursor(string ViewportID) - Запретить курсору мыши выходить за пределы вьюпорта. Этот режим работает только если окно вьюпорта имеет фокус.
ViewportID - Имя вьюпорта
sys.UngrabCursor(string ViewportID) - Выключить режим запрета выхода курсора за пределы вьюпорта.
ViewportID - Имя вьюпорта
sys.RequestFocus(string ViewportID) - Запросить получение фокуса для окна вьюпорта. Фактическое получение фокуса зависит от ОС.
ViewportID - Имя вьюпорта
sys.HasFocus(string ViewportID) - Запросить состояние фокуса у окна вьюпорта
ViewportID - Имя вьюпорта
Возврат - true - если окно имеет фокус.
sys.SetVPPos(string ViewportID, number x, number y)
sys.SetVPScale(string ViewportID, number ScaleX, number ScaleY, number Scale)
sys.SetVPZoomScale(string ViewportID, number ZoomScaleX, number ZoomScaleY, number ZoomScale)
Функции, доступные из Lua кода в пропертях элементов
Log(string msg) - Вывести сообщение в лог файл
msg - текст сообщения
PlaySound(string name) - Воспроизвести аудиофайл
id - идентификатор аудиофайла. Список загружаемых файлов и их идентификаторы задаются через главный конфигурационный файл.
Set(string prop) - Установить значение своего свойства.
prop - строка, вида <имя_подэлемента>.<имя_свойства>=<значение> или <имя_свойства>.=<значение>.
Set(string addr, string value) - Установить значение своего свойства.
Эквивалентно вызову Set(addr..'='..value)
string Get(string addr) - Получить значение своего свойства
addr - адрес свойства. Должен иметь вид <имя_подэлемента>.<имя_свойства> или <имя_свойства>..
SetText(string addr, string textID) - Установить значение своего свойства из строковых данных
addr - адрес свойства
textID - идентификатор строки из строковых данных
string GetText(string textID) - Получить строку из строковых данных
textID - идентификатор строки из строковых данных
PushEvent(string event) - поместить событие в очередь на обработку
event - событие (вида [<имя_плагина>:]<адрес>[=<значение>]

lm2/ce/s_func.1596534899.txt.gz · Последнее изменение: 2020/11/30 14:12 (внешнее изменение)