Provided by: libmotif-dev_2.3.8-3.1build1_amd64 

NAME
XmRowColumn — The RowColumn widget class "XmRowColumn" "widget class" "RowColumn"
SYNOPSIS
#include <Xm/RowColumn.h>
DESCRIPTION
The RowColumn widget is a general purpose RowColumn manager capable of containing any widget type as a
child. In general, it requires no special knowledge about how its children function and provides nothing
beyond support for several different layout styles. However, it can be configured as a menu, in which
case, it expects only certain children, and it configures to a particular layout. The menus supported are
MenuBar, Pulldown or Popup menu panes, and OptionMenu. RowColumn uses the XmQTmenuSavvy trait and holds
the XmQTmenuSystem trait.
The type of layout performed is controlled by how the application has set the various layout resources.
It can be configured to lay out its children in either rows or columns. In addition, the application can
specify how the children are laid out, as follows:
• The children are packed tightly together into either rows or columns
• Each child is placed in an identically sized box (producing a symmetrical look)
• A specific layout (the current x and y positions of the children control their location)
In addition, the application has control over both the spacing that occurs between each row and column
and the margin spacing present between the edges of the RowColumn widget and any children that are placed
against it.
The default XmNinsertPosition procedure for the RowColumn returns the value of XmNpositionIndex if one
has been specified for the child. Otherwise, this procedure returns the number of children in the
RowColumn's XmNnumChildren list. In a MenuBar, Pulldown menu pane, or Popup menu pane the default for
the XmNshadowThickness resource is 2. In an OptionMenu or a WorkArea, (such as a RadioBox or CheckBox)
this resource is not applicable and its use is undefined. If an application wishes to place a 3-D shadow
around an OptionMenu or WorkArea, it can create the RowColumn as a child of a Frame widget.
In a MenuBar, Pulldown menu pane, or Popup menu pane the XmNnavigationType resource is not applicable and
its use is undefined. In a WorkArea, the default for XmNnavigationType is XmTAB_GROUP. In an OptionMenu
the default for XmNnavigationType is XmNONE.
In a MenuBar, Pulldown menu pane, or Popup menu pane the XmNtraversalOn resource is not applicable and
its use is undefined. In an OptionMenu or WorkArea, the default for XmNtraversalOn is True.
If the parent of the RowColumn is a MenuShell, the XmNmappedWhenManaged resource is forced to False when
the widget is realized.
The user can specify resources in a resource file for the automatically created widgets and gadgets of an
OptionMenu. The following list identifies the names of these widgets (or gadgets) and the associated
OptionMenu areas.
Option Menu Label Gadget
OptionLabel
Option Menu Cascade Button
OptionButton
For the Popup and Pulldown Menupanes, popup and pulldown menus have particular behaviors when the <Btn1>
button is pressed outside the menus. These behaviors are summarized here.
When there is already a popped up menu, a user can either press <Btn1> in the same area as the popped up
menu, or can press <Btn1> in another area that should have a menu popped up. When <Btn1> is pressed in
the same area as the already popped up menu, that menu is unposted. If <Btn1> is pressed in a different
area, the associated popup menu is posted for the new area. Note, however, that if the
XmNpopupHandlerCallback of either XmManager or XmPrimitive is available, then the callback may override
these default behaviors.
For pulldown menus, a user can press <Btn1> on the Cascade button to post the pulldown menu, then click
on it again. Upon the second click, the pulldown menu is unposted.
Popup menus are not allowed to have NULL parents.
Tear-off Menus
Pulldown and Popup menu panes support tear-off menus, which enable the user to retain a menu pane on the
display to facilitate subsequent menu selections. A menu pane that can be torn-off is identified by a
tear-off button that spans the width of the menu pane and displays a dashed line. A torn-off menu pane
contains a window manager system menu icon and a title bar. The window title displays the label of the
cascade button that initiated the action when the label type is XmSTRING. If the label contains a pixmap
the window title is empty. A tear-off menu from a Popup menu pane also displays an empty title. Tear-off
menus should not be shared.
The user can tear off a menu pane using the mouse or keyboard. Clicking <Btn1> or pressing <osfActivate>
(or <osfSelect>) on the tear-off button, tears off the menu pane at the current position. Pressing <Btn2>
on the tear-off button tears off the menu pane and allows the user to drag the torn-off menu to a new
position designated by releasing the mouse button. Tearing off a menu pane unposts the current active
menu. Only one tear-off copy for each menu pane is allowed. Subsequent tear-off actions of a torn menu
pane unpost the existing copy first.
The name of the tear-off button of a torn-off menu pane is TearOffControl. The name can be used to set
resources in a resource file. An application can also obtain the tear-off button itself using
XmGetTearOffControl and then set resource values by calling XtSetValues.
The tear-off button has Separator-like behavior. Its appearance can be specified with the following tear-
off button resources: XmNbackground, XmNbackgroundPixmap, XmNbottomShadowColor, XmNforeground, XmNheight,
XmNmargin, XmNseparatorType, XmNshadowThickness, and XmNtopShadowColor. Refer to the XmSeparator
reference page for a complete description of each of these resources.
The XmNtearOffModel, XmNtearOffMenuActivateCallback, and XmNtearOffMenuDeactivateCallback are RowColumn
resources that affect tear-off menu behavior. The XmNtearOffTitle resource enables the application to
specify the tear-off menu's title if the menu is torn off.
By default, menus do not tear off. Setting the XmNtearOffModel resource to XmTEAR_OFF_ENABLED enables
tear-off functionality. There is no resource converter preregistered for XmNtearOffModel. To allow tear-
off functionality to be enabled through the resource database, call the function
XmRepTypeInstallTearOffModelConverter.
Tear-off menu focus policy follows standard window manager policy. It is recommended that the
startupKeyFocus and autoKeyFocus mwm resources be set to True.
Descendants
RowColumn automatically creates the descendants shown in the following table. An application can use
XtNameToWidget to gain access to the named descendant. In addition, a user or an application can use the
named descendant when specifying resource values.
┌──────────────────┬─────────────────────────┬──────────────────────────────┐
│ Named Descendant │ Class │ Identity │
├──────────────────┼─────────────────────────┼──────────────────────────────┤
├──────────────────┼─────────────────────────┼──────────────────────────────┤
├──────────────────┼─────────────────────────┼──────────────────────────────┤
│ OptionButton │ XmCascadeButtonGadget │ option menu button │
├──────────────────┼─────────────────────────┼──────────────────────────────┤
│ OptionLabel │ XmLabelGadget │ option menu label │
├──────────────────┼─────────────────────────┼──────────────────────────────┤
│ TearOffControl │ subclass of XmPrimitive │ tear-off button of torn-off │
│ │ │ menu pane │
├──────────────────┼─────────────────────────┼──────────────────────────────┤
└──────────────────┴─────────────────────────┴──────────────────────────────┘
Classes
RowColumn inherits behavior, resources, and traits from Core, Composite, Constraint, and XmManager
classes.
The class pointer is xmRowColumnWidgetClass.
The class name is XmRowColumn.
New Resources
The following table defines a set of widget resources used by the programmer to specify data. The
programmer can also set the resource values for the inherited classes to set attributes for this widget.
To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC prefix and use
the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove
the Xm prefix and use the remaining letters (in either lowercase or uppercase, but include any
underscores between words). The codes in the access column indicate if the given resource can be set at
creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable
(N/A).
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
--
RELATED
Composite(3), Constraint(3), Core(3), XmCreateMenuBar(3), XmCreateOptionMenu(3), XmCreatePopupMenu(3),
XmCreatePulldownMenu(3), XmCreateRadioBox(3), XmCreateRowColumn(3), XmCreateSimpleCheckBox(3),
XmCreateSimpleMenuBar(3), XmCreateSimpleOptionMenu(3), XmCreateSimplePopupMenu(3),
XmCreateSimplePulldownMenu(3), XmCreateSimpleRadioBox(3), XmCreateWorkArea(3), XmGetMenuCursor(3),
XmGetPostedFromWidget(3), XmGetTearOffControl, XmLabel(3), XmManager(3), XmMenuPosition(3),
XmOptionButtonGadget(3), XmOptionLabelGadget(3), XmRepTypeInstallTearOffModelConverter,
XmSetMenuCursor(3), XmUpdateDisplay(3), XmVaCreateManagedRowColumn(3), XmVaCreateRowColumn(3),
XmVaCreateSimpleCheckBox(3), XmVaCreateSimpleMenuBar(3), XmVaCreateSimpleOptionMenu(3),
XmVaCreateSimplePopupMenu(3), XmVaCreateSimplePulldownMenu(3), and XmVaCreateSimpleRadioBox(3).
XmRowColumn(3)