XmVaCreateSimplePulldownMenu(3X) OSF/Motif XmVaCreateSimplePulldownMenu(3X)NAMEXmVaCreateSimplePulldownMenu - A RowColumn widget convenience creation
function
SYNOPSIS
#include <Xm/RowColumn.h>
Widget XmVaCreateSimplePulldownMenu (parent, name, post_from_button,
callback, arg...) Widget parent;
String name; int post_from_button; XtCallback‐
Proccallback;
DESCRIPTIONXmVaCreateSimplePulldownMenu creates an instance of a RowColumn widget
of type XmMENU_PULLDOWN and returns the associated widget ID. This
routine uses the ANSI C variable-length argument list (varargs) calling
convention.
This routine creates a Pulldown MenuPane and its button children. The
name of each button is button_n, where n is an integer from 0 to one
minus the number of buttons in the menu. The name of each separator is
separator_n, where n is an integer from 0 to one minus the number of
separators in the menu. The name of each title is label_n, where n is
an integer from 0 to one minus the number of titles in the menu. But‐
tons, separators, and titles are named and created in the order in
which they are specified in the variable portion of the argument list.
This routine also attaches the PulldownMenu to a CascadeButton or Cas‐
cadeButtonGadget in the parent. The PulldownMenu is then posted from
this button. Specifies the widget ID of the parent of the MenuShell.
Specifies the name of the created widget. Specifies the CascadeButton
or CascadeButtonGadget in the parent to which the Pulldown MenuPane is
attached. The value is the integer n that corresponds to the nth Cas‐
cadeButton or CascadeButtonGadget specified for the parent of the Pull‐
down MenuPane. A Pulldown MenuPane can be attached only to a Cascade‐
Button or CascadeButtonGadget, and only CascadeButtons and CascadeBut‐
tonGadgets are counted in determining the integer n. The first Cas‐
cadeButton or CascadeButtonGadget is number 0. Specifies a callback
procedure to be called when a button is activated or when its value
changes. This callback function is added to each button after cre‐
ation. For a CascadeButtonGadget or a PushButtonGadget, the callback
is added as the button's XmNactivateCallback, and it is called when the
button is activated. For a ToggleButtonGadget, the callback is added
as the button's XmNvalueChangedCallback, and it is called when the but‐
ton's value changes. The button number is returned in the client_data
field.
The variable portion of the argument list consists of groups of argu‐
ments. The first argument in each group is a constant or a string and
determines which arguments follow in that group. The last argument in
the list must be NULL. Following are the possible first arguments in
each group of varargs: This is followed by two additional arguments.
The set specifies one button in the PulldownMenu and some of its
resource values. The button created is a CascadeButtonGadget. Follow‐
ing are the additional two arguments, in this order: The label string,
of type XmString. The mnemonic, of type KeySym. This is followed by
four additional arguments. The set specifies one button in the Pull‐
downMenu and some of its resource values. The button created is a
PushButtonGadget. Following are the additional four arguments, in this
order: The label string, of type XmString. The mnemonic, of type
KeySym. The accelerator, of type String. The accelerator text, of
type XmString. This is followed by four additional arguments. The set
specifies one button in the PulldownMenu and some of its resource val‐
ues. The button created is a ToggleButtonGadget. Following are the
additional four arguments, in this order: The label string, of type
XmString. The mnemonic, of type KeySym. The accelerator, of type
String. The accelerator text, of type XmString. This is followed by
four additional arguments. The set specifies one button in the Pull‐
downMenu and some of its resource values. The button created is a Tog‐
gleButtonGadget. Following are the additional four arguments, in this
order: The label string, of type XmString. The mnemonic, of type
KeySym. The accelerator, of type String. The accelerator text, of
type XmString. This is followed by one additional argument. The pair
specifies a title LabelGadget in the PulldownMenu. Following is the
additional argument: The title string, of type XmString. This is fol‐
lowed by no additional arguments. It specifies one separator in the
PulldownMenu. This is followed by no additional arguments. It speci‐
fies one separator in the PulldownMenu. The separator type is XmDOU‐
BLE_LINE. This is followed by one additional argument, the value of
the resource, of type XtArgVal. The pair specifies a resource and its
value for the RowColumn widget. This is followed by four additional
arguments. The set specifies a resource and its value for the RowCol‐
umn widget. A resource type conversion is performed if necessary.
Following are the additional four arguments, in this order: The
resource name, of type String. The type of the resource value sup‐
plied, of type String. The resource value (or a pointer to the
resource value, depending on the type and size of the value), of type
XtArgVal. The size of the resource value in bytes, of type int. This
is followed by one additional argument of type XtVarArgsList. This
argument is a nested list of varargs returned by XtVaCreateArgsList.
For more information on variable-length argument lists, see the X Tool‐
kit Intrinsics documentation.
A number of resources exist specifically for use with this and other
simple menu creation routines. For a complete definition of RowColumn
and its associated resources, see XmRowColumn(3X).
RETURN VALUE
Returns the RowColumn widget ID.
RELATED INFORMATIONXmCreatePulldownMenu(3X), XmCreateRowColumn(3X), XmCreateSimplePull‐
downMenu, and XmRowColumn(3X).
XmVaCreateSimplePulldownMenu(3X)