OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / ALPHALINUX5 / util / ALPHALINUX5 / man / mann / menubutton.n
1 '\"
2 '\" Copyright (c) 1990-1994 The Regents of the University of California.
3 '\" Copyright (c) 1994-1997 Sun Microsystems, Inc.
4 '\"
5 '\" See the file "license.terms" for information on usage and redistribution
6 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
7 '\" 
8 '\" RCS: @(#) $Id: menubutton.n,v 1.2 1998/09/14 18:22:57 stanton Exp $
9 '\" 
10 '\" The definitions below are for supplemental macros used in Tcl/Tk
11 '\" manual entries.
12 '\"
13 '\" .AP type name in/out ?indent?
14 '\"     Start paragraph describing an argument to a library procedure.
15 '\"     type is type of argument (int, etc.), in/out is either "in", "out",
16 '\"     or "in/out" to describe whether procedure reads or modifies arg,
17 '\"     and indent is equivalent to second arg of .IP (shouldn't ever be
18 '\"     needed;  use .AS below instead)
19 '\"
20 '\" .AS ?type? ?name?
21 '\"     Give maximum sizes of arguments for setting tab stops.  Type and
22 '\"     name are examples of largest possible arguments that will be passed
23 '\"     to .AP later.  If args are omitted, default tab stops are used.
24 '\"
25 '\" .BS
26 '\"     Start box enclosure.  From here until next .BE, everything will be
27 '\"     enclosed in one large box.
28 '\"
29 '\" .BE
30 '\"     End of box enclosure.
31 '\"
32 '\" .CS
33 '\"     Begin code excerpt.
34 '\"
35 '\" .CE
36 '\"     End code excerpt.
37 '\"
38 '\" .VS ?version? ?br?
39 '\"     Begin vertical sidebar, for use in marking newly-changed parts
40 '\"     of man pages.  The first argument is ignored and used for recording
41 '\"     the version when the .VS was added, so that the sidebars can be
42 '\"     found and removed when they reach a certain age.  If another argument
43 '\"     is present, then a line break is forced before starting the sidebar.
44 '\"
45 '\" .VE
46 '\"     End of vertical sidebar.
47 '\"
48 '\" .DS
49 '\"     Begin an indented unfilled display.
50 '\"
51 '\" .DE
52 '\"     End of indented unfilled display.
53 '\"
54 '\" .SO
55 '\"     Start of list of standard options for a Tk widget.  The
56 '\"     options follow on successive lines, in four columns separated
57 '\"     by tabs.
58 '\"
59 '\" .SE
60 '\"     End of list of standard options for a Tk widget.
61 '\"
62 '\" .OP cmdName dbName dbClass
63 '\"     Start of description of a specific option.  cmdName gives the
64 '\"     option's name as specified in the class command, dbName gives
65 '\"     the option's name in the option database, and dbClass gives
66 '\"     the option's class in the option database.
67 '\"
68 '\" .UL arg1 arg2
69 '\"     Print arg1 underlined, then print arg2 normally.
70 '\"
71 '\" RCS: @(#) $Id: man.macros,v 1.3 1999/04/16 00:46:35 stanton Exp $
72 '\"
73 '\"     # Set up traps and other miscellaneous stuff for Tcl/Tk man pages.
74 .if t .wh -1.3i ^B
75 .nr ^l \n(.l
76 .ad b
77 '\"     # Start an argument description
78 .de AP
79 .ie !"\\$4"" .TP \\$4
80 .el \{\
81 .   ie !"\\$2"" .TP \\n()Cu
82 .   el          .TP 15
83 .\}
84 .ta \\n()Au \\n()Bu
85 .ie !"\\$3"" \{\
86 \&\\$1  \\fI\\$2\\fP    (\\$3)
87 .\".b
88 .\}
89 .el \{\
90 .br
91 .ie !"\\$2"" \{\
92 \&\\$1  \\fI\\$2\\fP
93 .\}
94 .el \{\
95 \&\\fI\\$1\\fP
96 .\}
97 .\}
98 ..
99 '\"     # define tabbing values for .AP
100 .de AS
101 .nr )A 10n
102 .if !"\\$1"" .nr )A \\w'\\$1'u+3n
103 .nr )B \\n()Au+15n
104 .\"
105 .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
106 .nr )C \\n()Bu+\\w'(in/out)'u+2n
107 ..
108 .AS Tcl_Interp Tcl_CreateInterp in/out
109 '\"     # BS - start boxed text
110 '\"     # ^y = starting y location
111 '\"     # ^b = 1
112 .de BS
113 .br
114 .mk ^y
115 .nr ^b 1u
116 .if n .nf
117 .if n .ti 0
118 .if n \l'\\n(.lu\(ul'
119 .if n .fi
120 ..
121 '\"     # BE - end boxed text (draw box now)
122 .de BE
123 .nf
124 .ti 0
125 .mk ^t
126 .ie n \l'\\n(^lu\(ul'
127 .el \{\
128 .\"     Draw four-sided box normally, but don't draw top of
129 .\"     box if the box started on an earlier page.
130 .ie !\\n(^b-1 \{\
131 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
132 .\}
133 .el \}\
134 \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\l'|0u-1.5n\(ul'
135 .\}
136 .\}
137 .fi
138 .br
139 .nr ^b 0
140 ..
141 '\"     # VS - start vertical sidebar
142 '\"     # ^Y = starting y location
143 '\"     # ^v = 1 (for troff;  for nroff this doesn't matter)
144 .de VS
145 .if !"\\$2"" .br
146 .mk ^Y
147 .ie n 'mc \s12\(br\s0
148 .el .nr ^v 1u
149 ..
150 '\"     # VE - end of vertical sidebar
151 .de VE
152 .ie n 'mc
153 .el \{\
154 .ev 2
155 .nf
156 .ti 0
157 .mk ^t
158 \h'|\\n(^lu+3n'\L'|\\n(^Yu-1v\(bv'\v'\\n(^tu+1v-\\n(^Yu'\h'-|\\n(^lu+3n'
159 .sp -1
160 .fi
161 .ev
162 .\}
163 .nr ^v 0
164 ..
165 '\"     # Special macro to handle page bottom:  finish off current
166 '\"     # box/sidebar if in box/sidebar mode, then invoked standard
167 '\"     # page bottom macro.
168 .de ^B
169 .ev 2
170 'ti 0
171 'nf
172 .mk ^t
173 .if \\n(^b \{\
174 .\"     Draw three-sided box if this is the box's first page,
175 .\"     draw two sides but no top otherwise.
176 .ie !\\n(^b-1 \h'-1.5n'\L'|\\n(^yu-1v'\l'\\n(^lu+3n\(ul'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
177 .el \h'-1.5n'\L'|\\n(^yu-1v'\h'\\n(^lu+3n'\L'\\n(^tu+1v-\\n(^yu'\h'|0u'\c
178 .\}
179 .if \\n(^v \{\
180 .nr ^x \\n(^tu+1v-\\n(^Yu
181 \kx\h'-\\nxu'\h'|\\n(^lu+3n'\ky\L'-\\n(^xu'\v'\\n(^xu'\h'|0u'\c
182 .\}
183 .bp
184 'fi
185 .ev
186 .if \\n(^b \{\
187 .mk ^y
188 .nr ^b 2
189 .\}
190 .if \\n(^v \{\
191 .mk ^Y
192 .\}
193 ..
194 '\"     # DS - begin display
195 .de DS
196 .RS
197 .nf
198 .sp
199 ..
200 '\"     # DE - end display
201 .de DE
202 .fi
203 .RE
204 .sp
205 ..
206 '\"     # SO - start of list of standard options
207 .de SO
208 .SH "STANDARD OPTIONS"
209 .LP
210 .nf
211 .ta 4c 8c 12c
212 .ft B
213 ..
214 '\"     # SE - end of list of standard options
215 .de SE
216 .fi
217 .ft R
218 .LP
219 See the \\fBoptions\\fR manual entry for details on the standard options.
220 ..
221 '\"     # OP - start of full description for a single option
222 .de OP
223 .LP
224 .nf
225 .ta 4c
226 Command-Line Name:      \\fB\\$1\\fR
227 Database Name:  \\fB\\$2\\fR
228 Database Class: \\fB\\$3\\fR
229 .fi
230 .IP
231 ..
232 '\"     # CS - begin code excerpt
233 .de CS
234 .RS
235 .nf
236 .ta .25i .5i .75i 1i
237 ..
238 '\"     # CE - end code excerpt
239 .de CE
240 .fi
241 .RE
242 ..
243 .de UL
244 \\$1\l'|0\(ul'\\$2
245 ..
246 .TH menubutton n 4.0 Tk "Tk Built-In Commands"
247 .BS
248 '\" Note:  do not modify the .SH NAME line immediately below!
249 .SH NAME
250 menubutton \- Create and manipulate menubutton widgets
251 .SH SYNOPSIS
252 \fBmenubutton\fR \fIpathName \fR?\fIoptions\fR?
253 .SO
254 \-activebackground      \-cursor        \-highlightthickness    \-takefocus
255 \-activeforeground      \-disabledforeground    \-image \-text
256 \-anchor        \-font  \-justify       \-textvariable
257 \-background    \-foreground    \-padx  \-underline
258 \-bitmap        \-highlightbackground   \-pady  \-wraplength
259 \-borderwidth   \-highlightcolor        \-relief
260 .SE
261 .SH "WIDGET-SPECIFIC OPTIONS"
262 .VS
263 .OP \-direction direction Height
264 Specifies where the menu is going to be popup up. \fBabove\fR tries to
265 pop the menu above the menubutton. \fBbelow\fR tries to pop the menu
266 below the menubutton. \fBleft\fR tries to pop the menu to the left of
267 the menubutton. \fBright\fR tries to pop the menu to the right of the
268 menu button. \fBflush\fR pops the menu directly over the menubutton.
269 .VE
270 .OP \-height height Height
271 Specifies a desired height for the menubutton.
272 If an image or bitmap is being displayed in the menubutton then the value is in
273 screen units (i.e. any of the forms acceptable to \fBTk_GetPixels\fR);
274 for text it is in lines of text.
275 If this option isn't specified, the menubutton's desired height is computed
276 from the size of the image or bitmap or text being displayed in it.
277 .OP \-indicatoron indicatorOn IndicatorOn
278 The value must be a proper boolean value.  If it is true then
279 a small indicator rectangle will be displayed on the right side
280 of the menubutton and the default menu bindings will treat this
281 as an option menubutton.  If false then no indicator will be
282 displayed.
283 .OP \-menu menu MenuName
284 Specifies the path name of the menu associated with this menubutton.
285 The menu must be a child of the menubutton.
286 .OP \-state state State
287 Specifies one of three states for the menubutton:  \fBnormal\fR, \fBactive\fR,
288 or \fBdisabled\fR.  In normal state the menubutton is displayed using the
289 \fBforeground\fR and \fBbackground\fR options.  The active state is
290 typically used when the pointer is over the menubutton.  In active state
291 the menubutton is displayed using the \fBactiveForeground\fR and
292 \fBactiveBackground\fR options.  Disabled state means that the menubutton
293 should be insensitive:  the default bindings will refuse to activate
294 the widget and will ignore mouse button presses.
295 In this state the \fBdisabledForeground\fR and
296 \fBbackground\fR options determine how the button is displayed.
297 .OP \-width width Width
298 Specifies a desired width for the menubutton.
299 If an image or bitmap is being displayed in the menubutton then the value is in
300 screen units (i.e. any of the forms acceptable to \fBTk_GetPixels\fR);
301 for text it is in characters.
302 If this option isn't specified, the menubutton's desired width is computed
303 from the size of the image or bitmap or text being displayed in it.
304 .BE
305
306 .SH INTRODUCTION
307 .PP
308 The \fBmenubutton\fR command creates a new window (given by the
309 \fIpathName\fR argument) and makes it into a menubutton widget.
310 Additional
311 options, described above, may be specified on the command line
312 or in the option database
313 to configure aspects of the menubutton such as its colors, font,
314 text, and initial relief.  The \fBmenubutton\fR command returns its
315 \fIpathName\fR argument.  At the time this command is invoked,
316 there must not exist a window named \fIpathName\fR, but
317 \fIpathName\fR's parent must exist.
318 .PP
319 A menubutton is a widget that displays a textual string, bitmap, or image
320 and is associated with a menu widget.
321 If text is displayed, it must all be in a single font, but it
322 can occupy multiple lines on the screen (if it contains newlines
323 or if wrapping occurs because of the \fBwrapLength\fR option) and
324 one of the characters may optionally be underlined using the
325 \fBunderline\fR option.  In normal usage, pressing
326 mouse button 1 over the menubutton causes the associated menu to
327 be posted just underneath the menubutton.  If the mouse is moved over
328 the menu before releasing the mouse button, the button release
329 causes the underlying menu entry to be invoked.  When the button
330 is released, the menu is unposted.
331 .PP
332 Menubuttons are typically organized into groups called menu bars
333 that allow scanning:
334 if the mouse button is pressed over one menubutton (causing it
335 to post its menu) and the mouse is moved over another menubutton
336 in the same menu bar without releasing the mouse button, then the
337 menu of the first menubutton is unposted and the menu of the
338 new menubutton is posted instead.
339 .PP
340 There are several interactions between menubuttons and menus;  see
341 the \fBmenu\fR manual entry for information on various menu configurations,
342 such as pulldown menus and option menus.
343
344 .SH "WIDGET COMMAND"
345 .PP
346 The \fBmenubutton\fR command creates a new Tcl command whose
347 name is \fIpathName\fR.  This
348 command may be used to invoke various
349 operations on the widget.  It has the following general form:
350 .CS
351 \fIpathName option \fR?\fIarg arg ...\fR?
352 .CE
353 \fIOption\fR and the \fIarg\fRs
354 determine the exact behavior of the command.  The following
355 commands are possible for menubutton widgets:
356 .TP
357 \fIpathName \fBcget\fR \fIoption\fR
358 Returns the current value of the configuration option given
359 by \fIoption\fR.
360 \fIOption\fR may have any of the values accepted by the \fBmenubutton\fR
361 command.
362 .TP
363 \fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
364 Query or modify the configuration options of the widget.
365 If no \fIoption\fR is specified, returns a list describing all of
366 the available options for \fIpathName\fR (see \fBTk_ConfigureInfo\fR for
367 information on the format of this list).  If \fIoption\fR is specified
368 with no \fIvalue\fR, then the command returns a list describing the
369 one named option (this list will be identical to the corresponding
370 sublist of the value returned if no \fIoption\fR is specified).  If
371 one or more \fIoption\-value\fR pairs are specified, then the command
372 modifies the given widget option(s) to have the given value(s);  in
373 this case the command returns an empty string.
374 \fIOption\fR may have any of the values accepted by the \fBmenubutton\fR
375 command.
376
377 .SH "DEFAULT BINDINGS"
378 .PP
379 Tk automatically creates class bindings for menubuttons that give them
380 the following default behavior:
381 .IP [1]
382 A menubutton activates whenever the mouse passes over it and deactivates
383 whenever the mouse leaves it.
384 .IP [2]
385 Pressing mouse button 1 over a menubutton posts the menubutton:
386 its relief changes to raised and its associated menu is posted
387 under the menubutton.  If the mouse is dragged down into the menu
388 with the button still down, and if the mouse button is then
389 released over an entry in the menu, the menubutton is unposted
390 and the menu entry is invoked.
391 .IP [3]
392 If button 1 is pressed over a menubutton and then released over that
393 menubutton, the menubutton stays posted: you can still move the mouse
394 over the menu and click button 1 on an entry to invoke it.
395 Once a menu entry has been invoked, the menubutton unposts itself.
396 .IP [4]
397 If button 1 is pressed over a menubutton and then dragged over some
398 other menubutton, the original menubutton unposts itself and the
399 new menubutton posts.
400 .IP [5]
401 If button 1 is pressed over a menubutton and released outside
402 any menubutton or menu, the menubutton unposts without invoking
403 any menu entry.
404 .IP [6]
405 When a menubutton is posted, its associated menu claims the input
406 focus to allow keyboard traversal of the menu and its submenus.
407 See the \fBmenu\fR manual entry for details on these bindings.
408 .IP [7]
409 If the \fBunderline\fR option has been specified for a menubutton
410 then keyboard traversal may be used to post the menubutton:
411 Alt+\fIx\fR, where \fIx\fR is the underlined character (or its
412 lower-case or upper-case equivalent), may be typed in any window
413 under the menubutton's toplevel to post the menubutton.
414 .IP [8]
415 The F10 key may be typed in any window to post the first menubutton
416 under its toplevel window that isn't disabled.
417 .IP [9]
418 If a menubutton has the input focus, the space and return keys
419 post the menubutton.
420 .PP
421 If the menubutton's state is \fBdisabled\fR then none of the above
422 actions occur:  the menubutton is completely non-responsive.
423 .PP
424 The behavior of menubuttons can be changed by defining new bindings for
425 individual widgets or by redefining the class bindings.
426
427 .SH KEYWORDS
428 menubutton, widget