User`s guide

14 Manage Ca llback Executio n
is taken into account only if the Inter ruptible property of the executing
callback’s object is
off, i.e., the executing callback is not interruptible.
If a noninterruptible callback is executing and an eve nt (such as a mous e
click) triggers a new callback, MATLAB software examines the value of the
BusyAction property of the object that g enerated the new callback:
If the
BusyAction value is 'qu eue' , the requested callback is added to the
event queue and executes in its turn when the executing callback finishes
execution.
If the value is
'cancel', the event is discarded and the requested callback
does not execute.
If an interruptible callback is executing, the requested callback runs when
the executing callback terminates or calls
drawnow, figure, getframe, pause,
or
waitfor.TheBusyAction property of the requested callback’s o bject has
no effect.
Example
This example dem onstrates control of callback interruption using the
Interruptible and BusyAction properties. It creates two GUIs:
The first GUI contains two push buttons:
- Wait (interruptible) whose Interruptible property is on
- Wait (noninterruptib le)whose Interrupti ble property is off
Clicking either button triggers the button’s Callback callback, which
creates and updates a waitbar.
14-6