File Exchange

image thumbnail

structdlg: a dialogue to edit structures

version 1.0.2.0 (8.47 KB) by Emmanuel Farhi
A dialogue is built to display editable fields from a structure

3 Downloads

Updated 21 Jun 2017

View License

structdlg: a dialogue which allows to modify structure(s) in a table

In modal (default) creation mode, the updated structure is returned upon
closing the window. A modal dialog box prevents a user from interacting
with other windows before responding to the modal dialog box.
In non-modal creation mode, the window is displayed, and remains visible
while the execution is resumed. The call to structdlg returns a
configuration which should be used as follows to retrieve the modified
structure later:
ad = structdlg(a, struct('CreateMode','non-modal'));
% continue execution, and actually edit and close the window
% ...
% get the modified structure (when closing window)
Data = getappdata(0,ad.tmp_storage); fields=Data(:,1); Data=Data(:,2:end);
new_a = cell2struct(reshape(Data, ad.size), fields, 1);
rmappdata(0, ad.tmp_storage);

input:
structure: the initial struct to edit
options: a set of options, namely:
options.Name: the name of the dialogue (string)
options.FontSize: the FontSize used to display the table
default: use the system FontSize.
options.ListString: the labels to be used for each structure field (cell).
the cell must have items 'fieldname description...'
default: use the structure member names.
options.TooltipString: a string to display (as help)
options.CreateMode: can be 'modal' (default) or 'non-modal'.
options.Tag: a tag for the dialogue.
options.CloseRequestFcn: a function handle or expresion to execute when
closing the dialogue in 'non-modal' mode.

output:
structure: the modified structure in 'modal' mode (default),
or the dialogue information structure in 'non-modal' mode.

Example:
a.Test=1; a.Second='blah'; structdlg(a)
options.ListString={'Test This is the test field','Second 2nd'};
structdlg([a a], options);

Version: June 2017
(c) E.Farhi, ILL. License: BSD. <ifit.mccode.org>

Comments and Ratings (1)

Updates

1.0.2.0

screenshot

1.0.1.0

Update to non-modal mode.

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: class2str

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.


Learn About Live Editor