DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

XmVaCreateSimplePulldownMenu(Xm)


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 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. 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 CascadeButtonGadget 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.

post_from_button
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 CascadeButtonGadget specified for the parent of the Pulldown MenuPane. A Pulldown MenuPane can be attached only to a CascadeButton or CascadeButtonGadget, and only CascadeButtons and CascadeButtonGadgets 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 client_data field.

The variable portion of the argument list consists of groups of arguments. 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 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.

accelerator_text
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.

accelerator_text
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.

accelerator_text
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 additional argument:

title
The title string, of type XmString.

XmVaSEPARATOR
This is followed by no additional arguments. It specifies one separator in the PulldownMenu.

XmVaDOUBLE_SEPARATOR
This is followed by no additional arguments. It specifies one separator in the PulldownMenu. The separator type is XmDOUBLE_LINE.

resource_name
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 simple 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).
© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003