User:RMN/HookEvent

From Miranda NG
< User:RMN
Revision as of 01:02, 24 September 2022 by Dart Raiden (talk | contribs) (see https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#inline)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

HookEvent

Устанавливает функцию обратного вызова ("ловушку") для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом.

Сигнатура ловушки: function (wParam, lParam) return 0 end.

Корректным результатом работы ловушки является 0. При возврате 1 следующие в цепочке ловушки не будут вызваны.

В качестве wParam/lParam поддерживаются следующие типы: boolean, number, string, light userdata, userdata.

Параметры
name
Тип: string
Имя события.
hook
Тип: function
Функция-ловушка, которая будет вызвана при наступлении события.
Результат
Тип: light userdata
Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil
Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
  print('MyEvent is raised!')
end)
Function Description Extended description Settings Example
HookEvent Устанавливает функцию обратного вызова ("ловушку") для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом.

Сигнатура ловушки: function (wParam, lParam) return 0 end.

Корректным результатом работы ловушки является 0. При возврате 1 следующие в цепочке ловушки не будут вызваны.

В качестве wParam/lParam поддерживаются следующие типы: boolean, number, string, light userdata, userdata.

Параметры
name
Тип: string
Имя события.
hook
Тип: function
Функция-ловушка, которая будет вызвана при наступлении события.
Результат
Тип: light userdata
Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil
local hHook = m.HookEvent('MyEvent', function(w, l)
  print('MyEvent is raised!')
end)


Function Description Extended description Settings Example
CreateHookableEvent Creates a hookable event. name
Type: string
Event name.
Result
Type: light userdata
Returns event descriptor if event was created successfully, else nil.
local hEvent = m.CreateHookableEvent('MyEvent')
HookEvent Sets a callback function ("trap") to react to event call. Traps are called one by one in the order they were added to the sequence.

Trap signature: function (wParam, lParam) return 0 end.

Correct result for a trap is 0. When 1 is returned, the following traps in a sequence won't be called.
name
Type: string
Event name.

hook

Type: function
Trap function to be called when event occurs.
Result
Type: light userdata
Returns trap descriptor if trap was created successfully, else nil.
local hHook = m.HookEvent('MyEvent', function(w, l)
  print('MyEvent is raised!')
end)
UnhookEvent Removes "trap" from event call sequence. hEvent
Type: light userdata
Event descriptor received on CreateHookableEvent call.
Result
Type: boolean
Returns true if trap function was removed successfully, else false.
m.UnhookEvent(hHook)
NotifyEventHooks Calls all "traps" of event call sequence one by one. hEvent
Type: light userdata
Event descriptor received on CreateHookableEvent call.

wParam
lParam

Result
Type: boolean
Returns true if all trap functions were called, else false.
m.NotifyEventHooks(hEvent)