<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>UI Elements (GNU Octave (version 5.1.0))</title> <meta name="description" content="UI Elements (GNU Octave (version 5.1.0))"> <meta name="keywords" content="UI Elements (GNU Octave (version 5.1.0))"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <link href="index.html#Top" rel="start" title="Top"> <link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index"> <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="GUI-Development.html#GUI-Development" rel="up" title="GUI Development"> <link href="GUI-Utility-Functions.html#GUI-Utility-Functions" rel="next" title="GUI Utility Functions"> <link href="Progress-Bar.html#Progress-Bar" rel="prev" title="Progress Bar"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} blockquote.smallquotation {font-size: smaller} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} div.smalldisplay {margin-left: 3.2em} div.smallexample {margin-left: 3.2em} div.smalllisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: inherit; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: inherit; font-size: smaller} pre.smalllisp {font-size: smaller} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> <link rel="stylesheet" type="text/css" href="octave.css"> </head> <body lang="en"> <a name="UI-Elements"></a> <div class="header"> <p> Next: <a href="GUI-Utility-Functions.html#GUI-Utility-Functions" accesskey="n" rel="next">GUI Utility Functions</a>, Previous: <a href="Progress-Bar.html#Progress-Bar" accesskey="p" rel="prev">Progress Bar</a>, Up: <a href="GUI-Development.html#GUI-Development" accesskey="u" rel="up">GUI Development</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> </div> <hr> <a name="UI-Elements-1"></a> <h3 class="section">35.3 UI Elements</h3> <p>The ui* series of functions work best with the <code>qt</code> graphics toolkit, although some functionality is available with the <code>fltk</code> toolkit. There is no support for the <code>gnuplot</code> toolkit. </p> <a name="XREFuipanel"></a><dl> <dt><a name="index-uipanel"></a><em></em> <strong>uipanel</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uipanel-1"></a><em></em> <strong>uipanel</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uipanel-2"></a><em><var>hui</var> =</em> <strong>uipanel</strong> <em>(…)</em></dt> <dd> <p>Create a uipanel object. </p> <p>uipanels are used as containers to group other uicontrol objects. </p> <p>If <var>parent</var> is omitted then a uipanel for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>parent</var> is given then a uipanel relative to <var>parent</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uipanel object. </p> <p>Uipanel properties are documented at <a href="Uipanel-Properties.html#Uipanel-Properties">Uipanel Properties</a>. </p> <p>The optional return value <var>hui</var> is a graphics handle to the created uipanel object. </p> <p>Examples: </p> <div class="example"> <pre class="example">## create figure and panel on it f = figure; p = uipanel ("title", "Panel Title", "position", [.25 .25 .5 .5]); ## add two buttons to the panel b1 = uicontrol ("parent", p, "string", "A Button", ... "position", [18 10 150 36]); b2 = uicontrol ("parent", p, "string", "Another Button", ... "position",[18 60 150 36]); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuicontrol">uicontrol</a>. </p></dd></dl> <a name="XREFuibuttongroup"></a><dl> <dt><a name="index-uibuttongroup"></a><em><var>hui</var> =</em> <strong>uibuttongroup</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uibuttongroup-1"></a><em><var>hui</var> =</em> <strong>uibuttongroup</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uibuttongroup-2"></a><em></em> <strong>uibuttongroup</strong> <em>(<var>h</var>)</em></dt> <dd> <p>Create a uibuttongroup object and return a handle to it. </p> <p>A uibuttongroup is used to group uicontrol objects. </p> <p>If <var>parent</var> is omitted then a uibuttongroup for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>parent</var> is given then a uibuttongroup relative to <var>parent</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uibuttongroup object. </p> <p>Properties of uibuttongroup objects are documented at <a href="Uibuttongroup-Properties.html#Uibuttongroup-Properties">Uibuttongroup Properties</a>. </p> <p>Examples: </p> <div class="example"> <pre class="example">## Create figure and panel on it f = figure; ## Create a button group gp = uibuttongroup (f, "Position", [ 0 0.5 1 1]) ## Create a buttons in the group b1 = uicontrol (gp, "style", "radiobutton", ... "string", "Choice 1", ... "Position", [ 10 150 100 50 ]); b2 = uicontrol (gp, "style", "radiobutton", ... "string", "Choice 2", ... "Position", [ 10 50 100 30 ]); ## Create a button not in the group b3 = uicontrol (f, "style", "radiobutton", ... "string", "Not in the group", ... "Position", [ 10 50 100 50 ]); </pre></div> <p>When called with a single argument <var>h</var> which is a handle to an existing uibuttongroup object, switch the focus to the specified uibuttongroup. This functionality is not currently implemented. </p> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuipanel">uipanel</a>. </p></dd></dl> <a name="XREFuicontrol"></a><dl> <dt><a name="index-uicontrol"></a><em><var>hui</var> =</em> <strong>uicontrol</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uicontrol-1"></a><em><var>hui</var> =</em> <strong>uicontrol</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uicontrol-2"></a><em></em> <strong>uicontrol</strong> <em>(<var>h</var>)</em></dt> <dd> <p>Create a uicontrol object and return a handle to it. </p> <p>A uicontrol object is used to create simple interactive controls such as push buttons, checkboxes, edit and list controls. </p> <p>If <var>parent</var> is omitted then a uicontrol for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>parent</var> is given then a uicontrol relative to <var>parent</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uicontrol object. </p> <p>Properties of uicontrol objects are documented at <a href="Uicontrol-Properties.html#Uicontrol-Properties">Uicontrol Properties</a>. </p> <p>The type of uicontrol created is specified by the <var>style</var> property. If no style property is provided, a push button will be created. </p> <p>Valid styles for uicontrol are: </p> <dl compact="compact"> <dt><code>"checkbox"</code></dt> <dd><p>Create a checkbox control that allows user on/off selection. </p> </dd> <dt><code>"edit"</code></dt> <dd><p>Create an edit control that allows user input of single or multiple lines of text. </p> </dd> <dt><code>"listbox"</code></dt> <dd><p>Create a listbox control that displays a list of items and allows user selection of single or multiple items. </p> </dd> <dt><code>"popupmenu"</code></dt> <dd><p>Create a popupmenu control that displays a list of options that can be selected when the user clicks on the control. </p> </dd> <dt><code>"pushbutton"</code></dt> <dd><p>Create a push button control that allows user to press to cause an action. </p> </dd> <dt><code>"radiobutton"</code></dt> <dd><p>Create a radio button control intended to be used for mutually exclusive input in a group of radiobutton controls. </p> </dd> <dt><code>"slider"</code></dt> <dd><p>Create a slider control that allows user selection from a range of values by sliding knob on the control. </p> </dd> <dt><code>"text"</code></dt> <dd><p>Create a static text control to display single or multiple lines of text. </p> </dd> <dt><code>"togglebutton"</code></dt> <dd><p>Create a toggle button control that appears like a push button but allows the user to select between two states. </p> </dd> </dl> <p>Examples: </p> <div class="example"> <pre class="example">## Create figure and panel on it f = figure; ## Create a button (default style) b1 = uicontrol (f, "string", "A Button", ... "position", [10 10 150 40]); ## Create an edit control e1 = uicontrol (f, "style", "edit", "string", "editable text", ... "position", [10 60 300 40]); ## Create a checkbox c1 = uicontrol (f, "style", "checkbox", "string", "a checkbox", ... "position", [10 120 150 40]); </pre></div> <p>When called with a single argument <var>h</var> which is a handle to an existing uicontrol object, switch the keyboard focus to the specified uicontrol. As a result, the uicontrol object will receive keyboard events that can be processed using the <code>"keypressfcn"</code> callback. </p> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuipanel">uipanel</a>. </p></dd></dl> <a name="XREFuitable"></a><dl> <dt><a name="index-uitable"></a><em><var>hui</var> =</em> <strong>uitable</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uitable-1"></a><em><var>hui</var> =</em> <strong>uitable</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dd><p>Create a uitable object and return a handle to it. </p> <p>A uitable object is used to show tables of data in a figure window. </p> <p>If <var>parent</var> is omitted then a uitable for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>parent</var> is given then a uitable relative to <var>parent</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uitable object. </p> <p>Properties of uitable objects are documented at <a href="Uitable-Properties.html#Uitable-Properties">Uitable Properties</a>. </p> <p>Examples: </p> <div class="example"> <pre class="example">## Create figure and place a table on it f = figure (); m = magic (8); t = uitable (f, "Data", m, "ColumnWidth", { 40 }); </pre><pre class="example"> </pre><pre class="example">## Create a table with labeled rows and columns f = figure (); d = reshape (1:9, [3, 3]); row_names = { "Row1", "Row2", "Row3" }; col_names = { "Col1", "Col2", "Col3" }; t = uitable (f, "Data", d, ... "RowName", row_names, "ColumnName", col_names); p = get (t, "Position"); e = get (t, "Extent"); p(3:4) = e(3:4); set (t, "Position", p); </pre><pre class="example"> ## Long demo with callbacks function uitable_demo () f = figure ("Name", "uitable Demo", "Menu", "none", ... "Position", [10 10 1000 680]); ## A basic example d = { "char" , "A string"; "double" , 12.3456789; "complex", 1+2i; "bool" , true; "single" , single (12.3456789); "int8" , int8 (-128); "uint8" , uint8 (128); "int16" , int16 (-32768); "uint16" , uint16 (32768); "int32" , int32 (-2147483648); "uint32" , uint32 (2147483648); "int64" , int64 (-2147483649); "uint64" , uint64 (2147843649)}; popup_options = {"A", "B", "C", "D", "E"}; columnformat_options = { "[]", "char", "pop-up", "numeric", ... "short", "short e", "short eng", ... "short g", "long", "long e", ... "long eng", "long g", "bank", "+", ... "rat", "logical"}; columnformat_values = columnformat_options; columnformat_values{1} = ""; columnformat_values{3} = popup_options; default_data = repmat (d(:,2), 1, columns (columnformat_options)); b_add = uicontrol (f, "Position", [285 630 600 50], ... "UserData", [rows(d), 1], ... "Style", "pushbutton", ... "String", "Set data at selected point to selected datatype"); l_type_table = uicontrol (f, "Position", [ 0 603 120 25 ], ... "String", "Datatype Table:", ... "Style", "text"); t_type_table = uitable (f, "Position", [ 0 530 1000 70 ], ... "Data", transpose (d(:, 2)), ... "ColumnName", transpose (d(:, 1)), ... "RowName", "Value", ... "CellSelectionCallback", ... @(x, y) set (b_add, "UserData", y.Indices )); l_point_table = uicontrol (f, "Position", [ 0 640 60 25 ], ... "String", "Point:", ... "Style", "text"); t_point_table = uitable (f, "Position", [ 80 630 160 42 ], ... "RowName", [], ... "ColumnName", {"x", "y"}, ... "Data", [ 1, 1 ], ... "ColumnEditable", true); l_editable_table = uicontrol (f, "Position", [ 0 502 200 25 ], ... "Style", "text", ... "String", "Set Data Columns Editable:"); t_editable_table = ... uitable (f, "Position", [ 0 434 1000 65 ], ... "Data", repmat (false, 1, columns (default_data)), ... "ColumnEditable", true); l_format_table = uicontrol (f, "Position", [ 0 406 200 25 ], ... "Style", "text", ... "String", "Set Data Column Format:"); t_format_table = ... uitable (f, "Position", [ 0 338 1000 65 ], ... "Data", columnformat_options, ... "ColumnEditable", true, ... "ColumnFormat", arrayfun (@(x) {columnformat_options}, ... 1:columns (columnformat_options))); l_data_table = uicontrol (f, "Style", "text", ... "String", "Data:", ... "Position", [ 0 310 60 25 ]); t_data_table = uitable (f, "Position", [ 0 15 1000 290 ], ... "Data", default_data, ... "ColumnFormat", columnformat_values); set (t_format_table, ... "CellEditCallback", ... @(x, y) update_column_format (y.NewData, y.Indices, ... t_data_table, popup_options)); set (t_point_table, "CellEditCallback", ... @(x, y) validate_point_table (x, y, t_data_table)); set (t_editable_table, "CellEditCallback", ... @(x,y) set (t_data_table, ... "ColumnEditable", get (t_editable_table, "Data"))); set (b_add, ... "Callback", @(x, y) update_data (b_add, t_point_table, ... t_type_table, t_data_table)); set (t_data_table, "CellSelectionCallback", ... @(x, y) update_point_table (y.Indices, t_point_table)); endfunction function validate_point_table (h, dat, t_data_table) if (! (dat.NewData > 0 && ... dat.NewData < size (get (t_data_table, "Data"), dat.Indices(1, 1)) + 1)) d = get (h, "Data"); d(dat.Indices) = 1; set (h, "Data", d); endif endfunction function update_column_format (format, indices, t_data_table, ... popup_options) cf = get (t_data_table, "ColumnFormat"); if (strcmp (format, "[]")) format = ""; elseif (strcmp (format, "pop-up")) format = popup_options; endif cf{indices(1,2)} = format; set (t_data_table, "ColumnFormat", cf); endfunction function update_point_table (indices, t_point_table) if (isempty (indices)) indices = [1, 1]; endif set (t_point_table, "Data", indices(1,:)); endfunction function update_data (b_add, t_point_table, t_type_table, ... t_data_table) indices = get (b_add, "UserData"); if (isempty (indices)) indices = [1, 1]; endif d = get (t_data_table, "Data"); t_type_table_data = get (t_type_table, "Data"); p = get (t_point_table, "Data"); d(p(1,2), p(1,1)) = t_type_table_data(indices(1,2)); set (t_data_table, "Data", d); endfunction </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuicontrol">uicontrol</a>. </p></dd></dl> <a name="XREFuimenu"></a><dl> <dt><a name="index-uimenu"></a><em><var>hui</var> =</em> <strong>uimenu</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uimenu-1"></a><em><var>hui</var> =</em> <strong>uimenu</strong> <em>(<var>h</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dd><p>Create a uimenu object and return a handle to it. </p> <p>If <var>h</var> is omitted then a top-level menu for the current figure is created. If <var>h</var> is given then a submenu relative to <var>h</var> is created. </p> <p>uimenu objects have the following specific properties: </p> <dl compact="compact"> <dt><code>"accelerator"</code></dt> <dd><p>A string containing the key combination together with CTRL to execute this menu entry (e.g., <code>"x"</code> for CTRL+x). </p> </dd> <dt><code>"callback"</code></dt> <dd><p>Is the function called when this menu entry is executed. It can be either a function string (e.g., <code>"myfun"</code>), a function handle (e.g., @myfun) or a cell array containing the function handle and arguments for the callback function (e.g., {@myfun, arg1, arg2}). </p> </dd> <dt><code>"checked"</code></dt> <dd><p>Can be set <code>"on"</code> or <code>"off"</code>. Sets a mark at this menu entry. </p> </dd> <dt><code>"enable"</code></dt> <dd><p>Can be set <code>"on"</code> or <code>"off"</code>. If disabled the menu entry cannot be selected and it is grayed out. </p> </dd> <dt><code>"foregroundcolor"</code></dt> <dd><p>A color value setting the text color for this menu entry. </p> </dd> <dt><code>"label"</code></dt> <dd><p>A string containing the label for this menu entry. A <code>"&"</code>-symbol can be used to mark the <code>"accelerator"</code> character (e.g., <code>"E&xit"</code>) </p> </dd> <dt><code>"position"</code></dt> <dd><p>An scalar value containing the relative menu position. The entry with the lowest value is at the first position starting from left or top. </p> </dd> <dt><code>"separator"</code></dt> <dd><p>Can be set <code>"on"</code> or <code>"off"</code>. If enabled it draws a separator line above the current position. It is ignored for top level entries. </p> </dd> </dl> <p>The full list of properties is documented at <a href="Uimenu-Properties.html#Uimenu-Properties">Uimenu Properties</a>. </p> <p>Examples: </p> <div class="example"> <pre class="example">f = uimenu ("label", "&File", "accelerator", "f"); e = uimenu ("label", "&Edit", "accelerator", "e"); uimenu (f, "label", "Close", "accelerator", "q", ... "callback", "close (gcf)"); uimenu (e, "label", "Toggle &Grid", "accelerator", "g", ... "callback", "grid (gca)"); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>. </p></dd></dl> <a name="XREFuicontextmenu"></a><dl> <dt><a name="index-uicontextmenu"></a><em><var>hui</var> =</em> <strong>uicontextmenu</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uicontextmenu-1"></a><em><var>hui</var> =</em> <strong>uicontextmenu</strong> <em>(<var>h</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dd> <p>Create a uicontextmenu object and return a handle to it. </p> <p>If <var>h</var> is omitted then a uicontextmenu for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>h</var> is given then a uicontextmenu relative to <var>h</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uicontextmenu object. </p> <p>Uicontextmenu properties are documented at <a href="Uicontextmenu-Properties.html#Uicontextmenu-Properties">Uicontextmenu Properties</a>. </p> <p>Examples: </p> <div class="example"> <pre class="example">## create figure and uicontextmenu f = figure (); c = uicontextmenu (f); ## create menus in the context menu m1 = uimenu ("parent", c, "label", "Menu item 1", ... "callback", "disp('menu item 1')"); m2 = uimenu ("parent", c, "label", "Menu item 2", ... "callback", "disp('menu item 2')"); ## set the context menu for the figure set (f, "uicontextmenu", c); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuimenu">uimenu</a>. </p></dd></dl> <a name="XREFuitoolbar"></a><dl> <dt><a name="index-uitoolbar"></a><em></em> <strong>uitoolbar</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uitoolbar-1"></a><em></em> <strong>uitoolbar</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uitoolbar-2"></a><em><var>hui</var> =</em> <strong>uitoolbar</strong> <em>(…)</em></dt> <dd> <p>Create a uitoolbar object. A uitoolbar displays uitoggletool and uipushtool buttons. </p> <p>If <var>parent</var> is omitted then a uitoolbar for the current figure is created. If no figure is available, a new figure is created first. </p> <p>If <var>parent</var> is given then a uitoolbar relative to <var>parent</var> is created. </p> <p>Any provided property value pairs will override the default values of the created uitoolbar object. </p> <p>Uitoolbar properties are documented at <a href="Uitoolbar-Properties.html#Uitoolbar-Properties">Uitoolbar Properties</a>. </p> <p>The optional return value <var>hui</var> is a graphics handle to the created uitoolbar object. </p> <p>Examples: </p> <div class="example"> <pre class="example">% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuitoggletool">uitoggletool</a>, <a href="#XREFuipushtool">uipushtool</a>. </p></dd></dl> <a name="XREFuipushtool"></a><dl> <dt><a name="index-uipushtool"></a><em></em> <strong>uipushtool</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uipushtool-1"></a><em></em> <strong>uipushtool</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uipushtool-2"></a><em><var>hui</var> =</em> <strong>uipushtool</strong> <em>(…)</em></dt> <dd> <p>Create a uipushtool object. </p> <p>uipushtools are buttons that appear on a figure toolbar. The button is created with a border that is shown when the user hovers over the button. An image can be set using the cdata property. </p> <p>If <var>parent</var> is omitted then a uipushtool for the current figure is created. If no figure is available, a new figure is created first. If a figure is available, but does not contain a uitoolbar, a uitoolbar will be created. </p> <p>If <var>parent</var> is given then a uipushtool is created on the <var>parent</var> uitoolbar. </p> <p>Any provided property value pairs will override the default values of the created uipushtool object. </p> <p>Uipushtool properties are documented at <a href="Uipushtool-Properties.html#Uipushtool-Properties">Uipushtool Properties</a>. </p> <p>The optional return value <var>hui</var> is a graphics handle to the created uipushtool object. </p> <p>Examples: </p> <div class="example"> <pre class="example">% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f); % create a 19x19x3 black square img=zeros(19,19,3); % add pushtool button to toolbar b = uipushtool (t, "cdata", img); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuitoolbar">uitoolbar</a>, <a href="#XREFuitoggletool">uitoggletool</a>. </p></dd></dl> <a name="XREFuitoggletool"></a><dl> <dt><a name="index-uitoggletool"></a><em></em> <strong>uitoggletool</strong> <em>(<var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uitoggletool-1"></a><em></em> <strong>uitoggletool</strong> <em>(<var>parent</var>, <var>property</var>, <var>value</var>, …)</em></dt> <dt><a name="index-uitoggletool-2"></a><em><var>hui</var> =</em> <strong>uitoggletool</strong> <em>(…)</em></dt> <dd> <p>Create a uitoggletool object. </p> <p>uitoggletool are togglebuttons that appear on a figure toolbar. The button is created with a border that is shown when the user hovers over the button. An image can be set using the cdata property. </p> <p>If <var>parent</var> is omitted then a uitoggletool for the current figure is created. If no figure is available, a new figure is created first. If a figure is available, but does not contain a uitoolbar, a uitoolbar will be created. </p> <p>If <var>parent</var> is given then a uitoggletool is created on the <var>parent</var> uitoolbar. </p> <p>Any provided property value pairs will override the default values of the created uitoggletool object. </p> <p>Uitoggletool properties are documented at <a href="Uitoggletool-Properties.html#Uitoggletool-Properties">Uitoggletool Properties</a>. </p> <p>The optional return value <var>hui</var> is a graphics handle to the created uitoggletool object. </p> <p>Examples: </p> <div class="example"> <pre class="example">% create figure without a default toolbar f = figure ("toolbar", "none"); % create empty toolbar t = uitoolbar (f); % create a 19x19x3 black square img=zeros(19,19,3); % add uitoggletool button to toolbar b = uitoggletool (t, "cdata", img); </pre></div> <p><strong>See also:</strong> <a href="Multiple-Plot-Windows.html#XREFfigure">figure</a>, <a href="#XREFuitoolbar">uitoolbar</a>, <a href="#XREFuipushtool">uipushtool</a>. </p></dd></dl> <hr> <div class="header"> <p> Next: <a href="GUI-Utility-Functions.html#GUI-Utility-Functions" accesskey="n" rel="next">GUI Utility Functions</a>, Previous: <a href="Progress-Bar.html#Progress-Bar" accesskey="p" rel="prev">Progress Bar</a>, Up: <a href="GUI-Development.html#GUI-Development" accesskey="u" rel="up">GUI Development</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p> </div> </body> </html>