1XmCascadeButton(library call) XmCascadeButton(library call)
2
3
4
6 XmCascadeButton — The CascadeButton widget class
7
9 #include <Xm/CascadeB.h>
10
12 CascadeButton links two menu panes or a MenuBar to a menu pane.
13
14 It is used in menu systems and must have a RowColumn parent with its
15 XmNrowColumnType resource set to XmMENU_BAR, XmMENU_POPUP or
16 XmMENU_PULLDOWN.
17
18 It is the only widget that can have a Pulldown menu pane attached to it
19 as a submenu. The submenu is displayed when this widget is activated
20 within a MenuBar, a PopupMenu, or a PulldownMenu. Its visuals can
21 include a label or pixmap and a cascading indicator when it is in a
22 Popup or Pulldown menu pane; or it can include only a label or a pixmap
23 when it is in a MenuBar. The positioning of the PulldownMenu with
24 respect to the CascadeButton depends on the XmNlayoutDirection resource
25 of the MenuShell.
26
27 The default behavior associated with a CascadeButton depends on the
28 type of menu system in which it resides. By default, BSelect controls
29 the behavior of the CascadeButton. In addition, BMenu controls the
30 behavior of the CascadeButton if it resides in a PopupMenu system. The
31 actual mouse button used is determined by its RowColumn parent. BMenu
32 also performs the BSelect actions in all types of menu systems.
33
34 A CascadeButton's visuals differ from most other button gadgets. When
35 the button becomes armed, its visuals change from a 2-D to a 3-D look,
36 and it displays the submenu that has been attached to it. If no submenu
37 is attached, it simply changes its visuals.
38
39 When a CascadeButton within a Pulldown or Popup menu pane is armed as
40 the result of the user moving the mouse pointer into the widget, it
41 does not immediately display its submenu. Instead, it waits a short
42 amount of time to see if the arming was temporary (that is, the user
43 was simply passing through the widget), or whether the user really
44 wanted the submenu posted. This time delay is configurable using XmN‐
45 mappingDelay.
46
47 CascadeButton provides a single mechanism for activating the widget
48 from the keyboard. This mechanism is referred to as a keyboard
49 mnemonic. If a mnemonic has been specified for the widget, the user
50 may activate the CascadeButton by simply typing the mnemonic while the
51 CascadeButton is visible. If the CascadeButton is in a MenuBar and the
52 MenuBar does not have the focus, the MAlt modifier must be pressed with
53 the mnemonic. Mnemonics are typically used to interact with a menu
54 using the keyboard interface.
55
56 If the Cascadebutton is in a Pulldown or Popup menu pane and there is a
57 submenu attached, the XmNmarginBottom, XmNmarginLeft, XmNmarginRight,
58 and XmNmarginTop resources may enlarge to accommodate XmNcascadePixmap.
59 XmNmarginWidth defaults to 6 if this resource is in a MenuBar; other‐
60 wise, it takes Label's default, which is 2.
61
62 CascadeButton uses the XmQTmenuSystem and XmQTspecifyRenderTable
63 traits.
64
65 Classes
66 CascadeButton inherits behavior, resources, and traits from Core,
67 XmPrimitive, and XmLabel classes.
68
69 The class pointer is xmCascadeButtonWidgetClass.
70
71 The class name is XmCascadeButton.
72
73 New Resources
74 The following table defines a set of widget resources used by the pro‐
75 grammer to specify data. The programmer can also set the resource val‐
76 ues for the inherited classes to set attributes for this widget. To
77 reference a resource by name or by class in a .Xdefaults file, remove
78 the XmN or XmC prefix and use the remaining letters. To specify one of
79 the defined values for a resource in a .Xdefaults file, remove the Xm
80 prefix and use the remaining letters (in either lowercase or uppercase,
81 but include any underscores between words). The codes in the access
82 column indicate if the given resource can be set at creation time (C),
83 set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
84 not applicable (N/A).
85
86 ┌───────────────────────────────────────────────────────────────────────────┐
87 │ │ XmCascadeButton │Resource Set │ │ │
88 │Name │ Class │ Type │ Default │ Access │
89 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
90 │XmNactivateCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
91 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
92 │XmNcascadePixmap │ XmCPixmap │ Pixmap │ dynamic │ CSG │
93 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
94 │XmNcascadingCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
95 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
96 │XmNmappingDelay │ XmCMappingDelay │ int │ 180 ms │ CSG │
97 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
98 │XmNsubMenuId │ XmCMenuWidget │ Widget │ NULL │ CSG │
99 ├─────────────────────┼─────────────────┼────────────────┼─────────┼────────┤
100 └─────────────────────┴─────────────────┴────────────────┴─────────┴────────┘
101 XmNactivateCallback
102 Specifies the list of callbacks that is called when the user
103 activates the CascadeButton widget and there is no submenu
104 attached to pop up. The activation occurs when a mouse button
105 is released or when the mnemonic associated with the widget
106 is typed. The specific mouse button depends on information in
107 the RowColumn parent. The reason sent by the callback is
108 XmCR_ACTIVATE.
109
110 XmNcascadePixmap
111 Specifies the cascade pixmap displayed on one end of the wid‐
112 get when a CascadeButton is used within a Popup or Pulldown
113 menu pane and a submenu is attached. The Label class
114 resources XmNmarginBottom, XmNmarginLeft, XmNmarginRight, and
115 XmNmarginTop may be modified to ensure that room is left for
116 the cascade pixmap. The default cascade pixmap is an arrow
117 pointing to the side of the menu where the submenu will
118 appear. The positioning of the cascade pixmap to either the
119 left of right of the widget, and the direction of the arrow,
120 depend on the XmNlayoutDirection resource of the MenuShell.
121
122 XmNcascadingCallback
123 Specifies the list of callbacks that is called just prior to
124 the mapping of the submenu associated with CascadeButton. The
125 reason sent by the callback is XmCR_CASCADING.
126
127 XmNmappingDelay
128 Specifies the amount of time, in milliseconds, between when a
129 CascadeButton becomes armed and when it maps its submenu.
130 This delay is used only when the widget is within a Popup or
131 Pulldown menu pane. The value must not be negative.
132
133 XmNsubMenuId
134 Specifies the widget ID for the Pulldown menu pane to be
135 associated with this CascadeButton. The specified menu pane
136 is displayed when the CascadeButton becomes armed. The menu
137 pane must have been created with the appropriate parentage
138 depending on the type of menu used. See XmCreateMenuBar(3),
139 XmCreatePulldownMenu(3), and XmCreatePopupMenu(3) for more
140 information on the menu systems.
141
142 Inherited Resources
143 CascadeButton inherits behavior and resources from the superclasses
144 described in the following tables. For a complete description of each
145 resource, refer to the reference page for that superclass.
146
147 ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
148 │ │ XmLabel Res│ource Set │ │ │
149 │Name │ Class │ Type │ Default │ Access │
150 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
151 │XmNaccelerator │ XmCAccelerator │ String │ NULL │ N/A │
152 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
153 │XmNacceleratorText │ XmCAcceleratorText │ XmString │ NULL │ N/A │
154 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
155 │XmNalignment │ XmCAlignment │ unsigned char │ dynamic │ CSG │
156 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
157 │XmNfontList │ XmCFontList │ XmFontList │ dynamic │ CSG │
158 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
159 │XmNlabelInsensitivePixmap │ XmCLabelInsensitivePixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
160 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
161 │XmNlabelPixmap │ XmCLabelPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
162 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
163 │XmNlabelString │ XmCXmString │ XmString │ dynamic │ CSG │
164 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
165 │XmNlabelType │ XmCLabelType │ unsigned char │ XmSTRING │ CSG │
166 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
167 │XmNmarginBottom │ XmCMarginBottom │ Dimension │ dynamic │ CSG │
168 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
169 │XmNmarginHeight │ XmCMarginHeight │ Dimension │ 2 │ CSG │
170 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
171 │XmNmarginLeft │ XmCMarginLeft │ Dimension │ 0 │ CSG │
172 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
173 │XmNmarginRight │ XmCMarginRight │ Dimension │ dynamic │ CSG │
174 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
175 │XmNmarginTop │ XmCMarginTop │ Dimension │ dynamic │ CSG │
176 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
177 │XmNmarginWidth │ XmCMarginWidth │ Dimension │ dynamic │ CSG │
178 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
179 │XmNmnemonic │ XmCMnemonic │ KeySym │ NULL │ CSG │
180 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
181 │XmNmnemonicCharSet │ XmCMnemonicCharSet │ String │ XmFONTLIST_DEFAULT_TAG │ CSG │
182 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
183 │XmNrecomputeSize │ XmCRecomputeSize │ Boolean │ True │ CSG │
184 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
185 │XmNrenderTable │ XmCRenderTable │ XmRenderTable │ dynamic │ CSG │
186 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
187 │XmNstringDirection │ XmCStringDirection │ XmStringDirection │ dynamic │ CSG │
188 ├──────────────────────────┼───────────────────────────┼───────────────────┼────────────────────────┼────────┤
189 └──────────────────────────┴───────────────────────────┴───────────────────┴────────────────────────┴────────┘
190 ┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
191 │ │ XmPrimitive│Resource Set │ │ │
192 │Name │ Class │ Type │ Default │ Access │
193 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
194 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
195 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
196 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
197 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
198 │XmNconvertCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
199 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
200 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
201 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
202 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
203 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
204 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
205 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
206 │XmNhighlightOnEnter │ XmCHighlightOnEnter │ Boolean │ False │ CSG │
207 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
208 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
209 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
210 │XmNhighlightThickness │ XmCHighlightThickness │ Dimension │ 0 │ CSG │
211 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
212 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
213 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
214 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmNONE │ CSG │
215 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
216 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
217 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
218 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ 2 │ CSG │
219 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
220 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
221 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
222 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
223 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
224 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ dynamic │ G │
225 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
226 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
227 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
228 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
229 ├────────────────────────┼───────────────────────┼──────────────────┼──────────────────────┼────────┤
230 └────────────────────────┴───────────────────────┴──────────────────┴──────────────────────┴────────┘
231 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
232 │ │ Core Resource Se│t │ │ │
233 │Name │ Class │ Type │ Default │ Access │
234 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
235 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ CSG │
236 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
237 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
238 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
239 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
240 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
241 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
242 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
243 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
244 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
245 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
246 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
247 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
248 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
249 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
250 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
251 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
252 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
253 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
254 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
255 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
256 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
257 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
258 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
259 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
260 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
261 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
262 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
263 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
264 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
265 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
266 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
267 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
268 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
269 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
270 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
271 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
272 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
273 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
274 Callback Information
275 A pointer to the following structure is passed to each callback:
276
277 typedef struct
278 {
279 int reason;
280 XEvent * event;
281 } XmAnyCallbackStruct;
282
283 reason Indicates why the callback was invoked
284
285 event Points to the XEvent that triggered the callback or is NULL
286 if this callback was not triggered due to an XEvent
287
288 Translations
289 XmCascadeButton includes translations from XmPrimitive. XmCascadeBut‐
290 ton includes the menu traversal translations from XmLabel.
291
292 Note that altering translations in #override or #augment mode is unde‐
293 fined.
294
295 The following list describes the translations for a CascadeButton in a
296 MenuBar. The following key names are listed in the X standard key
297 event translation table syntax. This format is the one used by Motif
298 to specify the widget actions corresponding to a given key. A brief
299 overview of the format is provided under VirtualBindings(3). For a
300 complete description of the format, please refer to the X Toolkit
301 Instrinsics Documentation.
302
303 <EnterWindow>Normal:
304 MenuBarEnter()
305
306 <LeaveWindow>Normal:
307 MenuBarLeave()
308
309 <Btn2Down>:
310 ProcessDrag()
311
312 c<BtnDown>:
313 MenuButtonTakeFocusUp()
314
315 c<BtnUp>: MenuButtonTakeFocusUp()
316
317 ∼c<BtnDown>:
318 MenuBarSelect()
319
320 ∼c<BtnUp>:
321 DoSelect()
322
323 :<Key><osfSelect>:
324 KeySelect()
325
326 :<Key><osfActivate>:
327 KeySelect()
328
329 :<Key><osfHelp>:
330 Help()
331
332 :<Key><osfCancel>:
333 CleanupMenuBar()
334
335 ∼s<Key>Return:
336 KeySelect()
337
338 ∼s<Key>space:
339 KeySelect()
340
341 The following list describes the translations for a CascadeButton in a
342 PullDown or Popup MenuPane. In a Popup menu system, <Btn3> also per‐
343 forms the <Btn1> actions.
344
345 <EnterWindow>:
346 DelayedArm()
347
348 <LeaveWindow>:
349 CheckDisarm()
350
351 <Btn2Down>:
352 ProcessDrag()
353
354 c<BtnDown>:
355 MenuButtonTakeFocus()
356
357 c<BtnUp>: MenuButtonTakeFocusUp()
358
359 ∼c<BtnDown>:
360 StartDrag()
361
362 ∼c<BtnUp>:
363 DoSelect()
364
365 :<Key><osfSelect>:
366 KeySelect()
367
368 :<Key><osfActivate>:
369 KeySelect()
370
371 :<Key><osfHelp>:
372 Help()
373
374 :<Key><osfCancel>:
375 CleanupMenuBar()
376
377 ∼s<Key>Return:
378 KeySelect()
379
380 ∼s<Key>space:
381 KeySelect()
382
383 Action Routines
384 The XmCascadeButton action routines are
385
386 CleanupMenuBar():
387 In a MenuBar, disarms the CascadeButton and the menu and,
388 when the shell's keyboard focus policy is XmEXPLICIT,
389 restores keyboard focus to the widget that had the focus
390 before the menu was entered.
391
392 In a toplevel Pulldown MenuPane from a MenuBar, unposts the
393 menu, disarms the MenuBar CascadeButton and the MenuBar, and,
394 when the shell's keyboard focus policy is XmEXPLICIT,
395 restores keyboard focus to the widget that had the focus
396 before the MenuBar was entered. In other Pulldown MenuPanes,
397 unposts the menu.
398
399 In a Popup MenuPane, unposts the menu and, when the shell's
400 keyboard focus policy is XmEXPLICIT, restores keyboard focus
401 to the widget from which the menu was posted.
402
403 DoSelect():
404 Calls the callbacks in XmNcascadingCallback, posts the sub‐
405 menu attached to the CascadeButton and enables keyboard tra‐
406 versal within the menu. If the CascadeButton does not have a
407 submenu attached, this action calls the callbacks in XmNacti‐
408 vateCallback, activates the CascadeButton, and unposts all
409 posted menus in the cascade.
410
411 Help(): Unposts all menus in the menu hierarchy and, when the shell's
412 keyboard focus policy is XmEXPLICIT, restores keyboard focus
413 to the widget that had the focus before the menu system was
414 entered. Calls the callbacks for XmNhelpCallback if any
415 exist. If there are no help callbacks for this widget, this
416 action calls the help callbacks for the nearest ancestor that
417 has them.
418
419 KeySelect():
420 Calls the callbacks in XmNcascadingCallback, and posts the
421 submenu attached to the CascadeButton if keyboard traversal
422 is enabled in the menu. If the CascadeButton does not have a
423 submenu attached, this action calls the callbacks in XmNacti‐
424 vateCallback, activates the CascadeButton, and unposts all
425 posted menus in the cascade.
426
427 MenuBarSelect():
428 Unposts any menus posted by the parent menu. Arms both the
429 CascadeButton and the MenuBar, posts the associated submenu,
430 and enables mouse traversal. If the menu is already active,
431 this event disables keyboard traversal for the menu and
432 returns the menu to mouse traversal mode.
433
434 StartDrag():
435 Arms the CascadeButton, posts the associated submenu, and
436 enables mouse traversal. If the menu is already active, this
437 event disables keyboard traversal for the menu and returns
438 the menu to mouse traversal mode.
439
440 Additional Behavior
441 Posting a submenu calls the XmNcascadingCallback callbacks. This wid‐
442 get has the following additional behavior:
443
444 <EnterWindow>:
445 If keyboard traversal is enabled, does nothing. Otherwise,
446 in a MenuBar that is armed, unposts any MenuPanes associated
447 with another MenuBar entry, arms the CascadeButton, and posts
448 the associated submenu. In other menus, arms the CascadeBut‐
449 ton and posts the associated submenu after the delay speci‐
450 fied by XmNmappingDelay.
451
452 <LeaveWindow>:
453 If keyboard traversal is enabled does nothing. Otherwise, in
454 a MenuBar that is armed, disarms the CascadeButton if the
455 submenu associated with the CascadeButton is not currently
456 posted or if there is no submenu associated with the Cascade‐
457 Button.
458
459 In other menus, if the pointer moves anywhere except into a
460 submenu associated with the CascadeButton, the CascadeButton
461 is disarmed and its submenu is unposted.
462
463 Virtual Bindings
464 The bindings for virtual keys are vendor specific. For information
465 about bindings for virtual buttons and keys, see VirtualBindings(3).
466
468 Core(3), XmCascadeButtonHighlight(3), XmCreateCascadeButton(3), XmCre‐
469 ateMenuBar(3), XmCreatePulldownMenu(3), XmCreatePopupMenu(3), XmLa‐
470 bel(3), XmPrimitive(3), XmRowColumn(3), XmVaCreateCascadeButton(3),
471 XmVaCreateManagedCascadeButton(3).
472
473
474
475 XmCascadeButton(library call)