XmPanedWindow(Xm) UNIX System V
NAME
XmPanedWindow - the PanedWindow widget class.
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 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 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
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
XmNunitType XmCUnitType unsigned char XmPIXELS 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 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.
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(Xm) and its sections on behavior and default
translations.
RELATED INFORMATION
Composite(Xm), Constraint(Xm), Core(Xm),
XmCreatePanedWindow(Xm), and XmManager(Xm).
(printed 2/14/90) XmPanedWindow(Xm)