XmPanedWindow(library call) XmPanedWindow(library call)
NAME [Toc] [Back]
XmPanedWindow - The PanedWindow widget class
SYNOPSIS [Toc] [Back]
#include <Xm/PanedW.h>
DESCRIPTION [Toc] [Back]
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 all
panes to appear first in the XmNchildren list and all sashes to appear
after the panes. For a pane child, it returns the value of
XmNpositionIndex if one has been specified for the child. Otherwise,
it returns the number of panes in the PanedWindow's XmNchildren list.
Other than the fact that all sashes appear after all panes, the
insertion order of sashes is unspecified. This procedure also causes
nonsash widgets to be inserted after other nonsash children but before
any sashes. The behavior of PanedWindow is undefined if
XmNinsertPosition is set to a procedure other than the default.
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.
Descendants [Toc] [Back]
PanedWindow automatically creates for each paned window the
descendants shown in the following table. An application can use
XtName and the child list information to gain access to the named
descendant. In addition, a user or an application can use the named
- 1 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
descendant when specifying resource values.
_________________________________________________________________________________
|Named Descendant | Class | Identity |
|_________________|_________________________|____________________________________|
|_________________|_________________________|____________________________________|
|_________________|_________________________|____________________________________|
|Sash | subclass of XmPrimitive | sash |
|_________________|_________________________|____________________________________|
|Separator | XmSeparatorGadget | dividing line between window panes |
|_________________|_________________________|____________________________________|
|_________________|_________________________|____________________________________|
Classes [Toc] [Back]
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 [Toc] [Back]
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).
- 2 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
___________________________________________________________________________________
| XmPanedWindow Resource Set |
|Name Class Type Default Access |
|_______________________|____________________|_______________|____________|________|
|XmNmarginHeight | XmCMarginHeight | Dimension | 3 | CSG |
|_______________________|____________________|_______________|____________|________|
|XmNmarginWidth | XmCMarginWidth | Dimension | 3 | CSG |
|_______________________|____________________|_______________|____________|________|
|XmNorientation | XmCOrientation | unsigned char | XmVERTICAL | 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 [Toc] [Back]
Specifies the distance between the top and bottom edges of
the PanedWindow and its children.
XmNmarginWidth [Toc] [Back]
Specifies the distance between the left and right edges of
the PanedWindow and its children.
XmNorientation [Toc] [Back]
Specifies the layout as either vertical (with the XmVERTICAL
value) or horizontal (with the XmHORIZONTAL value). In the
vertical layout, the children are laid out in a vertically
tiled format. In the horizontal layout, the children are
laid out in a horizontal layout, with the sash moveable
along the horizontal axis.
XmNrefigureMode [Toc] [Back]
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 [Toc] [Back]
Specifies the height of the sash.
- 3 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
XmNsashIndent [Toc] [Back]
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 depends on the
XmNlayoutDirection resource of the widget.
XmNsashShadowThickness [Toc] [Back]
Specifies the thickness of the shadows of the sashes.
XmNsashWidth [Toc] [Back]
Specifies the width of the sash.
XmNseparatorOn [Toc] [Back]
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 [Toc] [Back]
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 [Toc] [Back]
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.
- 4 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
XmNpaneMaximum [Toc] [Back]
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 [Toc] [Back]
Allows an application to specify the minimum size to which a
pane may be resized. This value must be greater than 0
(zero).
XmNpositionIndex [Toc] [Back]
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 0 (zero) and no
greater than the number of children in the list at the time
the value is specified. A value of 0 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 1. 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 [Toc] [Back]
When set to True, this Boolean resource allows an
application to specify that the PanedWindow should not
automatically resize this pane.
Inherited Resources [Toc] [Back]
PanedWindow inherits behavior and resources from the superclasses
described in the following tables. For a complete description of each
resource, refer to the reference page for that superclass.
- 5 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
_____________________________________________________________________________________________________
| 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 |
|________________________|_______________________|___________________|______________________|________|
|XmNlayoutDirection | XmCLayoutDirection | XmDirection | dynamic | CG |
|________________________|_______________________|___________________|______________________|________|
|XmNnavigationType | XmCNavigationType | XmNavigationType | XmTAB_GROUP | CSG |
|________________________|_______________________|___________________|______________________|________|
|XmNpopupHandlerCallback | XmCCallback | XtCallbackList | NULL | C |
|________________________|_______________________|___________________|______________________|________|
|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 |
|________________________|_______________________|___________________|______________________|________|
|________________________|_______________________|___________________|______________________|________|
- 6 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
________________________________________________________________________________________________________________
| 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 |
|______________________________|_______________________________|________________|______________________|________|
|______________________________|_______________________________|________________|______________________|________|
- 7 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
__________________________________________________________________________________
| 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 [Toc] [Back]
XmPanedWindow inherits translations from XmManager.
The translations for sashes within the PanedWindow are described in
the following table.
The following key names are listed in the X standard key event
translation table syntax. This format is the one used by Motif to
specify the widget actions corresponding to a given key. A brief
overview of the format is provided under VirtualBindings(3). For a
complete description of the format, please refer to the X Toolkit
Instrinsics Documentation.
~c ~s ~m ~a <Btn1Down>:
SashAction(Start)
~c ~s ~m ~a <Btn1Motion>:
SashAction(Move)
~c ~s ~m ~a <Btn1Up>:
SashAction(Commit)
~c ~s ~m ~a <Btn2Down>:
SashAction(Start)
~c ~s ~m ~a <Btn2Motion>:
SashAction(Move)
~c ~s ~m ~a <Btn2Up>:
SashAction(Commit)
:<Key><osfActivate>:
PrimitiveParentActivate()
:<Key><osfCancel>:
PrimitiveParentCancel()
:<Key><osfHelp>:
Help()
- 8 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
:c <Key><osfUp>:
SashAction(Key,LargeIncr,Up)
:<Key><osfUp>:
SashAction(Key,DefaultIncr,Up)
:c <Key><osfRight>:
SashAction(Key,LargeIncr,Right)
:<Key><osfRight>:
SashAction(Key,DefaultIncr,Right)
:c <Key><osfDown>:
SashAction(Key,LargeIncr,Down)
:<Key><osfDown>:
SashAction(Key,DefaultIncr,Down)
:c <Key><osfLeft>:
SashAction(Key,LargeIncr,Left)
:<Key><osfLeft>:
SashAction(Key,DefaultIncr,Left)
~s ~m ~a <Key>Return:
PrimitiveParentActivate()
s ~m ~a <Key>Tab:
PrevTabGroup()
~m ~a <Key>Tab:
NextTabGroup()
Action Routines [Toc] [Back]
The XmPanedWindow action routines are
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
- 9 - Formatted: January 24, 2005
XmPanedWindow(library call) XmPanedWindow(library call)
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, Down, Left, or Right.
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 [Toc] [Back]
This widget has the following additional behavior:
<FocusIn>:
Moves the keyboard focus to the sash and highlights it
<FocusOut>:
Unsets the keyboard focus in the sash and unhighlights it
Virtual Bindings [Toc] [Back]
The bindings for virtual keys are vendor specific. For information
about bindings for virtual buttons and keys, see VirtualBindings(3).
RELATED [Toc] [Back]
Composite(3), Constraint(3), Core(3), XmCreatePanedWindow(3), and
XmManager(3).
- 10 - Formatted: January 24, 2005 [ Back ] |