fn_supercontrol
Contents
Syntax
X = fn_supercontrol([hp,]specs[,callback[,x0]]) specs = fn_supercontrol.examplespecs fn_supercontrol('demo')
Description
Input: - hp uipanel handle - specs structure with fields: . name string . controls structure with fields (* is mandatory): style* popupmenu, edit, checkbox, radiobutton, togglebutton, pushbutton, stepper, file or dir string the 'string' property of the control length* relative width occupied by the control + its label if any default* default value (type depends on control style) label a label placed on the left labellength relative width occupied by the label (set to 0 if no label) callback for push button only: - function with prototype valuek = fun(value) where value is a cell array and valuek an element of this array [MORE DOC NEEDED] - or character array: flag that will be sent to X.callback type type of the value (useful in particular for the 'edit' style) more more properties stored in a cell array with successive pairs of property names/values - callback function to be executed when control values are changed by user, with prototype @(x)fun(x), where x is X.x (see below) - x0 initial value (see below comments on X.x)
Output: - X fn_supercontrol object; X.x is a structure that stores the values, with fields: .name string .active logical .value cell array with values (one per control in the specs of the same name)
One can change the values either by user action (acionning the controls) or by setting the value of X.x.
Special notes: - chgactive flag: The callback might be invoked but the "active" part of the value has not changed (for example, when a new, inactive line has been creadted). The property X.activechg says whether this active part has changed or not. - 'edit': if the type is set to 'char' or not set, non-character values are stored in the 'userdata' property and the string 'userdata' appears; the same happens when the type is numeric or logical and values are too large to be displayed correctly - 'pushbutton': when pressing the button, the callback is executed and changes the value accordingly
See also fn_control
Source
Thomas Deneux
Copyright 2010-2017