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

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


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 - имя вьюпорта
x- координата по горизонтали
y- координата по вертикали

sys.ScaleViewport(string ViewportID, number x, number y, number scale) - масштабировать вьюпорт
ViewportID - Имя вьюпорта
x - НЕТ ДАННЫХ
y - НЕТ ДАННЫХ
scale - масштаб

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) - НЕТ ДАННЫХ
ViewportID - имя вьюпорта
x - координата по горизонтали
y - координата по вертикали

sys.SetVPScale(string ViewportID, number ScaleX, number ScaleY, number Scale) - НЕТ ДАННЫХ
ViewportID - имя вьюпорта
ScaleX - масштаб по горизонтали
ScaleY - масштаб по вертикали
Scale - масштаб

sys.SetVPZoomScale(string ViewportID, number ZoomScaleX, number ZoomScaleY, number ZoomScale) - НЕТ ДАННЫХ
ViewportID - имя вьюпорта
ZoomScaleX - дополнительный масштаб по горизонтали
ZoomScaleY - дополнительный масштаб по вертикали
ZoomScale - дополнительный масштаб

Функции, доступные из Lua кода в пропертях элементов

Log(string msg) - см. выше

PlaySound(string name) - см. выше

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) - см. выше

PushEvent(string event) - см. выше

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