XmPanedWindow - The PanedWindow widget class
#include <Xm/PanedW.h>
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.
PanedWindow inherits behavior and resources from the Core, Composite, Constraint, and XmManager classes.
The class pointer is xmPanedWindowWidgetClass.
The class name is XmPanedWindow.
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).
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 |
Whether the placement actually corresponds to the left or right side of the PanedWindow may depend on the value of the XmNstringDirection resource.
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 |
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.
PanedWindow inherits behavior and resources from the following superclasses. For a complete description of each resource, refer to the man page for that superclass.
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 |
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 |
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 |
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNchildren | XmCReadOnly | WidgetList | NULL | G |
XmNinsertPosition | XmCInsertPosition | XtOrderProc | default procedure | CSG |
XmNnumChildren | XmCReadOnly | Cardinal | 0 | G |
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) BSelect Release: SashAction(Commit) BDrag Press: SashAction(Start) BDrag Motion: SashAction(Move) BDrag Release: SashAction(Commit) KUp: SashAction(Key,DefaultIncr,Up) MCtrl KUp: SashAction(Key,LargeIncr,Up) KDown: SashAction(Key,DefaultIncr,Down) MCtrl KDown: SashAction(Key,LargeIncr,Down) KNextField: NextTabGroup() KPrevField: PrevTabGroup() KHelp: Help()
The XmPanedWindow action routines are described below:
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.
This widget has the additional behavior described below:
The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VirtualBindings(3X).
Composite(3X), Constraint(3X), Core(3X), XmCreatePanedWindow(3X), and XmManager(3X).