You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
317 lines
9.3 KiB
HTML
317 lines
9.3 KiB
HTML
15 years ago
|
<TITLE>optionmenu - Create and manipulate a option menu widget</TITLE>
|
||
|
<H1>optionmenu - Create and manipulate a option menu widget</H1>
|
||
|
|
||
|
</pre><H2>SYNOPSIS</H2>
|
||
|
<B>optionmenu<I> <I>pathName </I>?<I>options</I>?
|
||
|
</pre><H2>INHERITANCE</H2>
|
||
|
itk::Widget <- Labeledwidget <- optionmenu
|
||
|
</pre><H2>STANDARD OPTIONS</H2>
|
||
|
<P>
|
||
|
<table cellpadding=5>
|
||
|
<td valign=top>
|
||
|
<B>activeBackground</B><br>
|
||
|
<B>borderWidth</B><br>
|
||
|
<B>foreground</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>activeBorderWidth</B><br>
|
||
|
<B>cursor</B><br>
|
||
|
<B>highlightColor</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>activeForeground</B><br>
|
||
|
<B>disabledForeground</B><br>
|
||
|
<B>highlightThickness</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>background</B><br>
|
||
|
<B>font</B><br>
|
||
|
<B>relief</B><br>
|
||
|
</td>
|
||
|
</table>
|
||
|
<P>
|
||
|
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
|
||
|
</pre><H2>INHERITED OPTIONS</H2>
|
||
|
<P>
|
||
|
<table cellpadding=5>
|
||
|
<td valign=top>
|
||
|
<B>disabledForeground</B><br>
|
||
|
<B>labelMargin</B><br>
|
||
|
<B>state</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>labelBitmap</B><br>
|
||
|
<B>labelPos</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>labelFont</B><br>
|
||
|
<B>labelText</B><br>
|
||
|
</td>
|
||
|
<td valign=top>
|
||
|
<B>labelImage</B><br>
|
||
|
<B>labelVariable</B><br>
|
||
|
</td>
|
||
|
</table>
|
||
|
<P>
|
||
|
See the "LabeledWidget" manual entry for details on the inherited options.
|
||
|
</pre><H2>WIDGET-SPECIFIC OPTIONS</H2>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>clickTime</B>
|
||
|
Class: <B>ClickTime</B>
|
||
|
Command-Line Switch: <B>-clicktime</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Interval time, in msec, used to determine that a single mouse
|
||
|
click has occurred. Used to post menu on a "quick" mouse click.
|
||
|
<B>Note</B>: changing this value may cause the sigle-click
|
||
|
functionality to not work properly. The default is 150 msec.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>command</B>
|
||
|
Class: <B>Command</B>
|
||
|
Command-Line Switch: <B>-command</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Specifies a Tcl command procedure to be evaluated following a change in
|
||
|
the current option menu selection.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>cyclicOn</B>
|
||
|
Class: <B>CyclicOn</B>
|
||
|
Command-Line Switch: <B>-cyclicon</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Turns on/off the 3rd mouse button capability. The value may be specified
|
||
|
in any of the forms acceptable to <B>Tcl_GetBoolean</B>. This feature
|
||
|
allows the right mouse button to cycle through the popup
|
||
|
menu list without poping it up. The right mouse button cycles through
|
||
|
the menu in reverse order. The default is true.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>popupCursor</B>
|
||
|
Class: <B>Cursor</B>
|
||
|
Command-Line Switch: <B>-popupcursor</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Specifies the mouse cursor to be used for the popup menu. The value may
|
||
|
have any of the forms acceptable to <B>Tk_GetCursor</B>.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>state</B>
|
||
|
Class: <B>State</B>
|
||
|
Command-Line Switch: <B>-state</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Specified one of two states for the optionmenu: <B>normal</B>, or
|
||
|
<B>disabled</B>. If the optionmenu is disabled, then option menu
|
||
|
selection is ignored.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>width</B>
|
||
|
Class: <B>Width</B>
|
||
|
Command-Line Switch: <B>-width</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
Specifies a fixed size for the menu button label in any of the forms
|
||
|
acceptable to \Tk_GetPixels</B></I>. If the text
|
||
|
is too small to fit in the label, the text is clipped.
|
||
|
Note: Normally, when a new list is created, or new items are
|
||
|
added to an existing list, the menu button label is resized
|
||
|
automatically. Setting this option overrides that functionality.
|
||
|
</UL>
|
||
|
<P>
|
||
|
</pre><HR>
|
||
|
|
||
|
</pre><H2>DESCRIPTION</H2>
|
||
|
<P>
|
||
|
The <B>optionmenu</B> command creates an option menu widget with options
|
||
|
to manage it. An option menu displays a frame containing a label and a button.
|
||
|
A pop-up menu will allow for the value of the button to change.
|
||
|
|
||
|
</pre><H2>METHODS</H2>
|
||
|
<P>
|
||
|
The <B>optionmenu</B> command creates a new Tcl command whose
|
||
|
name is <I>pathName</I>. This
|
||
|
command may be used to invoke various
|
||
|
operations on the widget. It has the following general form:
|
||
|
<pre>
|
||
|
<I>pathName option </I>?<I>arg arg ...</I>?
|
||
|
</pre>
|
||
|
<I>Option</I> and the <I>arg</I>s
|
||
|
determine the exact behavior of the command.
|
||
|
<P>
|
||
|
Many of the widget commands for an optionmenu take as one argument an
|
||
|
indicator of which entry of the option menu to operate on. These
|
||
|
indicators are called <I>index</I>es and may be specified in
|
||
|
any of the following forms:
|
||
|
<DL>
|
||
|
<DT> <I>number</I>
|
||
|
</I></B>
|
||
|
<DD> Specifies the entry numerically, where 0 corresponds
|
||
|
to the top-most entry of the option menu, 1 to the entry below it, and
|
||
|
so on.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <B>end</B>
|
||
|
</I></B>
|
||
|
<DD> Indicates the bottommost entry in the menu. If there are no
|
||
|
entries in the menu then -1 is returned.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <B>select</B>
|
||
|
</I></B>
|
||
|
<DD> Returns the numerical index of the currently selected option menu entry.
|
||
|
If no entries exist in the menu, then -1 is returned.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pattern</I>
|
||
|
</I></B>
|
||
|
<DD> If the index doesn't satisfy one of the above forms then this
|
||
|
form is used. <I>Pattern</I> is pattern-matched against the label of
|
||
|
each entry in the option menu, in order from the top down, until a
|
||
|
matching entry is found. The rules of <B>Tcl_StringMatch</B>
|
||
|
are used.
|
||
|
</DL>
|
||
|
<P>
|
||
|
The following widget commands are possible for optionmenu widgets:
|
||
|
|
||
|
</pre><H2>WIDGET-SPECIFIC METHODS</H2>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>cget</B> <I>option</I>
|
||
|
</I></B>
|
||
|
<DD> Returns the current value of the configuration option given
|
||
|
by <I>option</I>.
|
||
|
<I>Option</I> may have any of the values accepted by the <B>optionmenu</B>
|
||
|
command.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
|
||
|
</I></B>
|
||
|
<DD> Query or modify the configuration options of the widget.
|
||
|
If no <I>option</I> is specified, returns a list describing all of
|
||
|
the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
|
||
|
information on the format of this list). If <I>option</I> is specified
|
||
|
with no <I>value</I>, then the command returns a list describing the
|
||
|
one named option (this list will be identical to the corresponding
|
||
|
sublist of the value returned if no <I>option</I> is specified). If
|
||
|
one or more <I>option-value</I> pairs are specified, then the command
|
||
|
modifies the given widget option(s) to have the given value(s); in
|
||
|
this case the command returns an empty string.
|
||
|
<I>Option</I> may have any of the values accepted by the <B>optionmenu</B>
|
||
|
command.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>delete <I>first</I> ?<I>last</I>?
|
||
|
</I></B>
|
||
|
<DD> Delete all of the option menu entries between <I>first</I> and
|
||
|
<I>last</I> inclusive. If <I>last</I> is omitted then it defaults
|
||
|
to <I>first</I>.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>disable <I>index</I>
|
||
|
</I></B>
|
||
|
<DD> Disable the option menu entry specified by <I>index</I>.
|
||
|
Disabling a menu item will prevent the user from being able to select
|
||
|
this item from the menu. This only effects the state of the item
|
||
|
in the menu, in other words, should the item be the currently
|
||
|
selected item, the programmer is responsible for determining this condition
|
||
|
and taking appropriate action.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>enable <I>index</I>
|
||
|
</I></B>
|
||
|
<DD> Enable the option menu entry specified by <I>index</I>.
|
||
|
Enabling a menu item allows the user to select this item from the menu.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>get</B> ?<I>first</I>? ?<I>last</I>?
|
||
|
</I></B>
|
||
|
<DD> If no arguments are specified, this operation returns the currently
|
||
|
selected option menu item. Otherwise, it returns the name of the
|
||
|
option at index <I>first</I>, or a range of options between <I>first</I>
|
||
|
and <I>last</I>.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>index <I>index</I>
|
||
|
</I></B>
|
||
|
<DD> Returns the numerical index corresponding to <I>index</I>.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>insert <I>index string</I> ?<I>string</I>?
|
||
|
</I></B>
|
||
|
<DD> Insert an item, or list of items, into the menu at location <I>index</I>.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>select <I>index</I>
|
||
|
</I></B>
|
||
|
<DD> Select an item from the option menu to be displayed as the currently
|
||
|
selected item.
|
||
|
</DL>
|
||
|
<DL>
|
||
|
<DT> <I>pathName <B>sort <I>mode</I>
|
||
|
</I></B>
|
||
|
<DD> Sort the current menu in either <B>ascending</B>, or <B>descending</B> order.
|
||
|
The values <B>increasing</B>, or <B>decreasing</B> are also accepted.
|
||
|
|
||
|
</DL>
|
||
|
</pre><H2>COMPONENTS</H2>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>menuBtn</B>
|
||
|
Class: <B>Menubutton</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
The menuBtn component is the option menu button which displays the current
|
||
|
choice from the popup menu. See the "menubutton" widget manual entry
|
||
|
for details on the menuBtn component item.
|
||
|
</UL>
|
||
|
<P>
|
||
|
<pre>
|
||
|
Name: <B>popupMenu</B>
|
||
|
Class: <B>Menu</B>
|
||
|
</pre>
|
||
|
<UL>
|
||
|
The popupMenu component is menu displayed upon selection of the menu button.
|
||
|
The menu contains the choices for the option menu. See the "menu" widget
|
||
|
manual entry for details on the popupMenu component item.
|
||
|
</UL>
|
||
|
</table>
|
||
|
|
||
|
</pre><H2>EXAMPLE</H2>
|
||
|
<pre>
|
||
|
optionmenu .om -labelmargin 5 \\
|
||
|
-labelon true -labelpos w -labeltext "Operating System :"
|
||
|
|
||
|
.om insert end Unix VMS Linux OS/2 {Windows NT} DOS
|
||
|
.om sort ascending
|
||
|
.om select Linux
|
||
|
|
||
|
pack .om -padx 10 -pady 10
|
||
|
</pre>
|
||
|
</pre><H2>ACKNOWLEDGEMENTS:</H2>
|
||
|
Michael J. McLennan
|
||
|
<UL>
|
||
|
Borrowed some ideas (next & previous) from OptionButton class.
|
||
|
</UL>
|
||
|
<P>
|
||
|
Steven B. Jaggers
|
||
|
<UL>
|
||
|
Provided an initial prototype in [incr Tcl].
|
||
|
</UL>
|
||
|
<P>
|
||
|
Bret Schuhmacher
|
||
|
<UL>
|
||
|
Helped with popup menu functionality.
|
||
|
</UL>
|
||
|
<P>
|
||
|
</pre><H2>AUTHOR</H2>
|
||
|
Alfredo Jahn
|
||
|
</pre><H2>KEYWORDS</H2>
|
||
|
optionmenu, widget
|