coordinates specified in the event data structure. The menu is then popped up using XtManageChild(). As far as
Xt is concerned, this method for popping up a menu is technically incorrect. It is supported by the Motif toolkit to
simplify the PopupMenu interface. For more information, see the discussion on popping up dialog boxes in
Chapter 5, Introduction to Dialogs. The menu contains four items, the last of which has the accelerator
Ctrl<Key>C. Any time the user presses CTRL−C in the application, the callback routine associated with the menu
is called as if the menu had been popped up and the Exit item had been selected. The popup_cb() routine either
prints the name of the menu item or exits, depending on which item the user selected. Note that the name of the menu
item does not correspond to its label. As described in Chapter 4, The Main Window, menu items are automatically
given names of the form button_n, where n is assigned in order of menu item creation, starting at 0 (zero).
16.2.2 Cascading Menus
A cascading menu, or a pullright menu, is implemented as a PulldownMenu displayed from a menu item in another
PulldownMenu or PopupMenu that is already displayed. The menu item that posts the cascading menu must be a
CascadeButton. the source code demonstrates how to add a cascading menu using the simple menu routines. The
program adds a Line Width menu item to the PopupMenu from the source code This menu item is a CascadeButton
that posts a PulldownMenu created with XmVaCreateSimplePulldownMenu() ...