Updated 28 Jul 2010
Record a 'macro' from a GUI.
GUIHistory is used as a gateway function in a GUI callback. When user-written functions are called via GUIHistory instead of directly, GUIHistory generates the MATLAB code needed to replicate the commands given by the user on-the-fly. Multiple data files or MATLAB figures can then be analysed with just a few mouse clicks.
This generated code is written to the GUI figure application data area and can be saved as a ready-to-run MATLAB m-file.
GUIHistory handles user-written routines with pretty well any input: numeric, logical, character, scalars, vectors, matrices, cell arrays, structures, function handles and objects. It also neatly formats the code when parameter name/value pairs are used.
GUIHistory makes the following assumptions about your code:  that first argument to a function call is the handle of the relevant figure and  that user-written functions 'know' how to access the relevant data given this function handle. These assumptions will usually be met with GUI-based code.
Typically, you would add a few menu items to your GUI to control GUIHistory e.g. 'Start Recording', 'Pause Recording', 'Save History' etc. To help with writing the m-file, GUIHistory has a generic local function that can be called from the user's GUI menus.
GUIHistory is a generic version of the scExecute function originally developed as part of the sigTOOL project at King's College London.
Malcolm Lidierth (2023). GUIHistory (https://www.mathworks.com/matlabcentral/fileexchange/28322-guihistory), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.