annotate doc/interpreter/gui.txi @ 20628:3af34e1ef330

Preliminary inclusion of uixx objects properties in the manual (bug #46076) * doc/interpreter/genpropdoc.m: add uixx objects to the list of supported graphics objects * doc/interpreter/genpropdoc.m (get_doc): add uixx objects and their specific properties (currently empty documentation) * doc/interpreter/plot.txi("Interacting with Plots"): add a note and a reference about ui* family of functions. * doc/interpreter/plot.txi("Interacting with Plots"): for consistency, remove "uimenu" reference. All the other uixx are already in the gui section * doc/interpreter/plot.txi("graphics data structure"): add uixx objects * doc/interpreter/gui.txi("UI Elements"): add "uimenu" function reference * doc/module.mk: add rules to build uixx properties texi files. * graphics.in.h: make uixx "__object__" property (Octave internal) hidden so that it does not appear in the documentation.
author Pantxo Diribarne <pantxo.diribarne@gmail.com>
date Fri, 09 Oct 2015 16:25:27 +0200
parents 21dbaf135667
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19731
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 19630
diff changeset
1 @c Copyright (C) 2012-2015 Rik Wehbring
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
2 @c
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
3 @c This file is part of Octave.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
4 @c
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
5 @c Octave is free software; you can redistribute it and/or modify it
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
6 @c under the terms of the GNU General Public License as published by the
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
7 @c Free Software Foundation; either version 3 of the License, or (at
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
8 @c your option) any later version.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17756
diff changeset
9 @c
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
10 @c Octave is distributed in the hope that it will be useful, but WITHOUT
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
11 @c ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
12 @c FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
13 @c for more details.
19627
446c46af4b42 strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents: 17756
diff changeset
14 @c
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
15 @c You should have received a copy of the GNU General Public License
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
16 @c along with Octave; see the file COPYING. If not, see
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
17 @c <http://www.gnu.org/licenses/>.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
18
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
19 @node GUI Development
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
20 @chapter GUI Development
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
21
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
22 Octave is principally a batch or command-line language. However, it does
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
23 offer some features for constructing graphical interfaces that interact with
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
24 users.
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
25
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
26 The GUI elements available are I/O dialogs, a progress bar, and UI elements
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
27 for plot windows. For example, rather than hardcoding a filename for output
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
28 results a script can open a dialog box and allow the user to choose a file.
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
29 Similarly, if a calculation is expected to take a long time a script can
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
30 display a progress bar. The various UI elements can be used to fully customize
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
31 the plot window with menubars, context menus,
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
32
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
33 Several utility functions make it possible to store private data for use with
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
34 a GUI which will not pollute the user's variable space.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
35
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
36 Finally, a program written in Octave might want to have long term storage of
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
37 preferences or state variables. This can be done with user-defined
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
38 preferences.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
39
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
40 @menu
17152
f2a8592b8fbd doc: Shorten some long subsection names in Manual.
Rik <rik@octave.org>
parents: 17017
diff changeset
41 * I/O Dialogs::
f2a8592b8fbd doc: Shorten some long subsection names in Manual.
Rik <rik@octave.org>
parents: 17017
diff changeset
42 * Progress Bar::
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
43 * UI Elements::
17152
f2a8592b8fbd doc: Shorten some long subsection names in Manual.
Rik <rik@octave.org>
parents: 17017
diff changeset
44 * GUI Utility Functions::
f2a8592b8fbd doc: Shorten some long subsection names in Manual.
Rik <rik@octave.org>
parents: 17017
diff changeset
45 * User-Defined Preferences::
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
46 @end menu
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
47
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
48 @node I/O Dialogs
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
49 @section I/O Dialogs
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
50
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
51 Simple dialog menus are available for choosing directories or files. They
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
52 return a string variable which can then be used with any command requiring
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
53 a file name.
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
54
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
55 @DOCSTRING(uigetdir)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
56
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
57 @DOCSTRING(uigetfile)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
58
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
59 @DOCSTRING(uiputfile)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
60
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
61 @node Progress Bar
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
62 @section Progress Bar
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
63 @cindex Progress Bar
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
64
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
65 @DOCSTRING(waitbar)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
66
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
67 @node UI Elements
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
68 @section UI Elements
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
69
20133
21dbaf135667 doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents: 19891
diff changeset
70 The @nospell{ui*} series of functions work best with the @code{qt} graphics
21dbaf135667 doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents: 19891
diff changeset
71 toolkit, although some functionality is available with the @code{fltk} toolkit.
21dbaf135667 doc: Periodic spellcheck of documentation.
Rik <rik@octave.org>
parents: 19891
diff changeset
72 There is no support for the @code{gnuplot} toolkit.
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
73
20628
3af34e1ef330 Preliminary inclusion of uixx objects properties in the manual (bug #46076)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20133
diff changeset
74 @DOCSTRING(uimenu)
3af34e1ef330 Preliminary inclusion of uixx objects properties in the manual (bug #46076)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20133
diff changeset
75
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
76 @DOCSTRING(uicontextmenu)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
77
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
78 @DOCSTRING(uicontrol)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
79
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
80 @DOCSTRING(uipanel)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
81
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
82 @DOCSTRING(uipushtool)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
83
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
84 @DOCSTRING(uitoggletool)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
85
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
86 @DOCSTRING(uitoolbar)
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
87
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
88 @node GUI Utility Functions
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
89 @section GUI Utility Functions
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
90
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
91 These functions do not implement a GUI element but are useful when developing
19876
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
92 programs that do. The functions @code{uiwait}, @code{uiresume}, and
03adada53347 doc: Add ui* family of functions to Octave manual.
Rik <rik@octave.org>
parents: 19731
diff changeset
93 @code{waitfor} are only available with the @code{qt} or @code{fltk} toolkits.
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
94
17756
9aff1c9fd70f doc: Add missing functions to manual.
Rik <rik@octave.org>
parents: 17744
diff changeset
95 @DOCSTRING(desktop)
9aff1c9fd70f doc: Add missing functions to manual.
Rik <rik@octave.org>
parents: 17744
diff changeset
96
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
97 @DOCSTRING(guidata)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
98
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
99 @DOCSTRING(guihandles)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
100
19891
bf511802add7 doc: Add have_window_system() to documentation.
Rik <rik@octave.org>
parents: 19876
diff changeset
101 @DOCSTRING(have_window_system)
bf511802add7 doc: Add have_window_system() to documentation.
Rik <rik@octave.org>
parents: 19876
diff changeset
102
17756
9aff1c9fd70f doc: Add missing functions to manual.
Rik <rik@octave.org>
parents: 17744
diff changeset
103 @DOCSTRING(isguirunning)
9aff1c9fd70f doc: Add missing functions to manual.
Rik <rik@octave.org>
parents: 17744
diff changeset
104
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
105 @DOCSTRING(uiwait)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
106
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
107 @DOCSTRING(uiresume)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
108
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
109 @DOCSTRING(waitfor)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
110
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
111 @node User-Defined Preferences
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
112 @section User-Defined Preferences
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
113
17017
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
114 @DOCSTRING(getpref)
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
115
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
116 @DOCSTRING(setpref)
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
117
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
118 @DOCSTRING(addpref)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
119
17017
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
120 @DOCSTRING(rmpref)
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
121
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
122 @DOCSTRING(ispref)
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
123
17017
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
124 @DOCSTRING(prefdir)
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
125
17017
8003a4f013be Announce new prefdir, preferences functions and add to manual.
Rik <rik@octave.org>
parents: 14138
diff changeset
126 @DOCSTRING(preferences)
13943
5820f8ce683e doc: Add undocumented functions to manual for 3.6.0 release
Rik <octave@nomad.inbox5.com>
parents:
diff changeset
127