XmRowColumn(3Xm) XmRowColumn(3Xm)
NAME
XmRowColumn - the RowColumn widget class.
AES SUPPORT LEVEL
full-use
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 MenuPanes, and OptionMenu.
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 whether the children should be packed tightly
together (not into organized rows and columns), or
whether each child should be placed in an identically-
sized box (producing a symmetrical look), or whether
specific layout should be done (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.
In most cases, the RowColumn widget has no 3-D visuals
associated with it; if an application wishes to have a
3-D shadow placed around this widget, it can create the
RowColumn as a child of a Frame widget.
Classes
RowColumn inherits behavior and resources from Core,
Composite, Constraint, and XmManager classes.
The class pointer is xmRowColumnWidgetClass.
The class name is XmRowColumn.
- 1 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
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
lower case or upper case, 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).
XmRowColumn Resource Set
Name Class Type Default Access
_______________________________________________________________________________
XmNadjustLast XmCAdjustLast Boolean True CSG
XmNadjustMargin XmCAdjustMargin Boolean True CSG
XmNentryAlignment XmCAlignment unsigned char dynamic CSG
XmNentryBorder XmCEntryBorder short dynamic CSG
XmNentryCallback XtCCallback XtCallbackList NULL C
XmNentryClass XmCEntryClass WidgetClass dynamic CSG
XmNisAligned XmCIsAligned Boolean True CSG
XmNisHomogeneous XmCIsHomogeneous Boolean dynamic CSG
XmNlabelString XtCString XmString NULL C
XmNmapCallback XtCCallback XtCallbackList NULL C
XmNmarginHeight XmCMarginHeight Dimension dynamic CSG
XmNmarginWidth XmCMarginWidth Dimension 3 CSG
XmNmenuAccelerator XmCAccelerators String dynamic CSG
XmNmenuHelpWidget XmCMenuWidget Widget NULL CSG
XmNmenuHistory XmCMenuWidget Widget NULL CSG
XmNmnemonic XmCMnemonic char dynamic CSG
XmNnumColumns XmCNumColumns short dynamic CSG
XmNorientation XmCOrientation unsigned char dynamic CSG
XmNpacking XmCPacking unsigned char dynamic CSG
XmNpopupEnabled XmCPopupEnabled Boolean True CSG
XmNradioAlwaysOne XmCRadioAlwaysOne Boolean True CSG
XmNradioBehavior XmCRadioBehavior Boolean False CSG
XmNresizeHeight XmCResizeHeight Boolean True CSG
XmNresizeWidth XmCResizeWidth Boolean True CSG
XmNrowColumnType XmCRowColumnType unsigned char XmWORK_AREA CG
XmNshadowThickness XmCShadowThickness int dynamic CSG
XmNspacing XmCSpacing short dynamic CSG
XmNsubMenuId XmCMenuWidget Widget NULL CG
XmNunmapCallback XtCCallback XtCallbackList NULL C
XmNwhichButton XmCWhichButton unsigned int dynamic CSG
- 2 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
XmNadjustLast
Extends the last row of children to the bottom
edge of RowColumn (when XmOrientation is
XmHORIZONTAL) or extends the last column to the
right edge of RowColumn (when XmOrientation is
XmVERTICAL). This feature is disabled by setting
XmNadjustLast to False.
XmNadjustMargin
Specifies whether the inner minor margins of all
items contained within the RowColumn widget are
forced to the same value. The inner minor margin
corresponds to the XmNmarginLeft, XmNmarginRight,
XmNmarginTop and XmNmarginBottom resources
supported by XmLabel and XmLabelGadget.
A horizontal orientation causes XmNmarginTop and
XmNmarginBottom for all items in a particular row
to be forced to the same value; the value is the
largest margin specified for one of the Label
items.
A vertical orientation causes XmNmarginLeft and
XmNmarginRight for all items in a particular
column to be forced to the same value; the value
is the largest margin specified for one of the
Label items.
This keeps all text within each row or column
lined up with all other text in its row or column.
If the XmNrowColumnType is either XmMENU_POPUP or
XmMENU_PULLDOWN and this resource is True, only
button children have their margins adjusted.
XmNentryAlignment
Specifies the alignment type for Label or
LabelGadget children when XmNisAligned is enabled.
The following are textual alignment types:
⊕ XmALIGNMENT_BEGINNING - the default.
⊕ XmALIGNMENT_CENTER.
⊕ XmALIGNMENT_END.
See the description of XmNalignment in the
XmLabel(3X) man page for an explanation of these
actions.
XmNentryBorder
Imposes a uniform border width upon all RowColumn's
children. The default value is 0, which disables
- 3 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
the feature.
XmNentryCallback
Disables the activation callbacks for all
ToggleButton, PushButton, and CascadeButton widgets
and gadgets contained within the RowColumn widget.
If the application supplies this resource, the
activation callbacks are then revectored to this
callback. This allows an application to supply a
single callback routine for handling all items
contained in a RowColumn widget. The application
must supply this resource when this widget is
created.
If the application does not supply this resource,
then the activation callbacks for each item in the
RowColumn widget work as normal. The callback
reason is XmCR_ACTIVATE and the default value is
NULL. Changing this resource using the XtSetValues
is not supported.
XmNentryClass
Specifies the only widget class that can be added to
the RowColumn widget; this resource is meaningful
only when the XmNisHomogeneous resource is set to
True. When XmNrowColumnType is set to XmWORK_AREA
and XmNradioBehavior is True, then the default value
for XmNentryClass is xmToggleButtonGadgetClass. When
XmNrowColumnType is set to XmMENU_BAR, then the
value of XmNentryClass is forced to
xmCascadeButtonWidgetClass.
XmNisAligned
Specifies text alignment for each item within the
RowColumn widget; this only applies to items which
are a subclass of XmLabel or XmLabelGadget.
However, if the item is a Label widget or gadget and
its parent is either a Popup MenuPane or a Pulldown
MenuPane, then alignment is not be performed; the
Label is treated as the title within the MenuPane,
and the alignment set by the application is not
overridden. XmNentryAlignment controls the type of
textual alignment.
XmNisHomogeneous
Indicates if the RowColumn widget should enforce
exact homogeneity among the items it contains; if
True, then only the widgets which are of the class
indicated by XmNentryClass are allowed as children
of the RowColumn widget. This is most often used
when creating a MenuBar or a RadioBox widget.
- 4 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
Attempting to insert a child which is not a member
of the specified class generates a warning message.
The default value is False, except when creating a
MenuBar or a RadioBox, when the default is True.
XmNlabelString
Points to a text string which displays the label to
the left of the selection area when XmNrowColumnType
is set to XmMENU_OPTION. This resource is not
meaningful for all other RowColumn types. If the
application wishes to change the label after
creation, it must get the LabelGadget ID
(XmOptionLabelGadget) and call XtSetValues on the
LabelGadget directly. The default value is no
label.
XmNmapCallback
Specifies a widget-specific callback function that
is invoked when the window associated with the
RowColumn widget is about to be mapped. The
callback reason is XmCRMap.
XmNmarginHeight
Specifies the amount of blank space between the top
edge of the RowColumn widget and the first item in
each column, and the bottom edge of the RowColumn
widget and the last item in each column. The
default value is three pixels.
XmNmarginWidth
Specifies the amount of blank space between the left
edge of the RowColumn widget and the first item in
each row, and the right edge of the RowColumn widget
and the last item in each row. The default value is
three pixels.
XmNmenuAccelerator
This resource is only useful when the RowColumn
widget has been configured to operate as a Popup
MenuPane or a MenuBar. The format of this resource
is similar to the left side specification of a
translation string, with the limitation that it must
specify a key event. For a Popup MenuPane, when the
accelerator is typed by the user, the Popup MenuPane
is posted. For a MenuBar, when the accelerator is
typed by the user, the first item in the MenuBar is
highlighted, and traversal is enabled in the
MenuBar. The default for a Popup MenuPane is
<Key>F4. The default for a MenuBar is <Key>F10.
The accelerator can be disabled by setting the
XmNpopupEnabled resource to False.
- 5 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
XmNmenuHelpWidget
Specifies the widget ID for the CascadeButton which
is treated as the Help widget if XmNrowColumnType is
set to XmMENU_BAR. The MenuBar always places the
Help widget at the lower right corner. If the
RowColumn widget is of any type other than
XmMENU_BAR, then this resource is not meaningful.
XmNmenuHistory
Specifies the widget ID of the last menu entry to be
activated. It is also useful for specifying the
current selection for an OptionMenu. If
XmNrowColumnType is set to XmMENU_OPTION, then the
specified menu item is positioned under the cursor
when the menu is displayed.
If the RowColumn widget has the XmNradioBehavior
resource set to True, then the widget field
associated with this resource contains the widget ID
of the last ToggleButton or ToggleButtonGadget to
change from unselected to selected. The default
value is the widget ID of the first child in the
widget.
XmNmnemonic
This resource is only useful when XmNrowColumnType
is set to XmMENU_OPTION. Specifies a single
character which, when typed by the user, posts the
associated Pulldown MenuPane. The character is
underlined if it appears in the OptionMenu label,
giving the user a visual cue that the character has
special functionality associated with it. The
default is no mnemonic.
XmNnumColumns
Specifies the number of minor dimension extensions
that are made to accommodate the entries; this
attribute is only meaningful when XmNpacking is set
to XmPACK_COLUMN.
For vertically-oriented RowColumn widgets, this
attribute indicates how many columns are built; the
number of entries per column are adjusted to
maintain this number of columns, if possible.
For horizontally-oriented RowColumn widgets, this
attribute indicates how many rows are built.
The default value is one.
XmNorientation
Determines whether RowColumn layouts are row major
- 6 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
or column major. In a column major layout, the
children of the RowColumn are laid out in columns
top to bottom within the widget. In a row major
layout the children of the RowColumn are laid out in
rows. XmVERTICAL resource value selects a column
major layout. XmHORIZONTAL resource value selects a
row major layout.
The default value is XmVERTICAL, except when
creating a MenuBar, when the default is
XmHORIZONTAL.
XmNpacking
Specifies how to pack the items contained within a
RowColumn widget. This can be set to XmPACK_TIGHT,
XmPACK_COLUMN or XmPACK_NONE. When a RowColumn
widget packs the items it contains, it determines
its major dimension using the value of the
XmNorientation resource.
XmPACK_TIGHT indicates that given the current major
dimension (e.g. vertical if XmNorientation is
XmVERTICAL), entries are placed one after the other
until the RowColumn widget must wrap. RowColumn
wraps when there is no room left for a complete
child in that dimension. Wrapping occurs by
beginning a new row or column in the next available
space. Wrapping continues, as often as necessary,
until all of the children are laid out. In the
vertical dimension (columns), boxes are set to the
same width; in the horizontal dimension (rows),
boxes are set to the same depth. Each entry's
position in the major dimension is left unaltered
(e.g., XmNy is left unchanged when XmNorientation is
XmVERTICAL); its position in the minor dimension is
set to the same value as the greatest entry in that
particular row or column. The position in the minor
dimension of any particular row or column is
independent of all other rows or columns.
XmPACK_COLUMN indicates that all entries are placed
in identically sized boxes. The box is based on the
largest height and width values of all the children
widgets. The value of the XmNnumColumns resource
determines how many boxes are placed in the major
dimension, before extending in the minor dimension.
XmPACK_NONE indicates that no packing is performed.
The x and y attributes of each entry are left alone,
and the RowColumn widget attempts to become large
enough to enclose all entries.
- 7 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
The default value is XmPACK_TIGHT except when
building an OptionMenu or a RadioBox, where the
default is XmPACK_COLUMN.
XmNpopupEnabled
Allows the menu system to enable keyboard input
(accelerators and mnemonics) defined for the Popup
MenuPane and any of its submenus. The Popup
MenuPane needs to be informed whenever its
accessibility to the user changes because posting of
the Popup MenuPane is controlled by the application.
The default value for this resource is True
(keyboard input - accelerators and mnemonics -
defined for the Popup MenuPane and any of its
submenus is enabled).
XmNradioAlwaysOne
Forces the active ToggleButton or ToggleButtonGadget
to be automatically selected after having been
unselected (if no other toggle was activated), if
True. If False, the active toggle may be
unselected. The default value is True. This
resource is only important when XmNradioBehavior is
True.
The application always has the freedom to add and
subtract toggles from RowColumn regardless of the
selected/unselected state of the toggle. The
application also has the freedom to manage and
unmanage toggle children of RowColumn at any time
regardless of state. Because of these freedoms,
there are cases in which it is possible for the
application to create a RowColumn which has
XmNradioAlwaysOne set to True and none of the toggle
children selected.
XmNradioBehavior
Specifies a Boolean value that when True, indicates
that the RowColumn widget should enforce a
RadioBox-type behavior on all of its children which
are ToggleButtons or ToggleButtonGadgets.
Two ToggleButton and ToggleButtonGadget resources
are forced to specified values at creation time:
XmNindicator is forced to XmONE_OF_MANY and
XmNvisibleWhenOff is forced to True.
RadioBox behavior dictates that when one toggle is
selected and another toggle is selected, the first
toggle is unselected automatically. The default
value is False, except when creating a RadioBox,
when the default is True.
- 8 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
XmNresizeHeight
Requests a new height if necessary, when set to
True. When set to False, the widget does not
request a new height regardless of any changes to
the widget or its children.
XmNresizeWidth
Requests a new width if necessary, when set to True.
When set to False, the widget does not request a new
width regardless of any changes to the widget or its
children.
XmNrowColumnType
Specifies the type of RowColumn widget which is to
be created. It is a non-standard resource that
cannot be changed after it is set. If an
application uses any of the convenience routines,
except XmCreateRowColumn, then this resource is
automatically forced to the appropriate value by the
convenience routine. If an application uses the Xt
Intrinsics API to create its RowColumn widgets, then
it must specify this resource itself. The set of
possible settings for this resource are:
⊕ XmWORK_AREA - the default.
⊕ XmMENU_BAR.
⊕ XmMENU_PULLDOWN.
⊕ XmMENU_POPUP.
⊕ XmMENU_OPTION.
This resource cannot be changed after the RowColumn
widget is created. Any changes attempted through
XtSetValues are ignored.
XmNspacing
Specifies the horizontal and vertical spacing
between items contained within the RowColumn widget.
The default value is one pixel, except for a
horizontal MenuBar, which defaults to 0 pixels.
XmNsubMenuId
Specifies the widget ID for the Pulldown MenuPane to
be associated with an OptionMenu. This resource is
only useful when XmNrowColumnType is set to
XmMENU_OPTION. This resource must be specified at
creation time for an OptionMenu to function
properly; it is unused for all other RowColumn
types. The default value is NULL.
- 9 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
XmNunmapCallback
Specifies a list of callbacks that is called after
the window associated with the RowColumn widget has
been unmapped. The callback reason is XmCR_Unmap.
The default value is NULL.
Inherited Resources
RowColumn inherits behavior and resources from the
following named superclasses. For a complete
description of these resources, refer to the man page
for that superclass.
XmManager Resource Set
Name Class Type Default Access
______________________________________________________________________________________________
XmNbottomShadowColor XmCForeground Pixel dynamic CSG
XmNbottomShadowPixmap XmCBottomShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCForeground Pixel Black CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNshadowThickness XmCShadowThickness short 0 CSG
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNuserData XmCUserData caddr_t NULL CSG
Composite Resource Set
Name Class Type Default Access
______________________________________________________________________
XmNinsertPosition XmCInsertPosition XmRFunction NULL CSG
Core Resource Set
Name Class Type Default Access
____________________________________________________________________________________________
XmNaccelerators XmCAccelerators XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean True G
XmNbackground XmCBackground Pixel dynamic CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel Black CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension dynamic CSG
XmNcolormap XmCColormap Colormap XtCopyFromParent CG
XmNdepth XmCDepth int XtCopyFromParent CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 16 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
- 10 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
XmNwidth XmCWidth Dimension 16 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
Callback Information
The following structure is returned with each callback:
typedef struct
{
int reason;
XEvent * event;
Widget widget;
char * data;
char * callbackstruct;
} XmRowColumnCallbackStruct;
reason Indicates why the callback was invoked.
event Points to the XEvent that triggered the
callback.
The following fields apply only when the callback
reason is XmCR_ACTIVATE; for all other callback
reasons, these fields are set to NULL. The
XmCR_ACTIVATE callback reason is only generated when
the application has supplied an entry callback, which
overrides any activation callbacks registered with the
individual RowColumn items.
widget Is set to the widget ID of the RowColumn item
which has been activated.
data Contains the client-data value supplied by
the application when the RowColumn item's
activation callback was registered.
callbackstruct
Points to the callback structure generated by
the RowColumn item's activation callback.
Behavior
A RowColumn widget's behavior depends on its type
(MenuBar, Popup MenuPane, etc.) and the type of menu
system in which it resides (Pulldown, Popup, or
Option). The specific mouse button depends on the
XmNwhichButton resource.
- 11 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
Default MenuBar
<Btn1Down>:
If the button event occurs within one of the
MenuBar buttons, then the MenuBar is armed (if not
already armed) and the submenu associated with the
selected button is posted. By moving the mouse,
the user is then able to access the MenuPanes
attached to the MenuBar.
If the button event does not occur within one of
the MenuBar buttons and if the MenuBar is already
armed, it is disarmed, and any visible MenuPanes
are unposted; if the MenuBar is not already armed,
then nothing occurs.
<Btn1Up>:
If the MenuBar is armed, then this event unposts
all visible MenuPanes and then disarms the
menubar.
Default OptionMenu
<Btn1Down>:
When this event occurs within the selection area,
the Pulldown MenuPane is posted. If this event
occurs outside of the selection area and if the
MenuPane is already posted, then the Pulldown
MenuPane is unposted.
<Btn1Up>:
When this event occurs while the Pulldown MenuPane
is posted, then it is unposted.
<Return>:
If this key is pressed while the focus is set to
the selection area, then the Pulldown MenuPane is
posted.
Default Pulldown MenuPane from a Popup MenuPane
<Btn3Down>:
When this event occurs, the menu system disables
traversal mode, and re-enters drag mode.
Depending upon where the button down event occurs,
certain portions of the visible set of MenuPanes
are unposted.
<Btn3Up>:
When this event occurs within a gadget child of
- 12 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
the MenuPane, the indicated child is activated. If
the child is not a CascadeButton (widget or
gadget), then this also results in all visible
MenuPanes being unposted. If the child is a
CascadeButton (widget or gadget), then this
results in the associated submenu being posted and
traversal being enabled. When this event occurs
outside of a gadget child, then all visible
MenuPanes are unposted.
<Return>:
If this key is pressed while the focus is set to a
gadget child of the MenuPane, then the indicated
child is activated. If the child is not a
CascadeButton (widget or gadget), then this also
results in all visible MenuPanes being unposted.
If the child is a CascadeButton (widget or
gadget), then this results in the associated
submenu being posted and traversal being enabled.
<Escape>:
This event unposts all visible MenuPanes.
<Right>:
If the current focus item is a
CascadeButtonGadget, then this posts the
associated Pulldown MenuPane and highlights the
first accessible item within the Pulldown
MenuPane.
<Left>:
If this occurs within a MenuPane which is a
submenu of another MenuPane, then this causes the
last MenuPane to be unposted and the focus to move
to the previous MenuPane.
<Up>:
This moves the focus to the previous menu item;
the previous menu item is defined as the widget
which was created prior to the one which currently
has the focus. Wrapping occurs, if necessary.
<Down>:
This moves the focus to the next menu item; the
next menu item is defined as the widget which was
created after the one which currently has the
focus. Wrapping occurs, if necessary.
OptionMenu
Default Pulldown MenuPane from a MenuBar or from an
- 13 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
<Btn1Down>:
When this event occurs, the menu system disables
traversal mode and re-enters drag mode. Depending
upon where the button down event occurs, certain
portions of the visible set of MenuPanes are
unposted.
<Btn1Up>:
When this event occurs within a gadget child of
the MenuPane, the indicated child is activated. If
the child is not a CascadeButton (widget or
gadget), then this also results in all visible
MenuPanes being unposted. If the child is a
CascadeButton (widget or gadget), then this
results in the associated submenu being posted and
traversal being enabled. When this event occurs
outside of a gadget child, then all visible
MenuPanes are unposted.
<Return>:
If this key is pressed while the focus is set to a
gadget child of the MenuPane, then the indicated
child is activated. If the child is not a
CascadeButton (widget or gadget), then this also
results in all visible MenuPanes being unposted.
If the child is a CascadeButton (widget or
gadget), then this results in the associated
submenu being posted and traversal being enabled.
<Escape>:
This event unposts all visible MenuPanes.
<Right>:
If the current focus item is a
CascadeButtonGadget, then this posts the
associated Pulldown MenuPane and highlights the
first accessible item within the Pulldown
MenuPane. If the current focus item is not a
CascadeButton, then the visible set of MenuPanes
are unposted, and the top level Pulldown MenuPane
associated with the next MenuBar item is posted.
<Left>:
If this is occurs within a MenuPane which is a
submenu of another MenuPane, then this event
causes the last MenuPane to be unposted and the
focus to move to the previous MenuPane. If this
is occurs within a MenuPane which is connected
directly to the MenuBar, then the visible set of
MenuPanes are unposted, and the top level Pulldown
MenuPane associated with the previous menubar item
is posted.
- 14 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
<Up>:
This moves the focus to the previous menu item;
the previous menu item is defined as the widget
which was created prior to the one which currently
has the focus. Wrapping occurs, if necessary.
<Down>:
This moves the focus to the next menu item; the
next menu item is defined as the widget which was
created after the one which currently has the
focus. Wrapping occurs, if necessary.
WorkArea
<Btn1Down>
If the button press occurred in a gadget child, it
is dispatched to it.
<Btn1Up>
If the button press occurred in a gadget child, it
is dispatched to it.
Default Translations
The following are the default translations for an OptionMenu:
<BtnDown>: PopupBtnDown()
<BtnUp>: PopupBtnUp()
<Key>Return: MenuGadgetReturn()
The following are the default translations for a Popup MenuPane:
<BtnDown>: PopupBtnDown()
<BtnUp>: PopupBtnUp()
<Key>Return: MenuGadgetReturn()
<Key>Escape: MenuGadgetEscape()
<Unmap>: MenuUnmap()
<FocusIn>: MenuFocusIn()
<FocusOut>: MenuFocusOut()
<EnterWindow>: MenuEnter()
<Key>Left: MenuGadgetTraverseLeft()
<Key>Right: MenuGadgetTraverseRight()
<Key>Up: MenuGadgetTraverseUp()
<Key>Down: MenuGadgetTraverseDown()
The following are the default translations are for a Pulldown MenuPane:
<BtnDown>: PulldownBtnDown()
<BtnUp>: PulldownBtnUp()
<Key>Return: MenuGadgetReturn()
<Key>Escape: MenuGadgetEscape()
<Unmap>: MenuUnmap()
<FocusIn>: MenuFocusIn()
<FocusOut>: MenuFocusOut()
- 15 -
XmRowColumn(3Xm) XmRowColumn(3Xm)
<EnterWindow>: MenuEnter()
<Key>Left: MenuGadgetTraverseLeft()
<Key>Right: MenuGadgetTraverseRight()
<Key>Up: MenuGadgetTraverseUp()
<Key>Down: MenuGadgetTraverseDown()
The following are the default translations for a MenuBar:
<BtnDown>: MenuBarBtnDown()
<BtnUp>: MenuBarBtnUp()
<Unmap>: MenuUnmap()
<FocusIn>: MenuFocusIn()
<FocusOut>: MenuFocusOut()
<EnterWindow>: MenuEnter()
The following are the default translations for a WorkArea:
<Btn1Down>: WorkAreaBtnDown()
<Btn1Up>: WorkAreaBtnUp()
Keyboard Traversal
For information on keyboard traversal in a WorkArea,
see the man page for XmManager(3X) and its sections on
behavior and default translations.
RELATED INFORMATION
Composite(3X), Constraint(3X), Core(3X),
XmCreateRowColumn(3X), XmCreateMenuBar(3X),
XmCreateOptionMenu(3X), XmCreatePopupMenu(3X),
XmCreatePulldownMenu(3X), XmCreateRadioBox(3X),
XmGetMenuCursor(3X), XmLabel(3X), XmManager(3X),
XmOptionButtonGadget(3X), XmOptionLabelGadget(3X),
XmSetMenuCursor(3X), XmMenuPosition(3X), and
XmUpdateDisplay(3X).
- 16 -