| <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 |