| User guide | ![]() ![]() |

There are many ways to build graphical applications in MATLAB, but here we will take a very simple approach. If the application were to become larger and more complex, this approach would be changed to better mitigate the complexity. Some notes on this are contained at the end.
The application is structured as a single function with callbacks and other helper functions stored as "nested" subfunctions, i.e. functions inside the main function. This has the advantage that the nested subfunctions can share access to any variables declared in the main function. This is also a risk as anything we accidentally declare in the main function becomes "global" within the application. For that reason all logic is put into subfunctions and we restrict the main function to just declaring two shared variables:
functiondemoBrowser()% Declare shared variablesdata = createData(); gui = createInterface( data.DemoNames );% Now update the GUI with the current dataupdateInterface(); redrawDemo();% Helper subfunctions.functiondata = createData() ...end;functiongui = createInterface(names) ...end;functionupdateInterface() ...end;functionredrawDemo() ...end;% Callback subfunctions.functiononMenuSelection() ...end;functiononListSelection() ...end;functiononDemoHelp() ...end;functiononHelp() ...end;functiononExit() ...end;end% Main function
Note that all of the work is done in subfunctions. Most subfunctions are callbacks executed when a button is pressed or a menu selected. The four used at startup are helper functions:
We will not dig into all the subfunctions and callbacks, but instead concentrate on the GUI creation (createInterface) and update (updateInterface).
(Full source code for this application is available here: [ view | edit | run ] )
![]() |
A complete example | [Top] | createInterface | ![]() |