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.listener com as propriedades Source, EventName, Callback, Enabled e Recursive.

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

Veja também

addlistener event.hasListener events notify