|
XmCreateOptionMenu(3X)
Contents
|
XmCreateOptionMenu - A RowColumn widget convenience creation
function
#include <Xm/RowColumn.h>
Widget XmCreateOptionMenu (parent, name, arglist,
argcount)
Widget parent;
String name;
ArgList arglist;
Cardinal argcount;
XmCreateOptionMenu 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 widget 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 OptionMenu is created, the Pulldown MenuPane must have
been created as a child of the OptionMenu's parent and
must be specified. The LabelGadget 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 undefined.
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 CascadeButtonGadget 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 RowColumn 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, typing 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 widget 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 identifies 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).
Returns the RowColumn widget ID.
XmCascadeButtonGadget(3X), XmCreatePulldownMenu(3X),
XmCreateSimpleOptionMenu(3X), XmLabelGadget(3X), XmOptionButtonGadget(3X), XmOptionLabelGadget(3X), XmRowColumn(3X), XmVaCreateSimpleOptionMenu(3X)
XmCreateOptionMenu(3X)
[ Back ] |