XmVaCreateSimplePulldownMenu(Xm) XmVaCreateSimplePulldownMenu(Xm)
6 January 1993
Name
XmVaCreateSimplePulldownMenu - a RowColumn widget convenience creation
function
Syntax
#include <Xm/RowColumn.h>
Widget XmVaCreateSimplePulldownMenu (parent, name, post_from_button,
callback, arg...)
Widget parent;
String name;
int post_from_button;
XtCallbackProc callback;
Description
XmVaCreateSimplePulldownMenu creates an instance of a RowColumn widget of
type XmMENUPULLDOWN 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 buttonn, where n is an integer from 0 to one
minus the number of buttons in the menu. The name of each separator is
separatorn, where n is an integer from 0 to one minus the number of sep-
arators in the menu. The name of each title is labeln, where n is an
integer from 0 to one minus the number of titles in the menu. Buttons,
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.
parent Specifies the widget ID of the parent of the MenuShell.
name Specifies the name of the created widget.
postfrombutton
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 CascadeButton or Cascade-
ButtonGadget specified for the parent of the Pulldown MenuPane.
A Pulldown MenuPane can be attached only to a CascadeButton or
CascadeButtonGadget, and only CascadeButtons and CascadeBut-
tonGadgets are counted in determining the integer n. The first
CascadeButton or CascadeButtonGadget is number 0.
callback
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 creation. 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
button's value changes. The button number is returned in the
clientdata 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:
XmVaCASCADEBUTTON
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. Following are the
additional two arguments, in this order:
label The label string, of type XmString.
mnemonic
The mnemonic, of type KeySym.
XmVaPUSHBUTTON
This is followed by four additional arguments. The set specifies
one button in the PulldownMenu and some of its resource values.
The button created is a PushButtonGadget. Following are the addi-
tional four arguments, in this order:
label The label string, of type XmString.
mnemonic
The mnemonic, of type KeySym.
accelerator
The accelerator, of type String.
acceleratortext
The accelerator text, of type XmString.
XmVaRADIOBUTTON
This is followed by four additional arguments. The set specifies
one button in the PulldownMenu and some of its resource values.
The button created is a ToggleButtonGadget. Following are the
additional four arguments, in this order:
label The label string, of type XmString.
mnemonic
The mnemonic, of type KeySym.
accelerator
The accelerator, of type String.
acceleratortext
The accelerator text, of type XmString.
XmVaCHECKBUTTON
This is followed by four additional arguments. The set specifies
one button in the PulldownMenu and some of its resource values.
The button created is a ToggleButtonGadget. Following are the
additional four arguments, in this order:
label The label string, of type XmString.
mnemonic
The mnemonic, of type KeySym.
accelerator
The accelerator, of type String.
acceleratortext
The accelerator text, of type XmString.
XmVaTITLE
This is followed by one additional argument. The pair specifies a
title LabelGadget in the PulldownMenu. Following is the addi-
tional argument:
title The title string, of type XmString.
XmVaSEPARATOR
This is followed by no additional arguments. It specifies one
separator in the PulldownMenu.
XmVaDOUBLESEPARATOR
This is followed by no additional arguments. It specifies one
separator in the PulldownMenu. The separator type is
XmDOUBLELINE.
resourcename
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.
XtVaTypedArg
This is followed by four additional arguments. The set specifies
a resource and its value for the RowColumn widget. A resource
type conversion is performed if necessary. Following are the
additional four arguments, in this order:
name The resource name, of type String.
type The type of the resource value supplied, of type String.
value The resource value (or a pointer to the resource value,
depending on the type and size of the value), of type
XtArgVal.
size The size of the resource value in bytes, of type int.
XtVaNestedList
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 Toolkit
Intrinsics documentation.
A number of resources exist specifically for use with this and other sim-
ple menu creation routines. For a complete definition of RowColumn and
its associated resources, see XmRowColumn(Xm).
Return value
Returns the RowColumn widget ID.
See also
XmCreatePulldownMenu(Xm), XmCreateRowColumn(Xm),
XmCreateSimplePulldownMenu and XmRowColumn(Xm).