]> www.wagner.pp.ru Git - oss/ck.git/blob - doc/menu.n
Ck console graphics toolkit
[oss/ck.git] / doc / menu.n
1 '\"
2 '\" Copyright (c) 1990-1994 The Regents of the University of California.
3 '\" Copyright (c) 1994-1995 Sun Microsystems, Inc.
4 '\" Copyright (c) 1996-1999 Christian Werner
5 '\"
6 '\" See the file "license.terms" for information on usage and redistribution
7 '\" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
8 '\" 
9 .so man.macros
10 .TH menu n 8.0 Ck "Ck Built-In Commands"
11 .BS
12 '\" Note:  do not modify the .SH NAME line immediately below!
13 .SH NAME
14 menu \- Create and manipulate menu widgets
15 .SH SYNOPSIS
16 \fBmenu\fI \fIpathName \fR?\fIoptions\fR?
17 .SH "STANDARD OPTIONS"
18 .LP
19 .nf
20 .ta 3.8c 7.6c 11.4c
21 \fBactiveAttributes\fR  \fBbackground\fR        \fBdisabledForeground\fR        \fBunderlineForeground\fR
22 \fBactiveBackground\fR  \fBborder\fR    \fBforeground\fR
23 \fBactiveForeground\fR  \fBdisabledAttributes\fR        \fBtakeFocus\fR
24 \fBattributes\fR        \fBdisabledBackground\fR        \fBunderlineAttributes\fR
25 .fi
26 .LP
27 See the ``options'' manual entry for details on the standard options.
28 .SH "WIDGET-SPECIFIC OPTIONS"
29 .ta 4c
30 .LP
31 .nf
32 Name:   \fBpostCommand\fR
33 Class:  \fBCommand\fR
34 Command-Line Switch:    \fB\-postcommand\fR
35 .fi
36 .IP
37 If this option is specified then it provides a Tcl command to execute
38 each time the menu is posted.  The command is invoked by the \fBpost\fR
39 widget command before posting the menu.
40 .LP
41 .nf
42 Name:   \fBselectColor\fR
43 Class:  \fBBackground\fR
44 Command-Line Switch:    \fB\-selectcolor\fR
45 .fi
46 .IP
47 For menu entries that are check buttons or radio buttons, this option
48 specifies the color to display in the indicator when the check button
49 or radio button is selected. On color terminals this defaults to red,
50 on monochrome terminals to white.
51 .BE
52
53 .SH INTRODUCTION
54 .PP
55 The \fBmenu\fR command creates a new top-level window (given
56 by the \fIpathName\fR argument) and makes it into a menu widget.
57 Additional
58 options, described above, may be specified on the command line
59 or in the option database
60 to configure aspects of the menu such as its colors and font.
61 The \fBmenu\fR command returns its
62 \fIpathName\fR argument.  At the time this command is invoked,
63 there must not exist a window named \fIpathName\fR, but
64 \fIpathName\fR's parent must exist.
65 .PP
66 A menu is a widget that displays a collection of one-line entries arranged
67 in a column.  There exist several different types of entries,
68 each with different properties.  Entries of different types may be
69 combined in a single menu.  Menu entries are not the same as
70 entry widgets. In fact, menu entries are not even distinct widgets;
71 the entire menu is one widget.
72 .PP
73 Menu entries are displayed with up to three separate fields.
74 The main field is a label in the form of a text string.
75 If the  \fB\-accelerator\fR option is specified for an entry then a second
76 textual field is displayed to the right of the label.  The accelerator
77 typically describes a keystroke sequence that may be typed in the
78 application to cause the same result as invoking the menu entry.
79 The third field is an \fIindicator\fR.  The indicator is present only for
80 checkbutton or radiobutton entries.  It indicates whether the entry
81 is selected or not, and is displayed to the left of the entry's
82 string.
83 .PP
84 In normal use, an entry becomes active (displays itself differently)
85 whenever the input focus is over the entry.  If a mouse
86 button is pressed over the entry then the entry is \fIinvoked\fR.
87 The effect of invocation is different for each type of entry;
88 these effects are described below in the sections on individual
89 entries.
90 .PP
91 Entries may be \fIdisabled\fR, which causes their labels
92 and accelerators to be displayed with other colors.
93 The default menu bindings will not allow
94 a disabled entry to be activated or invoked.
95 Disabled entries may be re-enabled, at which point it becomes
96 possible to activate and invoke them again.
97
98 .SH "COMMAND ENTRIES"
99 .PP
100 The most common kind of menu entry is a command entry, which
101 behaves much like a button widget.  When a command entry is
102 invoked, a Tcl command is executed.  The Tcl
103 command is specified with the \fB\-command\fR option.
104
105 .SH "SEPARATOR ENTRIES"
106 .PP
107 A separator is an entry that is displayed as a horizontal dividing
108 line.  A separator may not be activated or invoked, and it has
109 no behavior other than its display appearance.
110
111 .SH "CHECKBUTTON ENTRIES"
112 .PP
113 A checkbutton menu entry behaves much like a checkbutton widget.
114 When it is invoked it toggles back and forth between the selected
115 and deselected states.  When the entry is selected, a particular
116 value is stored in a particular global variable (as determined by
117 the \fB\-onvalue\fR and \fB\-variable\fR options for the entry);  when
118 the entry is deselected another value (determined by the
119 \fB\-offvalue\fR option) is stored in the global variable.
120 An indicator box is displayed to the left of the label in a checkbutton
121 entry.  If the entry is selected then the indicator's center is displayed
122 in the color given by the \fB-selectcolor\fR option for the entry;
123 otherwise the indicator's center is displayed in the background color for
124 the menu or menu entry.
125 If a \fB\-command\fR option is specified for a checkbutton
126 entry, then its value is evaluated as a Tcl command each time the entry
127 is invoked;  this happens after toggling the entry's
128 selected state.
129
130 .SH "RADIOBUTTON ENTRIES"
131 .PP
132 A radiobutton menu entry behaves much like a radiobutton widget.
133 Radiobutton entries are organized in groups of which only one
134 entry may be selected at a time.  Whenever a particular entry
135 becomes selected it stores a particular value into a particular
136 global variable (as determined by the \fB\-value\fR and
137 \fB\-variable\fR options for the entry).  This action
138 causes any previously-selected entry in the same group
139 to deselect itself.
140 Once an entry has become selected, any change to the entry's
141 associated variable will cause the entry to deselect itself.
142 Grouping of radiobutton entries is determined by their
143 associated variables:  if two entries have the same associated
144 variable then they are in the same group.
145 An indicator diamond is displayed to the left of the label in each
146 radiobutton entry.  If the entry is selected then the indicator's
147 center is displayed in the color given by the \fB\-selectcolor\fR option
148 for the entry;
149 otherwise the indicator's center is displayed in the background color for
150 the menu or menu entry. 
151 If a \fB\-command\fR option is specified for a radiobutton
152 entry, then its value is evaluated as a Tcl command each time the entry
153 is invoked;  this happens after selecting the entry.
154
155 .SH "CASCADE ENTRIES"
156 .PP
157 A cascade entry is one with an associated menu (determined
158 by the \fB\-menu\fR option).  Cascade entries allow the construction
159 of cascading menus.
160 The \fBpostcascade\fR widget command can be used to post and unpost
161 the associated menu just to the right of the cascade entry.
162 The associated menu must be a child of the menu containing
163 the cascade entry (this is needed in order for menu traversal to
164 work correctly).
165 .PP
166 A cascade entry posts its associated menu by invoking a
167 Tcl command of the form
168 .RS
169 .IP
170 \fImenu\fB post \fIx y\fR
171 .RE
172 .LP
173 where \fImenu\fR is the path name of the associated menu, and \fIx\fR
174 and \fIy\fR are the root-window coordinates of the upper-right
175 corner of the cascade entry.
176 The lower-level menu is unposted by executing a Tcl command with
177 the form
178 .RS
179 .IP
180 \fImenu\fB unpost\fR
181 .RE
182 .LP
183 where \fImenu\fR is the name of the associated menu.
184 .LP
185 If a \fB\-command\fR option is specified for a cascade entry then it is
186 evaluated as a Tcl command whenever the entry is invoked.
187
188 .SH "WIDGET COMMAND"
189 .PP
190 The \fBmenu\fR command creates a new Tcl command whose
191 name is \fIpathName\fR.  This
192 command may be used to invoke various
193 operations on the widget.  It has the following general form:
194 .DS C
195 \fIpathName option \fR?\fIarg arg ...\fR?
196 .DE
197 \fIOption\fR and the \fIarg\fRs
198 determine the exact behavior of the command.
199 .PP
200 Many of the widget commands for a menu take as one argument an
201 indicator of which entry of the menu to operate on.  These
202 indicators are called \fIindex\fRes and may be specified in
203 any of the following forms:
204 .TP 12
205 \fInumber\fR
206 Specifies the entry numerically, where 0 corresponds
207 to the top-most entry of the menu, 1 to the entry below it, and
208 so on.
209 .TP 12
210 \fBactive\fR
211 Indicates the entry that is currently active.  If no entry is
212 active then this form is equivalent to \fBnone\fR.  This form may
213 not be abbreviated.
214 .TP 12
215 \fBend\fR
216 Indicates the bottommost entry in the menu.  If there are no
217 entries in the menu then this form is equivalent to \fBnone\fR.
218 This form may not be abbreviated.
219 .TP 12
220 \fBlast\fR
221 Same as \fBend\fR.
222 .TP 12
223 \fBnone\fR
224 Indicates ``no entry at all'';  this is used most commonly with
225 the \fBactivate\fR option to deactivate all the entries in the
226 menu.  In most cases the specification of \fBnone\fR causes
227 nothing to happen in the widget command.
228 This form may not be abbreviated.
229 .TP 12
230 \fB@\fInumber\fR
231 In this form, \fInumber\fR is treated as a y-coordinate in the
232 menu's window;  the entry closest to that y-coordinate is used.
233 For example, ``\fB@0\fR'' indicates the top-most entry in the
234 window.
235 .TP 12
236 \fIpattern\fR
237 If the index doesn't satisfy one of the above forms then this
238 form is used.  \fIPattern\fR is pattern-matched against the label of
239 each entry in the menu, in order from the top down, until a
240 matching entry is found.  The rules of \fBTcl_StringMatch\fR
241 are used.
242 .PP
243 The following widget commands are possible for menu widgets:
244 .TP
245 \fIpathName \fBactivate \fIindex\fR
246 Change the state of the entry indicated by \fIindex\fR to \fBactive\fR
247 and redisplay it using its active colors.
248 Any previously-active entry is deactivated.  If \fIindex\fR
249 is specified as \fBnone\fR, or if the specified entry is
250 disabled, then the menu ends up with no active entry.
251 Returns an empty string.
252 .TP
253 \fIpathName \fBadd \fItype \fR?\fIoption value option value ...\fR?
254 Add a new entry to the bottom of the menu.  The new entry's type
255 is given by \fItype\fR and must be one of \fBcascade\fR,
256 \fBcheckbutton\fR, \fBcommand\fR, \fBradiobutton\fR, or \fBseparator\fR,
257 or a unique abbreviation of one of the above.  If additional arguments
258 are present, they specify any of the following options:
259 .RS
260 .TP
261 \fB\-activeattributes \fIvalue\fR
262 Specifies video attributes to use for displaying this entry when it
263 is active.
264 If this option is specified as an empty string (the default), then the
265 \fBactiveAttributes\fR option for the overall menu is used.
266 This option is not available for separator entries.
267 .TP
268 \fB\-activebackground \fIvalue\fR
269 Specifies a background color to use for displaying this entry when it
270 is active.
271 If this option is specified as an empty string (the default), then the
272 \fBactiveBackground\fR option for the overall menu is used.
273 This option is not available for separator entries.
274 .TP
275 \fB\-activeforeground \fIvalue\fR
276 Specifies a foreground color to use for displaying this entry when it
277 is active.
278 If this option is specified as an empty string (the default), then the
279 \fBactiveForeground\fR option for the overall menu is used.
280 This option is not available for separator entries.
281 .TP
282 \fB\-accelerator \fIvalue\fR
283 Specifies a string to display at the right side of the menu entry.
284 Normally describes an accelerator keystroke sequence that may be
285 typed to invoke the same function as the menu entry.  This option
286 is not available for separator entries.
287 .TP
288 \fB\-attributes \fIvalue\fR
289 Specifies video attributes to use for displaying this entry when it
290 is in the normal state (neither active nor disabled).
291 If this option is specified as an empty string (the default), then the
292 \fBattributes\fR option for the overall menu is used.
293 This option is not available for separator entries.
294 .TP
295 \fB\-background \fIvalue\fR
296 Specifies a background color to use for displaying this entry when it
297 is in the normal state (neither active nor disabled).
298 If this option is specified as an empty string (the default), then the
299 \fBbackground\fR option for the overall menu is used.
300 This option is not available for separator entries.
301 .TP
302 \fB\-command \fIvalue\fR
303 For command, checkbutton, and radiobutton entries, specifies a
304 Tcl command to execute when the menu entry is invoked.
305 For cascade entries, specifies a Tcl command to execute
306 when the entry is activated (i.e. just before its submenu is
307 posted).
308 Not available for separator entries.
309 .TP
310 \fB\-foreground \fIvalue\fR
311 Specifies a foreground color to use for displaying this entry when it
312 is in the normal state (neither active nor disabled).
313 If this option is specified as an empty string (the default), then the
314 \fBforeground\fR option for the overall menu is used.
315 This option is not available for separator entries.
316 .TP
317 \fB\-indicatoron \fIvalue\fR
318 Available only for checkbutton and radiobutton entries.
319 \fIValue\fR is a boolean that determines whether or not the
320 indicator should be displayed.
321 .TP
322 \fB\-label \fIvalue\fR
323 Specifies a string to display as an identifying label in the menu
324 entry. Not available for separator entries.
325 .TP
326 \fB\-menu \fIvalue\fR
327 Available only for cascade entries.  Specifies the path name of
328 the submenu associated with this entry.
329 The submenu must be a child of the menu.
330 .TP
331 \fB\-offvalue \fIvalue\fR
332 Available only for checkbutton entries.  Specifies the value to
333 store in the entry's associated variable when the entry is
334 deselected.
335 .TP
336 \fB\-onvalue \fIvalue\fR
337 Available only for checkbutton entries.  Specifies the value to
338 store in the entry's associated variable when the entry is selected.
339 .TP
340 \fB\-selectcolor \fIvalue\fR
341 Available only for checkbutton and radiobutton entries.
342 Specifies the color to display in the indicator when the entry is
343 selected.
344 If the value is an empty string (the default) then the \fBselectColor\fR
345 option for the menu determines the indicator color.
346 .TP
347 \fB\-state \fIvalue\fR
348 Specifies one of three states for the entry:  \fBnormal\fR, \fBactive\fR,
349 or \fBdisabled\fR.  In normal state the entry is displayed using the
350 \fBattributes\fR, \fBforeground\fR, and \fBbackground\fR options
351 for the entry or for the menu.
352 The active state is typically used when the input focus is in the entry.
353 In active state the entry is displayed using the
354 \fBactiveAttributes\fR, \fBactiveForeground\fR, and \fBactiveBackground\fR
355 options for the entry or for the menu.
356 Disabled state means that the entry should be insensitive:
357 the default bindings will refuse to activate or invoke the entry.
358 In this state the entry is displayed according to the 
359 \fBdisabledAttributes\fR, \fBdisabledForeground\fR, and
360 \fBdisabledBackground\fR options for the menu.
361 This option is not available for separator entries.
362 .TP
363 \fB\-underline \fIvalue\fR
364 Specifies the integer index of a character to underline in the entry.
365 This option is also queried by the default bindings and used to
366 implement keyboard traversal.
367 0 corresponds to the first character of the text displayed in the entry,
368 1 to the next character, and so on.
369 This option is not available for separator entries.
370 .TP
371 \fB\-underlineAttributes \fIvalue\fR
372 Specifies video attributes to use for displaying the underlined
373 character in this entry when it
374 is in the normal state (neither active nor disabled).
375 If this option is specified as an empty string (the default), then the
376 \fBunderlineAttributes\fR option for the overall menu is used.
377 This option is not available for separator entries.
378 .TP
379 \fB\-underlineForeground \fIvalue\fR
380 Specifies a foreground color to use for displaying the underlined
381 character in this entry when it
382 is in the normal state (neither active nor disabled).
383 If this option is specified as an empty string (the default), then the
384 \fBunderlineForeground\fR option for the overall menu is used.
385 This option is not available for separator entries.
386 .TP
387 \fB\-value \fIvalue\fR
388 Available only for radiobutton entries.  Specifies the value to
389 store in the entry's associated variable when the entry is selected.
390 .TP
391 \fB\-variable \fIvalue\fR
392 Available only for checkbutton and radiobutton entries.  Specifies
393 the name of a global value to set when the entry is selected.
394 For checkbutton entries the variable is also set when the entry
395 is deselected.  For radiobutton entries, changing the variable
396 causes the currently-selected entry to deselect itself.
397 .LP
398 The \fBadd\fR widget command returns an empty string.
399 .RE
400 .TP
401 \fIpathName \fBcget\fR \fIoption\fR
402 Returns the current value of the configuration option given
403 by \fIoption\fR.
404 \fIOption\fR may have any of the values accepted by the \fBmenu\fR
405 command.
406 .TP
407 \fIpathName \fBconfigure\fR ?\fIoption\fR? ?\fIvalue option value ...\fR?
408 Query or modify the configuration options of the widget.
409 If no \fIoption\fR is specified, returns a list describing all of
410 the available options for \fIpathName\fR. If \fIoption\fR is specified
411 with no \fIvalue\fR, then the command returns a list describing the
412 one named option (this list will be identical to the corresponding
413 sublist of the value returned if no \fIoption\fR is specified).  If
414 one or more \fIoption\-value\fR pairs are specified, then the command
415 modifies the given widget option(s) to have the given value(s);  in
416 this case the command returns an empty string.
417 \fIOption\fR may have any of the values accepted by the \fBmenu\fR
418 command.
419 .TP
420 \fIpathName \fBdelete \fIindex1\fR ?\fIindex2\fR?
421 Delete all of the menu entries between \fIindex1\fR and
422 \fIindex2\fR inclusive.
423 If \fIindex2\fR is omitted then it defaults to \fIindex1\fR.
424 .TP
425 \fIpathName \fBentrycget\fR \fIindex option\fR
426 Returns the current value of a configuration option for
427 the entry given by \fIindex\fR.
428 \fIOption\fR may have any of the values accepted by the \fBadd\fR
429 widget command.
430 .TP
431 \fIpathName \fBentryconfigure \fIindex \fR?\fIoptions\fR?
432 This command is similar to the \fBconfigure\fR command, except that
433 it applies to the options for an individual entry, whereas \fBconfigure\fR
434 applies to the options for the menu as a whole.
435 \fIOptions\fR may have any of the values accepted by the \fBadd\fR
436 widget command.  If \fIoptions\fR are specified, options are modified
437 as indicated
438 in the command and the command returns an empty string.
439 If no \fIoptions\fR are specified, returns a list describing
440 the current options for entry \fIindex\fR.
441 .TP
442 \fIpathName \fBindex \fIindex\fR
443 Returns the numerical index corresponding to \fIindex\fR, or
444 \fBnone\fR if \fIindex\fR was specified as \fBnone\fR.
445 .TP
446 \fIpathName \fBinsert \fIindex\fR \fItype \fR?\fIoption value option value ...\fR?
447 Same as the \fBadd\fR widget command except that it inserts the new
448 entry just before the entry given by \fIindex\fR, instead of appending
449 to the end of the menu.  The \fItype\fR, \fIoption\fR, and \fIvalue\fR
450 arguments have the same interpretation as for the \fBadd\fR widget
451 command.  It is not possible to insert new menu entries before the
452 tear-off entry, if the menu has one.
453 .TP
454 \fIpathName \fBinvoke \fIindex\fR
455 Invoke the action of the menu entry.  See the sections on the
456 individual entries above for details on what happens.  If the
457 menu entry is disabled then nothing happens.  If the
458 entry has a command associated with it then the result of that
459 command is returned as the result of the \fBinvoke\fR widget
460 command.  Otherwise the result is an empty string.  Note:  invoking
461 a menu entry does not automatically unpost the menu;  the default
462 bindings normally take care of this before invoking the \fBinvoke\fR
463 widget command.
464 .TP
465 \fIpathName \fBpost \fIx y\fR
466 Arrange for the menu to be displayed on the screen at the root-window
467 coordinates given by \fIx\fR and \fIy\fR.  These coordinates are
468 adjusted if necessary to guarantee that the entire menu is visible on
469 the screen.  This command normally returns an empty string.
470 If the \fBpostCommand\fR option has been specified, then its value is
471 executed as a Tcl script before posting the menu and the result of
472 that script is returned as the result of the \fBpost\fR widget
473 command.
474 If an error returns while executing the command, then the error is
475 returned without posting the menu.
476 .TP
477 \fIpathName \fBpostcascade \fIindex\fR
478 Posts the submenu associated with the cascade entry given by
479 \fIindex\fR, and unposts any previously posted submenu.
480 If \fIindex\fR doesn't correspond to a cascade entry,
481 or if \fIpathName\fR isn't posted,
482 the command has no effect except to unpost any currently posted
483 submenu.
484 .TP
485 \fIpathName \fBtype \fIindex\fR
486 Returns the type of the menu entry given by \fIindex\fR.
487 This is the \fItype\fR argument passed to the \fBadd\fR widget
488 command when the entry was created, such as \fBcommand\fR
489 or \fBseparator\fR.
490 .TP
491 \fIpathName \fBunpost\fR
492 Unmap the window so that it is no longer displayed.  If a
493 lower-level cascaded menu is posted, unpost that menu.  Returns an
494 empty string.
495 .TP
496 \fIpathName \fByposition \fIindex\fR
497 Returns a decimal string giving the y-coordinate within the menu
498 window of the line in the entry specified by \fIindex\fR.
499
500 .SH "MENU CONFIGURATIONS"
501 .PP
502 The default bindings support two different ways of using menus:
503 .TP
504 \fBPulldown Menus\fR
505 This is the most common case.  You create one menubutton widget for
506 each top-level menu, and typically you arrange a series of menubuttons
507 in a row in a menubar window.  You also create the top-level menus
508 and any cascaded submenus, and tie them together with \fB\-menu\fR
509 options in menubuttons and cascade menu entries.  The top-level menu must
510 be a child of the menubutton, and each submenu must be a child of the
511 menu that refers to it.  Once you have done this, the default bindings
512 will allow users to traverse and invoke the tree of menus via its
513 menubutton;  see the \fBmenubutton\fR manual entry for details.
514 .TP
515 \fBOption Menus\fR
516 An option menu consists of a menubutton with an associated menu
517 that allows you to select one of several values.  The current value
518 is displayed in the menubutton and is also stored in a global
519 variable.  Use the \fBck_optionMenu\fR procedure to create option
520 menubuttons and their menus.
521
522 .SH "DEFAULT BINDINGS"
523 .PP
524 Ck automatically creates class bindings for menus that give them
525 the following default behavior:
526 .IP [1]
527 When button 1 is pressed on a menu, the active entry (if any) is invoked.
528 The menu also unposts.
529 .IP [2]
530 The Space and Return keys invoke the active entry and
531 unpost the menu.
532 .IP [3]
533 If any of the entries in a menu have letters underlined with
534 with \fB\-underline\fR option, then pressing one of the underlined
535 letters (or its upper-case or lower-case equivalent) invokes that
536 entry and unposts the menu.
537 .IP [4]
538 The Escape key aborts a menu selection in progress without invoking any
539 entry. It also unposts the menu.
540 .IP [5]
541 The Up and Down keys activate the next higher or lower entry
542 in the menu.  When one end of the menu is reached, the active
543 entry wraps around to the other end.
544 .IP [6]
545 The Left key moves to the next menu to the left.
546 If the current menu is a cascaded submenu, then the submenu is
547 unposted and the current menu entry becomes the cascade entry
548 in the parent.
549 If the current menu is a top-level menu posted from a
550 menubutton, then the current menubutton is unposted and the
551 next menubutton to the left is posted.
552 Otherwise the key has no effect.
553 The left-right order of menubuttons is determined by their stacking
554 order:  Ck assumes that the lowest menubutton (which by default
555 is the first one created) is on the left.
556 .IP [7]
557 The Right key moves to the next menu to the right.
558 If the current entry is a cascade entry, then the submenu is
559 posted and the  current menu entry becomes the first entry
560 in the submenu.
561 Otherwise, if the current menu was posted from a
562 menubutton, then the current menubutton is unposted and the
563 next menubutton to the right is posted.
564 .PP
565 Disabled menu entries are non-responsive:  they don't activate and
566 they ignore mouse button presses and releases.
567 .PP
568 The behavior of menus can be changed by defining new bindings for
569 individual widgets or by redefining the class bindings.
570
571 .SH BUGS
572 .PP
573 At present it isn't possible to use the
574 option database to specify values for the options to individual
575 entries.
576
577 .SH KEYWORDS
578 menu, widget