
A cascading menu
MenuBars, PulldownMenus, and cascading menus are all created in a similar way. Motif provides convenience
functions that create specially configured RowColumn widgets for these menu objects. The RowColumn widget is
then populated with PushButtons, CascadeButtons, ToggleButtons, and Separators, or their gadget equivalents. In the
case of a MenuBar, all of the children must be CascadeButtons, since each button brings up a separate menu. In a
PulldownMenu pane, most of the items are PushButtons or ToggleButtons, although -Separators can be used for
clarity. If an item posts a cascading menu, it must be a CascadeButton. The additional menu is created separately,
populated with its own buttons, and -attached to the CascadeButton.
Motif also supports a construct called an OptionMenu. An OptionMenu is another specially−configured RowColumn
widget, but in this case the behavior is quite different. An OptionMenu is typically used to prompt the user to choose a
value. The RowColumn widget displays a Label and a CascadeButton that shows the current value. When the user
clicks on the button, a menu that contains the rest of the choices is popped up directly on top of the CascadeButton.
Choosing an item from the menu modifies the label of the CascadeButton so that it shows the currently−selected item.
the figure shows an OptionMenu, both before and after it is popped up.
Additionally, Motif ...