XmCreateOptionMenu(3X)XmCreateOptionMenu(3X)NAMEXmCreateOptionMenu — A RowColumn widget convenience creation function
SYNOPSIS
#include <Xm/RowColumn.h>
Widget XmCreateOptionMenu (parent, name, arglist, argcount) Wid‐
get parent; String name; ArgList arglist; Cardi‐
nal argcount;
VERSION
This page documents version 1.2 of the Motif library.
DESCRIPTIONXmCreateOptionMenu creates an instance of a RowColumn widget of type
XmMENU_OPTION and returns the associated widget ID.
It is provided as a convenience function for creating a RowColumn wid‐
get configured to operate as an OptionMenu and is not implemented as a
separate widget class.
The OptionMenu widget is a specialized RowColumn manager composed of a
label, a selection area, and a single Pulldown MenuPane. When an
application creates an OptionMenu widget, it supplies the label string
and the Pulldown MenuPane. In order to succeed, there must be a valid
XmNsubMenuId resource set when calling this function. When the Option‐
Menu is created, the Pulldown MenuPane must have been created as a
child of the OptionMenu's parent and must be specified. The LabelGad‐
get and the selection area (a CascadeButtonGadget) are created by the
OptionMenu.
The OptionMenu's Pulldown MenuPane must not contain any ToggleButtons
or ToggleButtonGadgets. The results of including CascadeButtons or
CascadeButtonGadgets in the OptionMenu's Pulldown MenuPane are unde‐
fined.
An OptionMenu is laid out with the label displayed on one side of the
widget and the selection area on the other side when XmNorientation is
XmHORIZONTAL. If the value is XmVERTICAL, the label is above the
selection area. The selection area has a dual purpose; it displays the
label of the last item selected from the associated Pulldown MenuPane,
and it provides the means for posting the Pulldown MenuPane.
The OptionMenu typically does not display any 3-D visuals around itself
or the internal LabelGadget. By default, the internal CascadeButton‐
Gadget has a visible 3-D shadow. The application may change this by
getting the CascadeButtonGadget ID using XmOptionButtonGadget, and then
calling XtSetValues using the standard visual-related resources.
The Pulldown MenuPane is posted by moving the mouse pointer over the
selection area and pressing a mouse button defined by OptionMenu's Row‐
Column parent. The Pulldown MenuPane is posted and positioned so that
the last selected item is directly over the selection area. The mouse
is then used to arm the desired menu item. When the mouse button is
released, the armed menu item is selected and the label within the
selection area is changed to match that of the selected item. By
default, BSelect is used to interact with an OptionMenu. The default
can be changed via the RowColumn resource XmNmenuPost.
The OptionMenu also operates by using the keyboard interface mechanism.
If the application has established a mnemonic with the OptionMenu, typ‐
ing Alt with the mnemonic causes the Pulldown MenuPane to be posted
with traversal enabled. The standard traversal keys can then be used
to move within the MenuPane. Selection can occur as the result of
pressing the Return key or typing a mnemonic or accelerator for one of
the menu items.
An application may use the XmNmenuHistory resource to indicate which
item in the Pulldown MenuPane should be treated as the current choice
and have its label displayed in the selection area. By default, the
first item in the Pulldown MenuPane is used. Specifies the parent wid‐
get ID Specifies the name of the created widget Specifies the argument
list Specifies the number of attribute/value pairs in the argument list
(arglist)
The user can specify resources in a resource file for the automatically
created widgets and gadgets of an OptionMenu. The following list iden‐
tifies the names of these widgets (or gadgets) and the associated
OptionMenu areas. Option Menu Label Gadget—"OptionLabel" Option Menu
Cascade Button—"OptionButton"
For a complete definition of RowColumn and its associated resources,
see XmRowColumn(3X).
RETURN VALUE
Returns the RowColumn widget ID.
RELATED INFORMATIONXmCascadeButtonGadget(3X), XmCreatePulldownMenu(3X), XmCreateSimpleOp‐
tionMenu(3X), XmLabelGadget(3X), XmOptionButtonGadget(3X), XmOptionLa‐
belGadget(3X), XmRowColumn(3X), and XmVaCreateSimpleOptionMenu(3X).
XmCreateOptionMenu(3X)