XmPanedWindow(3Xm) XmPanedWindow(3Xm)
NAME
XmPanedWindow - the PanedWindow widget class.
AES SUPPORT LEVEL
full-use
SYNOPSIS
#include <Xm/PanedW.h>
DESCRIPTION
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 will grow to match the width of its widest
child and all other children are forced to this width.
The height of the PanedWindow will be equal to the sum
of the heights of all its children, the spacing between
them, and the size of the top and bottom margins.
It is also possible for the end user to 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.
The PanedWindow is also a constraint widget, which
means that it creates and manages a set of constraints
for each child. It is possible to specify a minimum
and maximum size for each pane. The PanedWindow will
not allow a pane to be resized below its minimum size
nor beyond its maximum size. Also, when the minimum
size of a pane is equal to its maximum size, then no
control sash will be presented for that pane or for the
lowest pane.
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
- 1 -
XmPanedWindow(3Xm) XmPanedWindow(3Xm)
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).
XmPanedWindow Resource Set
Name Class Type Default Access
__________________________________________________________________________
XmNmarginHeight XmCMarginHeight short 3 CSG
XmNmarginWidth XmCMarginWidth short 3 CSG
XmNrefigureMode XmCBoolean Boolean True CSG
XmNsashHeight XmCSashHeight Dimension 10 CSG
XmNsashIndent XmCSashIndent Position -10 CSG
XmNsashShadowThickness XmCShadowThickness int 2 CSG
XmNsashWidth XmCSashWidth Dimension 10 CSG
XmNseparatorOn XmCSeparatorOn Boolean True CSG
XmNspacing XmCSpacing int 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 will be
recomputed and repositioned when programmatic
changes are being made to the PanedWindow.
Setting this resource to True will reset 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 will cause the
sash to be offset from the left side of the
PanedWindow, and a negative value will cause the
sash to be offset from the right side of the
- 2 -
XmPanedWindow(3Xm) XmPanedWindow(3Xm)
PanedWindow. If the offset is greater than the
width of the PanedWindow minus the width of the
sash, the sash will be placed flush against the
left-hand side of the PanedWindow.
XmNsashShadowThickness
Specifies the thickness of the shadows of the
sashes.
XmNsashWidth
Specifies the width of the sash.
XmNseparatorOn
Determines whether a separator will be created
between each of the panes. Setting this resource
to True will create 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
XmNmaximum XmRInt int 1000 CSG
XmNminimum XmCMin int 1 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 only has an effect after the
PanedWindow and its children have been realized.
If this flag is set to True, the PanedWindow will
try to honor requests to alter the height of the
pane. If False, it will always deny pane requests
to resize.
XmNmaximum
Allows an application to specify the maximum size
to which a pane may be resized. This value must
be greater than the specified minimum.
XmNminimum
Allows an application to specify the minimum size
to which a pane may be resized. This value must
be greater than 0.
XmNskipAdjust
When set to True, this Boolean resource allows an
- 3 -
XmPanedWindow(3Xm) XmPanedWindow(3Xm)
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
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 N/A
XmNtopShadowColor XmCBackground Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNuserData XmCUserData caddr_t 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 0 CSG
XmNcolormap XmCColormap Colormap XtCopyFromParent CG
XmNdepth XmCDepth int XtCopyFromParent CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
Behavior
Shift<Btn1Down>:
(in sash): Activates the interactive placement of
the pane's borders. It changes the pointer cursor
- 4 -
XmPanedWindow(3Xm) XmPanedWindow(3Xm)
from a crosshair to an upward pointing arrow to
indicate that the upper pane will be adjusted
(usually the pane to which the sash is attached).
All panes below the sash that can be adjusted,
will be adjusted.
<Btn1Down>:
(in sash): Activates the interactive placement of
the pane's borders. It changes the pointer cursor
from a crosshair to a double headed arrow to
indicate that the pane to be adjusted is the pane
to which the sash is attached and the first pane
below it the can be adjusted. Unlike pane
adjustment using Shift Btn1Down or CTRL Btn1Down,
only two panes will be affected. If one of the
panes reaches its minimum or maximum size,
adjustment will stop, instead of finding the next
adjustable pane.
CTRL <Btn1Down>:
(in sash): Activates the interactive placement of
the pane's borders. It changes the pointer cursor
from a crosshair to a downward pointing arrow to
indicate that the lower pane will be adjusted
(usually the pane below the pane to which the sash
is attached). All panes above the sash that can be
adjusted, will be adjusted.
Shift Button1<PtrMoved>:
If the button press occurs within the sash, the
motion events draw a series of track lines to
illustrate what the heights of the panes would be
if the Commit action were invoked. This action
determines which pane below the upper pane can be
adjusted and makes the appropriate adjustments.
Button1<PtrMoved>:
If the button press occurs within the sash, the
motion events draw a series of track lines to
illustrate what the heights of the panes would be
if the Commit action were invoked. This action
adjusts as needed (and possible) the upper and
lower panes selected when the Btn1Down action was
invoked.
CTRL Button1<PtrMoved>:
If the button press occurs within the sash, the
motion events draw a series of track lines to
illustrate what the heights of the panes would be
if the Commit action were invoked. This action
determines which pane above the lower pane can be
adjusted and makes the appropriate adjustments.
- 5 -
XmPanedWindow(3Xm) XmPanedWindow(3Xm)
Any<BtnUp>:
Commits to any action taken since the interactive
placement was activated. The sashes and the pane
boundaries are moved to the committed positions of
the panes.
Default Translations
The following are default translations for PanedWindow:
Shift<Btn1Down>:SashAction(Start, UpperPane)
<Btn1Down>: SashAction(Start, ThisBorderOnly)
CTRL<Btn1Down>:SashAction(Start, LowerPane)
Shift<Btn1Motion>:SashAction(Move, Upper)
<Btn1Motion>: SashAction(Move, ThisBorder)
CTRL<Btn1Motion>:SashAction(Move, Lower)
Any<BtnUp>: SashAction(Commit)
<EnterWindow>: enter()
<LeaveWindow>: leave()
Keyboard Traversal
For information on keyboard traversal, see the man page
for XmManager(3X) and its sections on behavior and
default translations.
RELATED INFORMATION
Composite(3X), Constraint(3X), Core(3X),
XmCreatePanedWindow(3X), and XmManager(3X).
- 6 -