User:Unsane/MirLua/m core: Difference between revisions
Line 37: | Line 37: | ||
Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие. | Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие. | ||
;Параметры | |||
: ''hEvent'' | |||
:: Тип: '''light userdata''' | |||
:: Дескриптор события, который был получен при вызове [[#CreateHookableEvent|CreateHookableEvent]]. | |||
: wParam | |||
: | : lParam | ||
;Результат | |||
: Тип: '''boolean''' | |||
: '''true''' если вызваны все функции-ловушки, иначе '''false''' | |||
;Пример | |||
{{Content:MirLua/Example|code=m.NotifyEventHooks(hEvent)}} | {{Content:MirLua/Example|code=m.NotifyEventHooks(hEvent)}} | ||
Revision as of 18:36, 10 November 2015
Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную m в любом модуле. Он предоставляет доступ к основным возможностям ядра Miranda NG.
Именованные события
CreateHookableEvent
Создает событие
- Параметры
- name
- Тип: string
- Имя события
- Результат
- Тип: light userdata
- Дескриптор события, если событие было успешно создано, иначе nil
- Пример
local hEvent = m.CreateHookableEvent('MyEvent')
HookEvent
Устанавливает функция обратного вызова ("ловушку") для реакции на вызов события.
- Параметры
- name
- Тип: string
- Имя события.
- hook
- Тип: function
- Функция-ловушка, которая будет вызвана при наступлении события.
- Результат
- Тип: light userdata
- Возвращает дескриптор ловушка, если ловушка была успешно создана, иначе nil
- Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
NotifyEventHooks
Вызывает событие. При вызове события поочередно сработают все функции-ловушки, которые были подписаны на это событие.
- Параметры
- hEvent
- Тип: light userdata
- Дескриптор события, который был получен при вызове CreateHookableEvent.
- wParam
- lParam
- Результат
- Тип: boolean
- true если вызваны все функции-ловушки, иначе false
- Пример
m.NotifyEventHooks(hEvent)
UnhookEvent
Удаляет подписку на именованное событие
Параметры
- hEvent - дескриптор события, который был получен при вызове CreateHookableEvent
Результат
Пример
m.UnhookEvent(hHook)
DestroyHookableEvent
Удаляет именованное событие
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%')