listener
Cria um listener de evento sem prendê-lo à vida do objeto de origem.
Categoria: Programming > Classes
Sintaxe
lh = listener(obj, 'EventName', callback)
Cria um listener que chama callback quando obj dispara o evento.
Descrição
listener e addlistener constroem o mesmo tipo de objeto. A diferença é o tempo de vida: um listener criado com listener só fica ativo enquanto você guarda lh, desaparecendo quando a variável é limpa ou sai de escopo. É a ferramenta certa quando o listener deve estar ligado a uma visão ou a um cálculo temporário, e não à origem.
Definir lh.Enabled = false pausa o callback sem remover o listener.
Argumentos de entrada
obj- Objeto handle que define o evento.
'EventName'- Nome do evento.
callback- Handle de função chamado como
callback(src, evtdata).
Argumentos de saída
lh- Um objeto
event.listenercom as propriedadesSource,EventName,Callback,EnabledeRecursive.
Exemplo
Criando e pausando um listener
m = containers.Map();
lh = listener(m, 'ObjectBeingDestroyed', @(s, e) disp('gone'));
lh.EventName
lh.Enabled
lh.Enabled = false;
lh.Enabled
Saída
ans = 'ObjectBeingDestroyed'
ans = logical
1
ans = logical
0