summaryrefslogtreecommitdiff
path: root/itcl/iwidgets3.0.0/demos/html/optionmenu.n.html
blob: 606a8825ed5dba86f9af0bfeffb3b8d3fc70c576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<HTML>
<HEAD>
<TITLE>iwidgets2.2.0 User Commands - optionmenu</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>iwidgets2.2.0 User Commands - optionmenu</H1>
<HR>
<PRE>

</PRE>
<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>


</PRE>
<H2>NAME</H2><PRE>
     optionmenu - Create and manipulate a option menu widget


</PRE>
<H2>SYNOPSIS</H2><PRE>
     <STRONG>optionmenu</STRONG> <EM>pathName</EM> ?<EM>options</EM>?


</PRE>
<H2>INHERITANCE</H2><PRE>
     itk::Widget &lt;- Labeledwidget &lt;- optionmenu


</PRE>
<H2>STANDARD OPTIONS</H2><PRE>
     <STRONG>activeBackground</STRONG>               <STRONG>activeBorderWidthactiveForegroundbackground</STRONG>
     <STRONG>borderWidth</STRONG>     <STRONG>cursor</STRONG>         <STRONG>disabledForegroundfont</STRONG>
     <STRONG>foreground</STRONG>      <STRONG>highlightColor</STRONG> <STRONG>highlightThicknessrelief</STRONG>

     See the "options" manual entry for details on  the  standard
     options.


</PRE>
<H2>INHERITED OPTIONS</H2><PRE>
     <STRONG>labelBitmap</STRONG>     <STRONG>labelFont</STRONG>      <STRONG>labelImage</STRONG>      <STRONG>labelMargin</STRONG>
     <STRONG>labelPos</STRONG>        <STRONG>labelText</STRONG>      <STRONG>labelVariable</STRONG>

     See the "LabeledWidget" manual  entry  for  details  on  the
     inherited options.


</PRE>
<H2>WIDGET-SPECIFIC OPTIONS</H2><PRE>
     Name:           <STRONG>clickTime</STRONG>
     Class:          <STRONG>ClickTime</STRONG>
     Command-Line Switch:           <STRONG>-clicktime</STRONG>

          Interval time, in msec, used to determine that a single
          mouse  click  has  occurred.  Used  to  post  menu on a
          "quick" mouse click.  <STRONG>Note</STRONG>:  changing  this  value  may
          cause  the  sigle-click functionality to not work prop-
          erly.  The default is 150 msec.

     Name:           <STRONG>command</STRONG>
     Class:          <STRONG>Command</STRONG>
     Command-Line Switch:           <STRONG>-command</STRONG>

          Specifies a Tcl command procedure to be evaluated  fol-
          lowing a  change in the current option menu selection.

     Name:           <STRONG>cyclicOn</STRONG>
     Class:          <STRONG>CyclicOn</STRONG>
     Command-Line Switch:           <STRONG>-cyclicon</STRONG>

          Turns on/off the 3rd mouse button capability. The value
          may  be  specified  in  any  of the forms acceptable to
          <STRONG>Tcl_GetBoolean</STRONG>.  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.

     Name:           <STRONG>items</STRONG>
     Class:          <STRONG>Items</STRONG>
     Command-Line Switch:           <STRONG>-items</STRONG>

          Sepcifies the list of items  to  be  displayed  in  the
          menu.

     Name:           <STRONG>popupCursor</STRONG>
     Class:          <STRONG>Cursor</STRONG>
     Command-Line Switch:           <STRONG>-popupcursor</STRONG>

          Specifies  the mouse cursor to be used  for  the  popup
          menu.  The value may have any of the  forms  acceptable
          to <STRONG>Tk_GetCursor</STRONG>.

     Name:           <STRONG>state</STRONG>
     Class:          <STRONG>State</STRONG>
     Command-Line Switch:           <STRONG>-state</STRONG>

          Specified one of two states for the optionmenu: <STRONG>normal</STRONG>,
          or  <STRONG>disabled</STRONG>.   If  the  optionmenu  is  disabled, then
          option menu selection is ignored.

     Name:           <STRONG>width</STRONG>
     Class:          <STRONG>Width</STRONG>
     Command-Line Switch:           <STRONG>-width</STRONG>

          Specifies a fixed size for the menu button label in any
          of  the  forms acceptable to Tk_GetPixels.  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.


</PRE>
<H2><HR ALIGN=LEFT WIDTH=70% SIZE=3></H2><PRE>



</PRE>
<H2>DESCRIPTION</H2><PRE>
     The <STRONG>optionmenu</STRONG> command creates an option  menu  widget  with
     options  to manage it.  An option menu displays a frame con-
     taining a label and a button.  A pop-up menu will allow  for
     the value of the button to change.



</PRE>
<H2>METHODS</H2><PRE>
     The <STRONG>optionmenu</STRONG> command creates a new Tcl command whose  name
     is  <EM>pathName</EM>.   This  command  may be used to invoke various
     operations on the widget.   It  has  the  following  general
     form:

          <EM>pathName</EM> <EM>option</EM> ?<EM>arg</EM> <EM>arg</EM> ...?

     <EM>Option</EM> and the <EM>arg</EM>s determine the exact behavior of the com-
     mand.

     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 <EM>index</EM>es and may  be
     specified in any of the following forms:

     <EM>number</EM>      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.

     <STRONG>end</STRONG>         Indicates the bottommost entry in the menu.   If
                 there  are  no  entries in the menu then zero is
                 returned.

     <STRONG>select</STRONG>      Returns the numerical  index  of  the  currently
                 selected option menu entry.  If no entries exist
                 in the menu, then -1 is returned.

     <EM>pattern</EM>     If the index doesn't satisfy one  of  the  above
                 forms  then  this  form  is  used.   <EM>Pattern</EM>  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
                 <STRONG>Tcl_StringMatch</STRONG> are used.

     The following widget commands are  possible  for  optionmenu
     widgets:



</PRE>
<H2>WIDGET-SPECIFIC METHODS</H2><PRE>
     <EM>pathName</EM> <STRONG>cget</STRONG> <EM>option</EM>
          Returns the current value of the  configuration  option
          given  by  <EM>option</EM>.   <EM>Option</EM>  may have any of the values
          accepted by the <STRONG>optionmenu</STRONG> command.

     <EM>pathName</EM> <STRONG>configure</STRONG> ?<EM>option</EM>? ?<EM>value</EM> <EM>option</EM> <EM>value</EM> ...?
          Query  or  modify  the  configuration  options  of  the
          widget.   If  no  <EM>option</EM>  is  specified, returns a list
          describing all of the available  options  for  <EM>pathName</EM>
          (see  <STRONG>Tk_ConfigureInfo</STRONG> for information on the format of
          this list).  If <EM>option</EM> is specified with no <EM>value</EM>, then
          the  command  returns  a  list describing the one named
          option (this list will be identical to the  correspond-
          ing  sublist  of  the  value  returned  if no <EM>option</EM> is
          specified).  If one or more  <EM>option</EM> - <EM>value</EM>  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.  <EM>Option</EM> may have any
          of the values accepted by the <STRONG>optionmenu</STRONG> command.

     <EM>pathName</EM> <STRONG>delete</STRONG> <EM>first</EM> ?<EM>last</EM>?
          Delete all of the option menu entries between <EM>first</EM> and
          <EM>last</EM> inclusive.  If <EM>last</EM> is omitted then it defaults to
          <EM>first</EM>.

     <EM>pathName</EM> <STRONG>disable</STRONG> <EM>index</EM>
          Disable the option menu entry specified by <EM>index</EM>. Disa-
          bling 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 condi-
          tion and taking appropriate action.

     <EM>pathName</EM> <STRONG>enable</STRONG> <EM>index</EM>
          Enable the option menu entry specified by <EM>index</EM>.   Ena-
          bling  a  menu item allows the user to select this item
          from the menu.

     <EM>pathName</EM> <STRONG>get</STRONG>
          Returns the currently selected option menu item.

     <EM>pathName</EM> <STRONG>index</STRONG> <EM>index</EM>
          Returns the numerical index corresponding to <EM>index</EM>.

     <EM>pathName</EM> <STRONG>insert</STRONG> <EM>index</EM> <EM>string</EM> ?<EM>string</EM>?
          Insert an item, or list of  items,  into  the  menu  at
          location <EM>index</EM>.

     <EM>pathName</EM> <STRONG>select</STRONG> <EM>index</EM>
          Select an item from the option menu to be displayed  as
          the currently selected item.

     <EM>pathName</EM> <STRONG>sort</STRONG> <EM>mode</EM>
          Sort the current menu in either <STRONG>ascending</STRONG>, or  <STRONG>descend-</STRONG>
          <STRONG>ing</STRONG>  order.   The  values <STRONG>increasing</STRONG>, or <STRONG>decreasing</STRONG> are
          also accepted.



</PRE>
<H2>COMPONENTS</H2><PRE>
     Name:           <STRONG>menuBtn</STRONG>
     Class:          <STRONG>Frame</STRONG>

          The menuBtn component is the option menu  button  which
          displays  the  current choice from the popup menu.  See
          the "frame" widget manual  entry  for  details  on  the
          menuBtn component item.

     Name:           <STRONG>menuLabel</STRONG>
     Class:          <STRONG>Label</STRONG>

          The menuLabel component is the label whose text is  the
          currently selected choice from the popup menu.  See the
          "label" widget manual entry for details on the  menuLa-
          bel component item.

     Name:           <STRONG>popupMenu</STRONG>
     Class:          <STRONG>Menu</STRONG>

          The popupMenu component is menu displayed  upon  selec-
          tion 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.



</PRE>
<H2>EXAMPLE</H2><PRE>
           optionmenu .om -labelmargin 5 \
               -labelon true -labelpos w -labeltext "Operating System :" \
               -items {Unix VMS Linux OS/2 {Windows NT} DOS}

           .om insert end CPM {MS DOS} HP/UX
           .om sort ascending
           .om select Linux

           pack .om  -padx 10 -pady 10



</PRE>
<H2>ACKNOWLEDGEMENTS:</H2><PRE>
     Michael J. McLennan

          Borrowed some ideas (next &amp; previous) from OptionButton
          class.

     Steven B. Jaggers

          Provided an initial prototype in [incr Tcl].

     Bret Schuhmacher

          Helped with popup menu functionality.


</PRE>
<H2>AUTHOR</H2><PRE>
     Alfredo Jahn


</PRE>
<H2>KEYWORDS</H2><PRE>
     optionmenu, widget




</PRE>
</BODY>
</HTML>