XmPanedWindow(3X)XmPanedWindow(3X)NAMEXmPanedWindow - The PanedWindow widget class
SYNOPSIS
#include <Xm/PanedW.h>
DESCRIPTION
PanedWindow is a composite widget that lays out children in a verti‐
cally tiled format. Children appear in top-to-bottom fashion, with the
first child inserted appearing at the top of the PanedWindow and the
last child inserted appearing at the bottom. The PanedWindow grows to
match the width of its widest child and all other children are forced
to this width. The height of the PanedWindow is equal to the sum of the
heights of all its children, the spacing between them, and the size of
the top and bottom margins.
The user can also adjust the size of the panes. To facilitate this
adjustment, a pane control sash is created for most children. The sash
appears as a square box positioned on the bottom of the pane that it
controls. The user can adjust the size of a pane by using the mouse or
keyboard.
The PanedWindow is also a constraint widget, which means that it cre‐
ates and manages a set of constraints for each child. You can specify
a minimum and maximum size for each pane. The PanedWindow does not
allow a pane to be resized below its minimum size or beyond its maximum
size. Also, when the minimum size of a pane is equal to its maximum
size, no control sash is presented for that pane or for the lowest
pane.
The default XmNinsertPosition procedure for PanedWindow causes sashes
to be inserted at the end of the list of children and causes non-sash
widgets to be inserted after other non-sash children but before any
sashes.
All panes and sashes in a PanedWindow must be tab groups. When a pane
is inserted as a child of the PanedWindow, if the pane's XmNnavigation‐
Type is not XmEXCLUSIVE_TAB_GROUP, PanedWindow sets it to
XmSTICKY_TAB_GROUP.
Classes
PanedWindow inherits behavior and resources from the Core, Composite,
Constraint, and XmManager classes.
The class pointer is xmPanedWindowWidgetClass.
The class name is XmPanedWindow.
New Resources
The following table defines a set of widget resources used by the pro‐
grammer to specify data. The programmer can also set the resource val‐
ues 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).
XmPanedWindow Resource Set
Class: XmCMarginHeight
Default: 3
Type: Dimension
Access: CSG
Class: XmCMarginWidth
Default: 3
Type: Dimension
Access: CSG
Class: XmCBoolean
Default: True
Type: Boolean
Access: CSG
Class: XmCSashHeight
Default: 10
Type: Dimension
Access: CSG
Class: XmCSashIndent
Default: -10
Type: Position
Access: CSG
Class: XmCShadowThickness
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCSashWidth
Default: 10
Type: Dimension
Access: CSG
Class: XmCSeparatorOn
Default: True
Type: Boolean
Access: CSG
Class: XmCSpacing
Default: 8
Type: Dimension
Access: CSG
Specifies the distance between the top and bottom edges of the Paned‐
Window and its children. Specifies the distance between the left and
right edges of the PanedWindow and its children. Determines whether
the panes' positions are recomputed and repositioned when programmatic
changes are being made to the PanedWindow. Setting this resource to
True resets the children to their appropriate positions. Specifies the
height of the sash. Specifies the horizontal placement of the sash
along each pane. A positive value causes the sash to be offset from
the near (left) side of the PanedWindow, and a negative value causes
the sash to be offset from the far (right) side of the PanedWindow. If
the offset is greater than the width of the PanedWindow minus the width
of the sash, the sash is placed flush against the near side of the
PanedWindow.
Whether the placement actually corresponds to the left or right
side of the PanedWindow may depend on the value of the XmN‐
stringDirection resource. Specifies the thickness of the shad‐
ows of the sashes. Specifies the width of the sash. Determines
whether a separator is created between each of the panes. Set‐
ting this resource to True creates a Separator at the midpoint
between each of the panes. Specifies the distance between each
child pane.
XmPanedWindow Constraint Resource Set
Class: XmCBoolean
Default: False
Type: Boolean
Access: CSG
Class: XmCPaneMaximum
Default: 1000
Type: Dimension
Access: CSG
Class: XmCPaneMinimum
Default: 1
Type: Dimension
Access: CSG
Class: XmCPositionIndex
Default: XmLAST_POSITION
Type: short
Access: CSG
Class: XmCBoolean
Default: False
Type: Boolean
Access: CSG
Allows an application to specify whether the PanedWindow should
allow a pane to request to be resized. This flag has an effect
only after the PanedWindow and its children have been realized.
If this flag is set to True, the PanedWindow tries to honor
requests to alter the height of the pane. If False, it always
denies pane requests to resize. Allows an application to spec‐
ify the maximum size to which a pane may be resized. This value
must be greater than the specified minimum. Allows an applica‐
tion to specify the minimum size to which a pane may be resized.
This value must be greater than 0. Specifies the position of
the widget in its parent's list of children (the list of pane
children, not including sashes). The value is an integer that
is no less than zero and no greater than the number of children
in the list at the time the value is specified. A value of zero
means that the child is placed at the beginning of the list.
The value can also be specified as XmLAST_POSITION (the
default), which means that the child is placed at the end of the
list. Any other value is ignored. XtGetValues returns the posi‐
tion of the widget in its parent's child list at the time of the
call to XtGetValues.
When a widget is inserted into its parent's child list, the
positions of any existing children that are greater than or
equal to the specified widget's XmNpositionIndex are increased
by one. The effect of a call to XtSetValues for XmNpositionIndex
is to remove the specified widget from its parent's child list,
decrease by one the positions of any existing children that are
greater than the specified widget's former position in the list,
and then insert the specified widget into its parent's child
list as described in the preceding sentence. When set to True,
this Boolean resource allows an application to specify that the
PanedWindow should not automatically resize this pane.
Inherited Resources
PanedWindow inherits behavior and resources from the following super‐
classes. For a complete description of each resource, refer to the man
page for that superclass.
XmManager Resource Set
Class: XmCBottomShadowColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCBottomShadowPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCForeground
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHighlightColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCHighlightPixmap
Default: dynamic
Type: Pixmap
Access: CSG
Class: XmCInitialFocus
Default: NULL
Type: Widget
Access: CSG
Class: XmCNavigationType
Default: XmTAB_GROUP
Type: XmNavigationType
Access: CSG
Class: XmCShadowThickness
Default: 2
Type: Dimension
Access: CSG
Class: XmCStringDirection
Default: dynamic
Type: XmStringDirection
Access: CG
Class: XmCTopShadowColor
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCTopShadowPixmap
Default: dynamic
Type: Pixmap
Access: CSG
Class: XmCTraversalOn
Default: True
Type: Boolean
Access: CSG
Class: XmCUnitType
Default: dynamic
Type: unsigned char
Access: CSG
Class: XmCUserData
Default: NULL
Type: XtPointer
Access: CSG
Core Resource Set
Class: XmCAccelerators
Default: dynamic
Type: XtAccelerators
Access: CSG
Class: XmCSensitive
Default: dynamic
Type: Boolean
Access: G
Class: XmCBackground
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderColor
Default: XtDefaultForeground
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderWidth
Default: 0
Type: Dimension
Access: CSG
Class: XmCColormap
Default: dynamic
Type: Colormap
Access: CG
Class: XmCDepth
Default: dynamic
Type: int
Access: CG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHeight
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCInitialResourcesPersistent
Default: True
Type: Boolean
Access: C
Class: XmCMappedWhenManaged
Default: True
Type: Boolean
Access: CSG
Class: XmCScreen
Default: dynamic
Type: Screen *
Access: CG
Class: XmCSensitive
Default: True
Type: Boolean
Access: CSG
Class: XmCTranslations
Default: dynamic
Type: XtTranslations
Access: CSG
Class: XmCWidth
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Composite Resource Set
Class: XmCReadOnly
Default: NULL
Type: WidgetList
Access: G
Class: XmCInsertPosition
Default: default procedure
Type: XtOrderProc
Access: CSG
Class: XmCReadOnly
Default: 0
Type: Cardinal
Access: G
Translations
XmPanedWindow inherits translations from XmManager.
The translations for sashes within the PanedWindow are listed below.
These translations may not directly correspond to a translation table.
BSelect Press: SashAction(Start) BSelect Motion:SashAction(Move) BSe‐
lect Release:SashAction(Commit) BDrag Press: SashAction(Start) BDrag
Motion: SashAction(Move) BDrag Release: SashAction(Commit) KUp:
SashAction(Key,DefaultIncr,Up) MCtrl KUp: SashAc‐
tion(Key,LargeIncr,Up) KDown: SashAction(Key,DefaultIncr,Down)
MCtrl KDown: SashAction(Key,LargeIncr,Down) KNextField: NextTab‐
Group() KPrevField: PrevTabGroup() KHelp: Help()
Action Routines
The XmPanedWindow action routines are described below: Calls the call‐
backs for XmNhelpCallback if any exist. If there are no help callbacks
for this widget, this action calls the help callbacks for the nearest
ancestor that has them. Moves the keyboard focus to the next tab
group. By default each pane and sash is a tab group. Moves the key‐
board focus to the previous tab group. By default each pane and sash is
a tab group. The Start action activates the interactive placement of
the pane's borders. The Move action causes the sash to track the posi‐
tion of the pointer. If one of the panes reaches its minimum or maximum
size, adjustment continues with the next adjustable pane. The Commit
action ends sash motion.
When sash action is caused by a keyboard event, the sash with
the keyboard focus is moved according to the increment and
direction specified. DefaultIncr adjusts the sash by one line.
LargeIncr adjusts the sash by one view region. The direction is
specified as either Up or Down.
Note that the SashAction action routine is not a direct action
routine of the XmPanedWindow, but rather an action of the Sash
control created by the XmPanedWindow.
Additional Behavior
This widget has the additional behavior described below: Moves the key‐
board focus to the sash and highlights it. Unsets the keyboard focus
in the sash and unhighlights it.
Virtual Bindings
The bindings for virtual keys are vendor specific. For information
about bindings for virtual buttons and keys, see VirtualBindings(3X).
SEE ALSOComposite(3X), Constraint(3X), Core(3X), XmCreatePanedWindow(3X),
XmManager(3X)XmPanedWindow(3X)