User:Unsane/MirLua/m core: Difference between revisions
mNo edit summary |
|||
Line 15: | Line 15: | ||
;Пример | ;Пример | ||
{{Content:MirLua/Example|code=local hEvent = m.CreateHookableEvent('MyEvent')}} | {{Content:MirLua/Example|code=local hEvent = m.CreateHookableEvent('MyEvent')}} | ||
===NotifyEventHooks=== | |||
Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие. | |||
Сигнатура ловушки: <code>function (wParam, lParam) return 0 end</code> | |||
;Параметры | |||
: ''hEvent'' | |||
:: Тип: '''light userdata''' | |||
:: Дескриптор события, который был получен при вызове [[#CreateHookableEvent|CreateHookableEvent]]. | |||
: wParam | |||
: lParam | |||
;Результат | |||
: Тип: '''boolean''' | |||
: '''true''' если вызваны все функции-ловушки, иначе '''false''' | |||
;Пример | |||
{{Content:MirLua/Example|code=m.NotifyEventHooks(hEvent)}} | |||
===HookEvent=== | ===HookEvent=== | ||
Line 33: | Line 49: | ||
end) | end) | ||
}} | }} | ||
===UnhookEvent=== | ===UnhookEvent=== |
Revision as of 18:48, 10 November 2015
Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.
Именованные события
CreateHookableEvent
Создает событие
- Параметры
- name
- Тип: string
- Имя события
- Результат
- Тип: light userdata
- Дескриптор события, если событие было успешно создано, иначе nil
- Пример
local hEvent = m.CreateHookableEvent('MyEvent')
NotifyEventHooks
Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие.
Сигнатура ловушки: function (wParam, lParam) return 0 end
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, который был получен при вызове CreateHookableEvent.
- wParam
- lParam
- Результат
- Тип: boolean
- true если вызваны все функции-ловушки, иначе false
- Пример
m.NotifyEventHooks(hEvent)
HookEvent
Устанавливает функция обратного вызова ("ловушку") для реакции на вызов события.
- Параметры
- name
- Тип: string
- Имя события.
- hook
- Тип: function
- Функция-ловушка, которая будет вызвана при наступлении события.
- Результат
- Тип: light userdata
- Возвращает дескриптор ловушка, если ловушка была успешно создана, иначе nil
- Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
UnhookEvent
Удаляет подписку на именованное событие
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, который был получен при вызове CreateHookableEvent
- Результат
- true если функции-ловушки успешно удалена, иначе false
- Пример
m.UnhookEvent(hHook)
DestroyHookableEvent
Удаляет событие
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, полученный при вызове CreateHookableEvent
- Результат
- Тип: boolean
- true если событие успешно удалено, иначе false
m.DestroyHookableEvent(hEvent)
Именованные сервисные функции
CreateServiceFunction
Создает именованную сервисную функцию
local hService = m.CreateServiceFunction('MyService', function(w, l)
print('MyServiceis called!')
end)
CallService
Вызывает именованную сервисную функцию
m.CallService('MyService', 0, 0)
ServiceExists
Проверяет существование сервиса по имени
if m.ServiceExists('MyService') then
m.CallService('MyService')
end
DestroyServiceFunction
Удаляет сервисную функцию
m.DestroyServiceFunction(hService)
Остальное
IsPluginLoaded
Проверяет загружен ли плагин по его muuid
if m.IsPluginLoaded('{F0FDF73A-753D-499d-8DBA-336DB79CDD41}') then
print('Advanced auto away plugin is loaded!')
end
Utf8DecodeA
Конвертирует содержимое lua строки в ANSI
m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))
Utf8DecodeW
Конвертирует содержимое lua строки в Unicode
m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)
Translate
Переводит строку на язык текущего языкового пакета
m.Translate('Exit')
ReplaceVariables
Заменяет переменные ядра Miranda NG в строке
local profileName = m.ReplaceVariables('%miranda_profilename%')