fn_control
Contents
Syntax
X = fn_control(s[,fun][,spec][,hparent] ...
Description
[,'okbutton|nobutton'][,'ncol',n][,'title',titl])
function fn_control('demo')
cluster of controls representing the structure s (changing the
control changes the values in X, and changing the values in X
automatically updates the control display)Input:
- s structure to intialize X; s can also be a 2-element
structure, standing for [s spec]
- fun function with prototype @(s)fun, which will be called
by X
- spec structure with additional information on the aspect and
behavior of the controls (see below); it should have
the same fields as s (though some fields can be
omitted)
- hp parent figure or uipanel where to create the controls
(a new figure is created if not specified)
- 'okbutton' or 'nobutton'
specifically specify to have an ok button or no buttonOutput:
- X a fn_control object, which can be manipulated using
usual structure syntaxPossible values for the fields of spec:
[] automatic guess how to display the control
'logical' check box
'multcheck [n]' array of n check boxes
{'multcheck|multlist' 'str1' 'str2' ...}
array of n check boxes or list display - specify the
name of each box/list entry
{'str1' 'str2' ...}
popup menu with specified string values
{['list|radio|button'] 'str1','str2',...}
specification of the type of display [default: list]
for a choice between string values
if one option is the empty string and style is 'radio'
or 'button', this option will correspond to no button
pressed
'char [n [nlin]]'
input for string, if n is specified, sets the minimal
length of the input in number of characters, otherwise,
minimal length is set according to the value in s
if nlin is specified, control occupies nlin lines
instead of 1
'double [n]' input for numerical array
'single [n]' input for numerical array
'slider min max [step] [format]'
slider, specify min, max, step (optional) and format of the
string representation (optional)
'logslider min max [step] [format]'
logarithmic scale slider (min and max should be the log of
the effective min and max)
'loglogslider min max [step] [format]'
logarithmic scale slider, with possibility to select
also a negative number
'stepper [n [min [max [step [format]]]]]'
input for n double
if n>1, it is possible to define n values for min, max,
step, separated by commas, for example: 0,-Inf,-1
'clip' input for 2-elements vector (usually, min and max);
move the mouse in the control area to change the value
'color' a small color table to select most-common color and
grayscale values
'xdouble, xsingle, xchar [n], x[log[log]]slider min max [..],
xstepper, xclip, xcolor'
additional display of a check box: value will be empty
if the box is not checked
it is possible to specify a starting value inside
brackets at the end of the flag, for example:
'xchar 12 [yes we can]' (here the brackets do not mean
that this starting value is optional, but they must
appear in the string)
'file|dir' button for selecting file name / directory nameSpecial specifications in spec:
'label' field name will be displayed (usually labels a new
section) but does not correspond to any data
'struct' or full specification sub-structure
button to edit the sub-structure
'hide' value is not displayed
'readonly [n]'
read-only display of value as a string
{'push' 'str1','str2',...}
create array of push buttons that will cause an action
to be launched
in this case callback fun will be called with action
string as an argument (instead of structure s)One might want to display small sentences rather than simple names when prompting user. For this, the following syntaxes are allowed: - the sequence '__' in the field names will be replace by a space in the display - alternatively, spec can be a 2-elements structure (or s a 3-elements structures), the second element containing the long-name version for each field.
See also fn_structedit, fn_input, fn_propcontrol
Source
Thomas Deneux
Copyright 2007-2017