addlistener

Класс: указатель

Создайте прослушиватель события, связанный с источником события

Синтаксис

el = addlistener(hSource,EventName,callback)
el = addlistener(hSource,PropertyName,EventName,callback)

Описание

el = addlistener(hSource,EventName,callback) создает прослушиватель для события EventName когда включено исходный объект, hSource.

Если hSource массив, прослушиватель отвечает на именованное событие на любом объекте в hSource массив. callback указатель на функцию, ссылающийся на функцию обратного вызова.

el = addlistener(hSource,PropertyName,EventName,callback) создает прослушиватель для одного из предопределенных событий свойства. Существует четыре предопределенных события свойства:

EventNameСобытие имеет место
PreSet

Сразу, прежде чем значение свойства установлено, прежде, чем вызвать его метод доступа набора

PostSet

Сразу после того, как значение свойства установлено

PreGet

Сразу, прежде чем запрос значения свойства обслуживается, прежде, чем вызвать получать метод доступа

PostGet

Сразу после возврата значения свойства к запросу

Входные параметры

развернуть все

Источник события является объектом, который является источником события или массивом исходных объектов, заданных как массив указателя.

Имя события, которое инициировано на исходных объектах, задало как чувствительный к регистру, заключенный в кавычки текст. Для событий свойства имя события является одним из четырех предопределенных событий свойства.

Типы данных: char | string

Имя свойства, событие свойства которого инициировало ваш прослушиватель, заданный как одно из этих значений:

  • Вектор символов или массив ячеек из символьных векторов, где каждый вектор символов является именем свойства, заданного для объектов в hSource

  • Скалярный meta.property объект

  • Массив meta.property объекты

Можно присоединить прослушиватели событий свойства на динамических свойствах только когда hSource isscalar. Если hSource является нескалярным, затем свойства должны принадлежать классу hSource и не может включать динамические свойства (которые не являются частью определения класса).

Класс, задающий исходное свойство, должен установить GetObservable и SetObservable атрибуты свойства, чтобы позволить вам слушать события свойства.

Коллбэк прослушивателя определил функцией указатель

Типы данных: function_handle

Выходные аргументы

развернуть все

Объект прослушивателя создается addlistener, заданный как указатель на event.listener или event.proplistener объект.

Примеры

развернуть все

Создайте прослушиватель свойства для Color свойство графического figure окно.

fig = figure;
propListener = addlistener(fig,'Color','PostSet',@(src,evnt)disp('Color changed'));

Установите значение Color свойство к yellow. Установка свойства инициировала PostSet событие свойства на фигуре. Объект источника события является определенной фигурой, на которую ссылается указатель fig.

set(fig,'Color','yellow')

Советы

  • Чтобы демонтировать прослушиватель, удалите объект прослушивателя, возвращенный addlistener. Например,

    delete(el)

    вызовы класс Handle удаляют метод, чтобы удалить объект из рабочей области и демонтировать прослушиватель.

  • Переопределяя или очищение переменной, содержащей указатель прослушивателя (например, el) не удаляет прослушиватель. Объект-событие (hSource) все еще имеет ссылку на event.listener объект. addlistener связывает жизненный цикл прослушивателя с объектом, который является источником события.

  • Чтобы задать прослушиватель, который не связывается к объекту-событию, используйте event.listener конструктор непосредственно, чтобы создать прослушиватель.

Альтернативы

Когда вам будет требоваться жизненный цикл объекта прослушивателя, чтобы быть независимыми от жизненного цикла исходного объекта, используйте handle.listener создать прослушиватели.

Введенный в R2008a