XMVACREATESIMPLEPULLDOWNMENU(3)
π NAME π
XmVaCreateSimplePulldownMenu β a RowColumn widget convenience creation function. yes bestie, it literally builds you a whole pulldown menu β¨
πΈ SYNOPSIS πΈ
#include <Xm/RowColumn.h>
Widget XmVaCreateSimplePulldownMenu(
Widget parent,
String name,
int post_from_button,
XtCallbackProc callback);
π¦ DESCRIPTION π¦
okay so. XmVaCreateSimplePulldownMenu makes you an instance of a RowColumn widget, type XmMENU_PULLDOWN, and hands you back the widget ID like it's your fave drink at the counter. π₯€ This routine uses the ANSI C variable-length argument list (varargs) calling convention, iykyk.
This routine creates a Pulldown menu pane and its button children. Naming goes like this, no cap:
- each button is named
button_n, where n is an integer from0to the number of buttons in the menu minus 1 - each separator is named
separator_n, where n is an integer from0to the number of separators in the menu minus 1 - each title is named
label_n, where n is an integer from0(zero) to the number of titles in the menu minus 1
Buttons, separators, and titles get named and created in the order you specify them in the variable portion of the argument list. order matters, periodt.
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 theMenuShell.nameβ Specifies the name of the created widget.post_from_buttonβ Specifies theCascadeButtonorCascadeButtonGadgetin the parent to which the Pulldown menu pane is attached. The value is the integer n that corresponds to the nthCascadeButtonorCascadeButtonGadgetspecified for the parent of the Pulldown menu pane. A Pulldown menu pane can be attached only to aCascadeButtonorCascadeButtonGadget, and onlyCascadeButtonsandCascadeButtonGadgetsare counted in determining the integer n. The firstCascadeButtonorCascadeButtonGadgetis number0(zero). π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 aCascadeButtonGadgetor aPushButtonGadget, the callback is added as the button'sXmNactivateCallback, and it is called when the button is activated. For aToggleButtonGadget, the callback is added as the button'sXmNvalueChangedCallback, and it is called when the button's value changes. The button number is returned in theclient_datafield. π
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. do not forget the NULL, bestie, that's the whole vibe check right there π Following are the possible first arguments in each group of varargs:
π the varargs groups π
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 aCascadeButtonGadget. Following are the additional two arguments, in order:labelβ The label string, of typeXmStringmnemonicβ The mnemonic, of typeKeySym
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 aPushButtonGadget. Following are the additional four arguments, in order:labelβ The label string, of typeXmStringmnemonicβ The mnemonic, of typeKeySymacceleratorβ The accelerator, of typeStringaccelerator_textβ The accelerator text, of typeXmString
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 aToggleButtonGadget. Following are the additional four arguments, in order:labelβ The label string, of typeXmStringmnemonicβ The mnemonic, of typeKeySymacceleratorβ The accelerator, of typeStringaccelerator_textβ The accelerator text, of typeXmString
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 aToggleButtonGadget. Following are the additional four arguments, in order:labelβ The label string, of typeXmString.mnemonicβ The mnemonic, of typeKeySymacceleratorβ The accelerator, of typeStringaccelerator_textβ The accelerator text, of typeXmString
XmVaTITLEβ This is followed by one additional argument. The pair specifies a titleLabelGadgetin the PulldownMenu. Following is the additional argument:titleβ The title string, of typeXmString
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 isXmDOUBLE_LINE. βοΈresource_nameβ This is followed by one additional argument, the value of the resource, of typeXtArgVal. 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 order:nameβ The resource name, of typeString.typeβ The type of the resource value supplied, of typeString.valueβ The resource value (or a pointer to the resource value, depending on the type and size of the value), of typeXtArgVal.sizeβ The size of the resource value in bytes, of typeint.
XtVaNestedListβ This is followed by one additional argument of typeXtVarArgsList. This argument is a nested list of varargs returned byXtVaCreateArgsList.
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(3). π«Ά
β RETURN β
Returns the RowColumn widget ID. that's it, that's the tea π
π RELATED π
XmCreatePulldownMenu(3)XmCreateRowColumn(3)XmCreateSimplePulldownMenuXmRowColumn(3)
and that's the whole page, bestie π this one lives in the library call section, filed under XmVaCreateS...ulldownMenu(library call) β yes the title got abbreviated on both ends, the header up top and the footer at the bottom, but it's still our girl XmVaCreateSimplePulldownMenu. go build something iconic with it πβ¨π
π¦ where this page comes from
- alpine 3.24: motif-doc 2.5.2-r0 Β· LGPL-2.1-or-later
- arch rolling: openmotif 2.3.8-4 Β· LGPL-2.1-or-later
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- epel 10: motif-devel 2.3.8-2.el10_2 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- nixos 26.05: motif 2.3.8
- nixpkgs unstable: motif 2.3.8
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms