To define an event, you declare a name for the event in the events block. Then one of the class methods triggers the event using the notify method, which is method inherited from the handle class. Only classes derived from the handle class can define events.
For example, the following class:
- Defines an event named StateChange
- Triggers the event using the inherited notify method.
classdef class_name < handle % Subclass handle events % Define an event called StateChange StateChange end ... methods function upDateGUI(obj) ... % Broadcast notice that StateChange event has occurred notify(obj,'StateChange'); end end end
Listening for Events
Any number of objects can be listening for the StateChange event to occur. When notify executes, MATLAB calls all registered listener callbacks and passes the handle of the object generating the event and an event structure to these functions. To register a listener callback, use the addlistener method of the handle class.
addlistener(event_obj,'StateChange',@myCallback)[important]See Defining Events and Listeners — Syntax and Techniques[/important]