<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 &lt;- Labeledwidget &lt;- 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 &amp; 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
