Callback Stack

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

View License

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.


Cite As

Sebastian Hölz (2024). Callback Stack (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Graphics Object Properties in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

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