Callback Stack

Easy way to add multiple callbacks to objects, which support callback-functions (e.g. HG objects)

You are now following this Submission

Handy function to add/remove/append an arbitrary number of callbacks to an object (e.g. figure, axes, line, patch, surface, text, image, zoom, pan, rotate, ...).

This function is extremely useful, if you write general purpose functions, which should be executed as object-callbacks without deleting any already existing callback(s).

A simple example can illustrate the functionality. Click on the current axis after executing each command:

CallbackStack(gca,'ButtonDownFcn','disp(''Hello'')') % Now click
CallbackStack(gca,'ButtonDownFcn',{@disp, 'World'}) % Click again
CallbackStack(gca,'ButtonDownFcn',{@disp, 'Hello'}) % ...
CallbackStack(gca,'ButtonDownFcn',{@disp, 'Hello'})
CallbackStack(gca,'ButtonDownFcn',{@disp, 'World'},'add')
CallbackStack(gca,'ButtonDownFcn',{@disp, 'World'},'remove')

This should give you an idea of how to add/append/remove callbacks to an object. OK, hope you find this useful. For further details have a look in the help contained in the file.

Sebastian

Cite As

Sebastian Hölz (2026). Callback Stack (https://www.mathworks.com/matlabcentral/fileexchange/21625-callback-stack), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.2.0.0

Revision 33:
- Better handling of different callback-styles (string, simple function handle, cell array).
- Removed some error-checking.
- New "add"-switch
- Bug-fixes.

1.0.0.0