Simple settings dialog

A simple auto-resizing modal dialog box that lets the user change a series of settings.
634 Downloads
Updated 18 Feb 2021

View License

The settings dialog is constructed with a simple procedural syntax that accepts a variable number of control descriptors. A control descriptor is a MatLab class that defines the user interface presentation.

gui_logical descriptors are translated into two-state checkboxes. The properties Name, Caption and Default translate into parameter name, descriptive label presented to the user and initial value (true or false), respectively.

gui_option descriptors are mapped into a set of mutually exclusive radio buttons. The properties Name and Caption have similar roles as in the case of gui_logical, while Choices is a list of possible values a parameter may take, and Labels is a list of labels displayed to the user, each corresponding to a single radio button. The property Default is an ordinal or one of the values in Choices.

The settings dialog returns a structure with fields are defined by the descriptors' Name property and values as selected by the user (i.e. true/false for a checkbox, and one of the values in Choices for a set of radio buttons). If the dialog is canceled (either with the Cancel button or with the ESC key), an empty array is returned.

Example:

results = gui_settings_dlg( ...
'Sample settings dialog', ...
'Please choose an estimation strategy', ...
gui_option( ...
'Parameters', 'Estimated parameters', ...
{'Model','ModelNoise'}, {'model only','model and noise'}), ...
gui_option( ...
'SimulationMethod', 'Simulation method', ...
{'Single','Indeterminate'}, [], 'Indeterminate'), ...
gui_logical('ShowResults', 'Show results', false));

Output:
results =
Parameters: 'Model'
SimulationMethod: 'Indeterminate'
ShowResults: 1

MATLAB Release Compatibility
Created with R2008a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Dialog Boxes 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
1.0.0.1

Updated to R2020b

1.0.0.0