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!