Provided by: libmotif-dev_2.3.8-2build1_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)