XmPanedWindow(3Xm)

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(3Xm) and its sections on behavior and default translations.

RELATED INFORMATION
Composite(3Xm), Constraint(3Xm), Core(3Xm), XmCreatePanedWindow(3Xm), and XmManager(3Xm).