PanedWindow is a composite widget that lays out children in a
vertically 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
creates 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
XmNnavigationType 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 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).
XmPanedWindow resource set
Name
Class
Type
Default
Access
XmNmarginHeight
XmCMarginHeight
Dimension
3
CSG
XmNmarginWidth
XmCMarginWidth
Dimension
3
CSG
XmNrefigureMode
XmCBoolean
Boolean
True
CSG
XmNsashHeight
XmCSashHeight
Dimension
10
CSG
XmNsashIndent
XmCSashIndent
Position
-10
CSG
XmNsashShadowThickness
XmCShadowThickness
Dimension
dynamic
CSG
XmNsashWidth
XmCSashWidth
Dimension
10
CSG
XmNseparatorOn
XmCSeparatorOn
Boolean
True
CSG
XmNspacing
XmCSpacing
Dimension
8
CSG
XmNmarginHeight
Specifies the distance between the top and bottom edges of the PanedWindow
and its children.
XmNmarginWidth
Specifies the distance between the left and right edges of the PanedWindow
and its children.
XmNrefigureMode
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.
XmNsashHeight
Specifies the height of the sash.
XmNsashIndent
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 XmNstringDirection
resource.
XmNsashShadowThickness
Specifies the thickness of the shadows of the sashes.
XmNsashWidth
Specifies the width of the sash.
XmNseparatorOn
Determines whether a separator is created between each of the panes.
Setting this resource to True creates a Separator at the
midpoint between each of the panes.
XmNspacing
Specifies the distance between each child pane.
XmPanedWindow constraint resource set
Name
Class
Type
Default
Access
XmNallowResize
XmCBoolean
Boolean
False
CSG
XmNpaneMaximum
XmCPaneMaximum
Dimension
1000
CSG
XmNpaneMinimum
XmCPaneMinimum
Dimension
1
CSG
XmNpositionIndex
XmCPositionIndex
short
XmLAST_POSITION
CSG
XmNskipAdjust
XmCBoolean
Boolean
False
CSG
XmNallowResize
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.
XmNpaneMaximum
Allows an application to specify the maximum size to which a pane
may be resized. This value must be greater than the specified minimum.
XmNpaneMinimum
Allows an application to specify the minimum size to which a pane
may be resized. This value must be greater than 0.
XmNpositionIndex
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 position 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.
XmNskipAdjust
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
superclasses. For a complete description of each resource, refer to the
man page for that superclass.
XmManager resource set
Name
Class
Type
Default
Access
XmNbottomShadowColor
XmCBottomShadowColor
Pixel
dynamic
CSG
XmNbottomShadowPixmap
XmCBottomShadowPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNforeground
XmCForeground
Pixel
dynamic
CSG
XmNhelpCallback
XmCCallback
XtCallbackList
NULL
C
XmNhighlightColor
XmCHighlightColor
Pixel
dynamic
CSG
XmNhighlightPixmap
XmCHighlightPixmap
Pixmap
dynamic
CSG
XmNinitialFocus
XmCInitialFocus
Widget
NULL
CSG
XmNnavigationType
XmCNavigationType
XmNavigationType
XmTAB_GROUP
CSG
XmNshadowThickness
XmCShadowThickness
Dimension
2
CSG
XmNstringDirection
XmCStringDirection
XmStringDirection
dynamic
CG
XmNtopShadowColor
XmCTopShadowColor
Pixel
dynamic
CSG
XmNtopShadowPixmap
XmCTopShadowPixmap
Pixmap
dynamic
CSG
XmNtraversalOn
XmCTraversalOn
Boolean
True
CSG
XmNunitType
XmCUnitType
unsigned char
dynamic
CSG
XmNuserData
XmCUserData
XtPointer
NULL
CSG
Core resource set
Name
Class
Type
Default
Access
XmNaccelerators
XmCAccelerators
XtAccelerators
dynamic
CSG
XmNancestorSensitive
XmCSensitive
Boolean
dynamic
G
XmNbackground
XmCBackground
Pixel
dynamic
CSG
XmNbackgroundPixmap
XmCPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNborderColor
XmCBorderColor
Pixel
XtDefaultForeground
CSG
XmNborderPixmap
XmCPixmap
Pixmap
XmUNSPECIFIED_PIXMAP
CSG
XmNborderWidth
XmCBorderWidth
Dimension
0
CSG
XmNcolormap
XmCColormap
Colormap
dynamic
CG
XmNdepth
XmCDepth
int
dynamic
CG
XmNdestroyCallback
XmCCallback
XtCallbackList
NULL
C
XmNheight
XmCHeight
Dimension
dynamic
CSG
XmNinitialResourcesPersistent
XmCInitialResourcesPersistent
Boolean
True
C
XmNmappedWhenManaged
XmCMappedWhenManaged
Boolean
True
CSG
XmNscreen
XmCScreen
Screen
dynamic
CG
XmNsensitive
XmCSensitive
Boolean
True
CSG
XmNtranslations
XmCTranslations
XtTranslations
dynamic
CSG
XmNwidth
XmCWidth
Dimension
dynamic
CSG
XmNx
XmCPosition
Position
0
CSG
XmNy
XmCPosition
Position
0
CSG
Composite resource set
Name
Class
Type
Default
Access
XmNchildren
XmCReadOnly
WidgetList
NULL
G
XmNinsertPosition
XmCInsertPosition
XtOrderProc
default procedure
CSG
XmNnumChildren
XmCReadOnly
Cardinal
0
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.
The XmPanedWindow action routines are described below:
Help():
Calls the callbacks 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.
NextTabGroup():
Moves the keyboard focus to the next tab group.
By default each pane and sash is a tab group.
PrevTabGroup():
Moves the keyboard focus to the previous tab group.
By default each pane and sash is a tab group.
SashAction(action) or SashAction(key,increment,direction):
The Start action activates the interactive placement of the pane's borders.
The Move action causes the sash to track the position 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:
<FocusIn>:
Moves the keyboard focus to the sash and highlights it.
<FocusOut>:
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(X3mot).