IT lexicon › Programming › XmRowColumn

XmRowColumn

Programming På svenska → Updated: 2026-10-09

Motif's general-purpose manager that lines its children up in rows or columns, and which, in disguise, is every menu bar, pulldown menu, radio box and option menu in a Motif application.

At heart XmRowColumn does one thing: it lays its children out one after another, horizontally or vertically according to XmNorientation, wrapping into new rows or columns according to XmNpacking and XmNnumColumns. But the XmNrowColumnType resource changes the widget's personality. XmMENU_BAR, XmMENU_PULLDOWN, XmMENU_POPUP and XmMENU_OPTION give the four kinds of menu, and XmNradioBehavior turns a group of toggle buttons into radio buttons where only one can be set at a time. The convenience functions XmCreateMenuBar, XmCreatePulldownMenu, XmCreateRadioBox and XmCreateOptionMenu all create the same widget with different presets.

It was a typical Motif trade-off: one class fewer to document, at the price of one of the toolkit's longest man pages, where half the resources only apply in one of the modes. Menus built on RowColumn are filled with gadgets rather than widgets to save X windows, and it is RowColumn that draws the dashed line at the top that makes a menu tear-off from Motif 1.2 on. XmNentryClass and XmNisHomogeneous let you force all children to one type, which the radio box uses to refuse anything but toggle buttons.

← Back to the lexicon