annotate man/lispref/toolbar.texi @ 5791:9fae6227ede5

Silence texinfo 5.2 warnings, primarily by adding next, prev, and up pointers to all nodes. See xemacs-patches message with ID <5315f7bf.sHpFD7lXYR05GH6E%james@xemacs.org>.
author Jerry James <james@xemacs.org>
date Thu, 27 Mar 2014 08:59:03 -0600
parents 9eddcb9548e2
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 @c -*-texinfo-*-
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @c This is part of the XEmacs Lisp Reference Manual.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @c Copyright (C) 1995, 1996 Ben Wing.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 @c See the file lispref.texi for copying conditions.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 @setfilename ../../info/toolbar.info
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
6 @node Toolbar, Gutter, Dialog Boxes, Top
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 @chapter Toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 @cindex toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 @menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 * Toolbar Intro:: An introduction.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
12 * Creating Toolbar:: How to create a toolbar.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
13 * Toolbar Descriptor Format:: Accessing and modifying a toolbar's
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
14 properties.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 * Specifying the Toolbar:: Setting a toolbar's contents.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 * Other Toolbar Variables:: Controlling the size of toolbars.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
19 @node Toolbar Intro, Creating Toolbar, Toolbar, Toolbar
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 @section Toolbar Intro
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 A @dfn{toolbar} is a bar of icons displayed along one edge of a frame.
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
23 You can view a toolbar as a series of menu shortcuts---the most
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 common menu options can be accessed with a single click rather than
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 a series of clicks and/or drags to select the option from a menu.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 Consistent with this, a help string (called the @dfn{help-echo})
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 describing what an icon in the toolbar (called a @dfn{toolbar button})
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 does, is displayed in the minibuffer when the mouse is over the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 button.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 In XEmacs, a toolbar can be displayed along any of the four edges
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 of the frame, and two or more different edges can be displaying
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 toolbars simultaneously. The contents, thickness, and visibility of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 the toolbars can be controlled separately, and the values can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 be per-buffer, per-frame, etc., using specifiers (@pxref{Specifiers}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 Normally, there is one toolbar displayed in a frame. Usually, this is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 the standard toolbar, but certain modes will override this and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 substitute their own toolbar. In some cases (e.g. the VM package), a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 package will supply its own toolbar along a different edge from the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 standard toolbar, so that both can be visible at once. This standard
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 toolbar is usually positioned along the top of the frame, but this can
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 be changed using @code{set-default-toolbar-position}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 Note that, for each of the toolbar properties (contents, thickness,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 and visibility), there is a separate specifier for each of the four
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 toolbar positions (top, bottom, left, and right), and an additional
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 specifier for the ``default'' toolbar, i.e. the toolbar whose
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 position is controlled by @code{set-default-toolbar-position}. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 way this works is that @code{set-default-toolbar-position} arranges
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 things so that the appropriate position-specific specifiers for the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 default position inherit from the corresponding default specifiers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 That way, if the position-specific specifier does not give a value
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 (which it usually doesn't), then the value from the default
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 specifier applies. If you want to control the default toolbar, you
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 just change the default specifiers, and everything works. A package
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 such as VM that wants to put its own toolbar in a different location
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 from the default just sets the position-specific specifiers, and if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 the user sets the default toolbar to the same position, it will just
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 not be visible.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
62 @node Creating Toolbar, Toolbar Descriptor Format, Toolbar Intro, Toolbar
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
63 @section Creating Toolbar
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
64
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
65 @defun make-toolbar-specifier spec-list
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
66
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
67 Return a new @code{toolbar} specifier object with the given
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
68 specification list. @var{spec-list} can be a list of specifications
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
69 (each of which is a cons of a locale and a list of instantiators), a
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
70 single instantiator, or a list of instantiators. @xref{Specifiers}, for
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
71 more information about specifiers.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
72
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
73 Toolbar specifiers are used to specify the format of a toolbar. The
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
74 values of the variables @code{default-toolbar}, @code{top-toolbar},
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
75 @code{left-toolbar}, @code{right-toolbar}, and @code{bottom-toolbar} are
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
76 always toolbar specifiers.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
77
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
78 Valid toolbar instantiators are called "toolbar descriptors"
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
79 and are lists of vectors. See @code{default-toolbar} for a description
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
80 of the exact format.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
81 @end defun
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
82
1135
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 444
diff changeset
83 The default toolbar is created in @file{toolbar-items.el}. An example
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 444
diff changeset
84 which modifies an existing toolbar (by adding a button) is presented in
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 444
diff changeset
85 the specifier section @xref{Simple Specifier Usage}.
9eddcb9548e2 [xemacs-hg @ 2002-12-02 17:56:58 by stephent]
stephent
parents: 444
diff changeset
86
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
87 @node Toolbar Descriptor Format, Specifying the Toolbar, Creating Toolbar, Toolbar
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 @section Toolbar Descriptor Format
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 The contents of a toolbar are specified using a @dfn{toolbar descriptor}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 The format of a toolbar descriptor is a list of @dfn{toolbar button
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 descriptors}. Each toolbar button descriptor is a vector in one of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 following formats:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 @code{[@var{glyph-list} @var{function} @var{enabled-p} @var{help}]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 @code{[:style @var{2d-or-3d}]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 @code{[:style @var{2d-or-3d} :size @var{width-or-height}]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103 @code{[:size @var{width-or-height} :style @var{2d-or-3d}]}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 Optionally, one of the toolbar button descriptors may be @code{nil}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 instead of a vector; this signifies the division between the toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 buttons that are to be displayed flush-left, and the buttons to be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 displayed flush-right.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 The first vector format above specifies a normal toolbar button;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 the others specify blank areas in the toolbar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 For the first vector format:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 @var{glyph-list} should be a list of one to six glyphs (as created by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 @code{make-glyph}) or a symbol whose value is such a list. The first
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 glyph, which must be provided, is the glyph used to display the toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 button when it is in the ``up'' (not pressed) state. The optional
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 second glyph is for displaying the button when it is in the ``down''
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 (pressed) state. The optional third glyph is for when the button is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 disabled. The last three glyphs are for displaying the button in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 ``up'', ``down'', and ``disabled'' states, respectively, but are used
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 when the user has called for captioned toolbar buttons (using
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 @code{toolbar-buttons-captioned-p}). The function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 @code{toolbar-make-button-list} is useful in creating these glyph lists.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 Even if you do not provide separate down-state and disabled-state
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 glyphs, the user will still get visual feedback to indicate which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 state the button is in. Buttons in the up-state are displayed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 with a shadowed border that gives a raised appearance to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 button. Buttons in the down-state are displayed with shadows that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 give a recessed appearance. Buttons in the disabled state are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 displayed with no shadows, giving a 2-d effect.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 If some of the toolbar glyphs are not provided, they inherit as follows:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 @example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 UP: up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 DOWN: down -> up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 DISABLED: disabled -> up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 CAP-UP: cap-up -> up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 CAP-DOWN: cap-down -> cap-up -> down -> up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148 CAP-DISABLED: cap-disabled -> cap-up -> disabled -> up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 @end example
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 The second element @var{function} is a function to be called when the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 toolbar button is activated (i.e. when the mouse is released over the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 toolbar button, if the press occurred in the toolbar). It can be any
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 form accepted by @code{call-interactively}, since this is how it is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 invoked.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 The third element @var{enabled-p} specifies whether the toolbar button
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 is enabled (disabled buttons do nothing when they are activated, and are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 displayed differently; see above). It should be either a boolean or a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 form that evaluates to a boolean.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 The fourth element @var{help}, if non-@code{nil}, should be a string.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 This string is displayed in the echo area when the mouse passes over the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 toolbar button.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 For the other vector formats (specifying blank areas of the toolbar):
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 @itemize @bullet
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 @var{2d-or-3d} should be one of the symbols @code{2d} or @code{3d},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 indicating whether the area is displayed with shadows (giving it a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 raised, 3-d appearance) or without shadows (giving it a flat
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 appearance).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 @item
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 @var{width-or-height} specifies the length, in pixels, of the blank
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 area. If omitted, it defaults to a device-specific value (8 pixels for
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 X devices).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 @end itemize
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 @defun toolbar-make-button-list up &optional down disabled cap-up cap-down cap-disabled
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186 This function calls @code{make-glyph} on each arg and returns a list of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 the results. This is useful for setting the first argument of a toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 button descriptor (typically, the result of this function is assigned
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 to a symbol, which is specified as the first argument of the toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 button descriptor).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 @defun check-toolbar-button-syntax button &optional noerror
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 Verify the syntax of entry @var{button} in a toolbar description list.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 If you want to verify the syntax of a toolbar description list as a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 whole, use @code{check-valid-instantiator} with a specifier type of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 @code{toolbar}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
200 @node Specifying the Toolbar, Other Toolbar Variables, Toolbar Descriptor Format, Toolbar
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 @section Specifying the Toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 In order to specify the contents of a toolbar, set one of the specifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 variables @code{default-toolbar}, @code{top-toolbar},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 @code{bottom-toolbar}, @code{left-toolbar}, or @code{right-toolbar}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 These are specifiers, which means you set them with @code{set-specifier}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 and query them with @code{specifier-specs} or @code{specifier-instance}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 You will get an error if you try to set them using @code{setq}. The
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 valid instantiators for these specifiers are toolbar descriptors, as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 described above. @xref{Specifiers}, for more information.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 Most of the time, you will set @code{default-toolbar}, which allows
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 the user to choose where the toolbar should go.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 @defvr Specifier default-toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 The position of this toolbar is specified in the function
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
217 @code{default-toolbar-position}. If the corresponding
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 position-specific toolbar (e.g. @code{top-toolbar} if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 @code{default-toolbar-position} is @code{top}) does not specify a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 toolbar in a particular domain, then the value of @code{default-toolbar}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 in that domain, of any, will be used instead.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 Note that the toolbar at any particular position will not be displayed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 unless its thickness (width or height, depending on orientation) is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226 non-zero and its visibility status is true. The thickness is controlled
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 by the specifiers @code{top-toolbar-height},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 @code{bottom-toolbar-height}, @code{left-toolbar-width}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 @code{right-toolbar-width}, and the visibility status is controlled by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 the specifiers @code{top-toolbar-visible-p},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 @code{bottom-toolbar-visible-p}, @code{left-toolbar-visible-p}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 @code{right-toolbar-visible-p} (@pxref{Other Toolbar Variables}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 @defun set-default-toolbar-position position
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 This function sets the position that the @code{default-toolbar} will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 displayed at. Valid positions are the symbols @code{top},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237 @code{bottom}, @code{left} and @code{right}. What this actually does is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 set the fallback specifier for the position-specific specifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 corresponding to the given position to @code{default-toolbar}, and set
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 the fallbacks for the other position-specific specifiers to @code{nil}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 It also does the same thing for the position-specific thickness and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 visibility specifiers, which inherit from one of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 @code{default-toolbar-height} or @code{default-toolbar-width}, and from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 @code{default-toolbar-visible-p}, respectively (@pxref{Other Toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 Variables}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 @defun default-toolbar-position
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 This function returns the position that the @code{default-toolbar} will
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 be displayed at.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 You can also explicitly set a toolbar at a particular position. When
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 redisplay determines what to display at a particular position in a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 particular domain (i.e. window), it first consults the position-specific
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 toolbar. If that does not yield a toolbar descriptor, the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 @code{default-toolbar} is consulted if @code{default-toolbar-position}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 indicates this position.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 @defvr Specifier top-toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 Specifier for the toolbar at the top of the frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 @defvr Specifier bottom-toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 Specifier for the toolbar at the bottom of the frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 @defvr Specifier left-toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 Specifier for the toolbar at the left edge of the frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 @defvr Specifier right-toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 Specifier for the toolbar at the right edge of the frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 @defun toolbar-specifier-p object
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
277 This function returns non-@code{nil} if @var{object} is a toolbar specifier.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 Toolbar specifiers are the actual objects contained in the toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 variables described above, and their valid instantiators are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 toolbar descriptors (@pxref{Toolbar Descriptor Format}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281 @end defun
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282
5791
9fae6227ede5 Silence texinfo 5.2 warnings, primarily by adding next, prev, and up
Jerry James <james@xemacs.org>
parents: 1135
diff changeset
283 @node Other Toolbar Variables, , Specifying the Toolbar, Toolbar
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 @section Other Toolbar Variables
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 The variables to control the toolbar thickness, visibility status, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 captioned status are all specifiers. @xref{Specifiers}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 @defvr Specifier default-toolbar-height
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 This specifies the height of the default toolbar, if it's oriented
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 horizontally. The position of the default toolbar is specified by the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292 function @code{set-default-toolbar-position}. If the corresponding
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 position-specific toolbar thickness specifier
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 (e.g. @code{top-toolbar-height} if @code{default-toolbar-position} is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 @code{top}) does not specify a thickness in a particular domain (a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
296 window or a frame), then the value of @code{default-toolbar-height} or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 @code{default-toolbar-width} (depending on the toolbar orientation) in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
298 that domain, if any, will be used instead.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 @defvr Specifier default-toolbar-width
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
302 This specifies the width of the default toolbar, if it's oriented
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
303 vertically. This behaves like @code{default-toolbar-height}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
304 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
305
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
306 Note that @code{default-toolbar-height} is only used when
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
307 @code{default-toolbar-position} is @code{top} or @code{bottom}, and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
308 @code{default-toolbar-width} is only used when
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 @code{default-toolbar-position} is @code{left} or @code{right}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 @defvr Specifier top-toolbar-height
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 This specifies the height of the top toolbar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 @defvr Specifier bottom-toolbar-height
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 This specifies the height of the bottom toolbar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 @defvr Specifier left-toolbar-width
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 This specifies the width of the left toolbar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 @defvr Specifier right-toolbar-width
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 This specifies the width of the right toolbar.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 Note that all of the position-specific toolbar thickness specifiers
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 have a fallback value of zero when they do not correspond to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 default toolbar. Therefore, you will have to set a non-zero thickness
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 value if you want a position-specific toolbar to be displayed.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332 @defvr Specifier default-toolbar-visible-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 This specifies whether the default toolbar is visible. The position of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 the default toolbar is specified by the function
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 @code{set-default-toolbar-position}. If the corresponding position-specific
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 toolbar visibility specifier (e.g. @code{top-toolbar-visible-p} if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 @code{default-toolbar-position} is @code{top}) does not specify a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 visible-p value in a particular domain (a window or a frame), then the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 value of @code{default-toolbar-visible-p} in that domain, if any, will
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 be used instead.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 @defvr Specifier top-toolbar-visible-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 This specifies whether the top toolbar is visible.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 @defvr Specifier bottom-toolbar-visible-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 This specifies whether the bottom toolbar is visible.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 @defvr Specifier left-toolbar-visible-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352 This specifies whether the left toolbar is visible.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 @defvr Specifier right-toolbar-visible-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 This specifies whether the right toolbar is visible.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 @code{default-toolbar-visible-p} and all of the position-specific
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360 toolbar visibility specifiers have a fallback value of true.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 Internally, toolbar thickness and visibility specifiers are instantiated
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 in both window and frame domains, for different purposes. The value in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 the domain of a frame's selected window specifies the actual toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365 thickness or visibility that you will see in that frame. The value in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 the domain of a frame itself specifies the toolbar thickness or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 visibility that is used in frame geometry calculations.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 Thus, for example, if you set the frame width to 80 characters and the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 left toolbar width for that frame to 68 pixels, then the frame will be
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 sized to fit 80 characters plus a 68-pixel left toolbar. If you then
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 set the left toolbar width to 0 for a particular buffer (or if that
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
373 buffer does not specify a left toolbar or has a @code{nil} value specified for
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 @code{left-toolbar-visible-p}), you will find that, when that buffer is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 displayed in the selected window, the window will have a width of 86 or
440
8de8e3f6228a Import from CVS: tag r21-2-28
cvs
parents: 428
diff changeset
376 87 characters---the frame is sized for a 68-pixel left toolbar but the
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 selected window specifies that the left toolbar is not visible, so it is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 expanded to take up the slack.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 @defvr Specifier toolbar-buttons-captioned-p
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 Whether toolbar buttons are captioned. This affects which glyphs from a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 toolbar button descriptor are chosen. @xref{Toolbar Descriptor Format}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 @end defvr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 You can also reset the toolbar to what it was when XEmacs started up.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 @defvr Constant initial-toolbar-spec
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 The toolbar descriptor used to initialize @code{default-toolbar} at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389 startup.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 @end defvr