'\" t .\" PanedWin.sgm /main/9 1996/09/08 20:55:13 rws $ .de P! .fl \!!1 setgray .fl \\&.\" .fl \!!0 setgray .fl \" force out current output buffer \!!save /psv exch def currentpoint translate 0 0 moveto \!!/showpage{}def .fl \" prolog .sy sed -e 's/^/!/' \\$1\" bring in postscript file \!!psv restore . .de pF .ie \\*(f1 .ds f1 \\n(.f .el .ie \\*(f2 .ds f2 \\n(.f .el .ie \\*(f3 .ds f3 \\n(.f .el .ie \\*(f4 .ds f4 \\n(.f .el .tm ? font overflow .ft \\$1 .. .de fP .ie !\\*(f4 \{\ . ft \\*(f4 . ds f4\" ' br \} .el .ie !\\*(f3 \{\ . ft \\*(f3 . ds f3\" ' br \} .el .ie !\\*(f2 \{\ . ft \\*(f2 . ds f2\" ' br \} .el .ie !\\*(f1 \{\ . ft \\*(f1 . ds f1\" ' br \} .el .tm ? font underflow .. .ds f1\" .ds f2\" .ds f3\" .ds f4\" .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n .TH "XmPanedWindow" 3 .SH "NAME" \fBXmPanedWindow\fP \(em The PanedWindow widget class "XmPanedWindow" "widget class" "PanedWindow" .SH "SYNOPSIS" .PP .nf #include .fi .SH "DESCRIPTION" .PP 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\&. .PP 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\&. .PP 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\&. .PP The default \fBXmNinsertPosition\fP procedure for PanedWindow causes all panes to appear first in the \fBXmNchildren\fP list and all sashes to appear after the panes\&. For a pane child, it returns the value of \fBXmNpositionIndex\fP if one has been specified for the child\&. Otherwise, it returns the number of \fIpanes\fP in the PanedWindow\&'s \fBXmNchildren\fP 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 \fBXmNinsertPosition\fP is set to a procedure other than the default\&. .PP 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 \fBXmNnavigationType\fP is not \fBXmEXCLUSIVE_TAB_GROUP\fP, PanedWindow sets it to \fBXmSTICKY_TAB_GROUP\fP\&. .SS "Descendants" .PP PanedWindow automatically creates for each paned window the descendants shown in the following table\&. An application can use \fBXtName\fP and the child list information to gain access to the named descendant\&. In addition, a user or an application can use the named descendant when specifying resource values\&. .TS tab() box; l| l| l. \fBNamed Descendant\fP\fBClass\fP\fBIdentity\fP ___ = ___ \fBSash\fP\fBsubclass of\fP \fBXmPrimitive\fPsash ___ \fBSeparator\fP\fBXmSeparatorGadget\fPdividing line between window panes ___ .TE .SS "Classes" .PP PanedWindow inherits behavior and resources from the \fBCore\fP, \fBComposite\fP, \fBConstraint\fP, and \fBXmManager\fP classes\&. .PP The class pointer is \fBxmPanedWindowWidgetClass\fP\&. .PP The class name is \fBXmPanedWindow\fP\&. .SS "New Resources" .PP 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 \fB\&.Xdefaults\fP file, remove the \fBXmN\fP or \fBXmC\fP prefix and use the remaining letters\&. To specify one of the defined values for a resource in a \fB\&.Xdefaults\fP file, remove the \fBXm\fP 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 \fBXtSetValues\fP (S), retrieved by using \fBXtGetValues\fP (G), or is not applicable (N/A)\&. .PP .TS tab() box; c s s s s l| l| l| l| l. \fBXmPanedWindow Resource Set\fP \fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP _____ XmNmarginHeightXmCMarginHeightDimension3CSG _____ XmNmarginWidthXmCMarginWidthDimension3CSG _____ XmNorientationXmCOrientationunsigned charXmVERTICALCSG _____ XmNrefigureModeXmCBooleanBooleanTrueCSG _____ XmNsashHeightXmCSashHeightDimension10CSG _____ XmNsashIndentXmCSashIndentPosition-10CSG _____ XmNsashShadowThicknessXmCShadowThicknessDimensiondynamicCSG _____ XmNsashWidthXmCSashWidthDimension10CSG _____ XmNseparatorOnXmCSeparatorOnBooleanTrueCSG _____ XmNspacingXmCSpacingDimension8CSG _____ .TE .IP "\fBXmNmarginHeight\fP" 10 Specifies the distance between the top and bottom edges of the PanedWindow and its children\&. .IP "\fBXmNmarginWidth\fP" 10 Specifies the distance between the left and right edges of the PanedWindow and its children\&. .IP "\fBXmNorientation\fP" 10 Specifies the layout as either vertical (with the \fBXmVERTICAL\fP value) or horizontal (with the \fBXmHORIZONTAL\fP 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\&. .IP "\fBXmNrefigureMode\fP" 10 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\&. .IP "\fBXmNsashHeight\fP" 10 Specifies the height of the sash\&. .IP "\fBXmNsashIndent\fP" 10 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\&. .IP "" 10 Whether the placement actually corresponds to the left or right side of the PanedWindow depends on the \fBXmNlayoutDirection\fP resource of the widget\&. .IP "\fBXmNsashShadowThickness\fP" 10 Specifies the thickness of the shadows of the sashes\&. .IP "\fBXmNsashWidth\fP" 10 Specifies the width of the sash\&. .IP "\fBXmNseparatorOn\fP" 10 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\&. .IP "\fBXmNspacing\fP" 10 Specifies the distance between each child pane\&. .IP "" 10 .TS tab() box; c s s s s l| l| l| l| l. T{ \fBXmPanedWindow Constraint Resource Set\fP T} \fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP _____ XmNallowResizeXmCBooleanBooleanFalseCSG _____ XmNpaneMaximumXmCPaneMaximumDimension1000CSG _____ XmNpaneMinimumXmCPaneMinimumDimension1CSG _____ XmNpositionIndexXmCPositionIndexshortXmLAST_POSITIONCSG _____ XmNskipAdjustXmCBooleanBooleanFalseCSG _____ .TE .IP "\fBXmNallowResize\fP" 10 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\&. .IP "\fBXmNpaneMaximum\fP" 10 Allows an application to specify the maximum size to which a pane may be resized\&. This value must be greater than the specified minimum\&. .IP "\fBXmNpaneMinimum\fP" 10 Allows an application to specify the minimum size to which a pane may be resized\&. This value must be greater than 0 (zero)\&. .IP "\fBXmNpositionIndex\fP" 10 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 \fBXmLAST_POSITION\fP (the default), which means that the child is placed at the end of the list\&. Any other value is ignored\&. \fBXtGetValues\fP returns the position of the widget in its parent\&'s child list at the time of the call to \fBXtGetValues\fP\&. .IP "" 10 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 \fBXmNpositionIndex\fP are increased by 1\&. The effect of a call to \fBXtSetValues\fP for \fBXmNpositionIndex\fP 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\&. .IP "\fBXmNskipAdjust\fP" 10 When set to True, this Boolean resource allows an application to specify that the PanedWindow should not automatically resize this pane\&. .SS "Inherited Resources" .PP 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\&. .PP .TS tab() box; c s s s s l| l| l| l| l. \fBXmManager Resource Set\fP \fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP _____ XmNbottomShadowColorXmCBottomShadowColorPixeldynamicCSG _____ XmNbottomShadowPixmapXmCBottomShadowPixmapPixmapXmUNSPECIFIED_PIXMAPCSG _____ XmNforegroundXmCForegroundPixeldynamicCSG _____ XmNhelpCallbackXmCCallbackXtCallbackListNULLC _____ XmNhighlightColorXmCHighlightColorPixeldynamicCSG _____ XmNhighlightPixmapXmCHighlightPixmapPixmapdynamicCSG _____ XmNinitialFocusXmCInitialFocusWidgetNULLCSG _____ XmNlayoutDirectionXmCLayoutDirectionXmDirectiondynamicCG _____ XmNnavigationTypeXmCNavigationTypeXmNavigationTypeXmTAB_GROUPCSG _____ XmNpopupHandlerCallbackXmCCallbackXtCallbackListNULLC _____ XmNshadowThicknessXmCShadowThicknessDimension2CSG _____ XmNstringDirectionXmCStringDirectionXmStringDirectiondynamicCG _____ XmNtopShadowColorXmCTopShadowColorPixeldynamicCSG _____ XmNtopShadowPixmapXmCTopShadowPixmapPixmapdynamicCSG _____ XmNtraversalOnXmCTraversalOnBooleanTrueCSG _____ XmNunitTypeXmCUnitTypeunsigned chardynamicCSG _____ XmNuserDataXmCUserDataXtPointerNULLCSG _____ .TE .PP .TS tab() box; c s s s s l| l| l| l| l. \fBCore Resource Set\fP \fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP _____ XmNacceleratorsXmCAcceleratorsXtAcceleratorsdynamicCSG _____ XmNancestorSensitiveXmCSensitiveBooleandynamicG _____ XmNbackgroundXmCBackgroundPixeldynamicCSG _____ XmNbackgroundPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG _____ XmNborderColorXmCBorderColorPixelXtDefaultForegroundCSG _____ XmNborderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG _____ XmNborderWidthXmCBorderWidthDimension0CSG _____ XmNcolormapXmCColormapColormapdynamicCG _____ XmNdepthXmCDepthintdynamicCG _____ XmNdestroyCallbackXmCCallbackXtCallbackListNULLC _____ XmNheightXmCHeightDimensiondynamicCSG _____ XmNinitialResourcesPersistentXmCInitialResourcesPersistentBooleanTrueC _____ XmNmappedWhenManagedXmCMappedWhenManagedBooleanTrueCSG _____ XmNscreenXmCScreenScreen *dynamicCG _____ XmNsensitiveXmCSensitiveBooleanTrueCSG _____ XmNtranslationsXmCTranslationsXtTranslationsdynamicCSG _____ XmNwidthXmCWidthDimensiondynamicCSG _____ XmNxXmCPositionPosition0CSG _____ XmNyXmCPositionPosition0CSG _____ .TE .PP .TS tab() box; c s s s s l| l| l| l| l. \fBComposite Resource Set\fP \fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP _____ XmNchildrenXmCReadOnlyWidgetListNULLG _____ XmNinsertPositionXmCInsertPositionXtOrderProcdefault procedureCSG _____ XmNnumChildrenXmCReadOnlyCardinal0G _____ .TE .SS "Translations" .PP \fBXmPanedWindow\fP inherits translations from \fBXmManager\fP\&. .PP The translations for sashes within the PanedWindow are described in the following table\&. .PP 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 \fBVirtualBindings\fP(3)\&. For a complete description of the format, please refer to the X Toolkit Instrinsics Documentation\&. .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBStart\fP) .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBMove\fP) .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBCommit\fP) .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBStart\fP) .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBMove\fP) .IP "\fB\(apc \(aps \(apm \(apa\fP \fB\fP:" 10 SashAction(\fBCommit\fP) .IP "\fB:\fP\fB\fP\fB\fP:" 10 PrimitiveParentActivate() .IP "\fB:\fP\fB\fP\fB\fP:" 10 PrimitiveParentCancel() .IP "\fB:\fP\fB\fP\fB\fP:" 10 Help() .IP "\fB:c\fP \fB\fP\fB\fP:" 10 SashAction(\fBKey,LargeIncr,Up\fP) .IP "\fB:\fP\fB\fP\fB\fP:" 10 SashAction(\fBKey,DefaultIncr,Up\fP) .IP "\fB:c\fP \fB\fP\fB\fP:" 10 SashAction(\fBKey,LargeIncr,Right\fP) .IP "\fB:\fP\fB\fP\fB\fP:" 10 SashAction(\fBKey,DefaultIncr,Right\fP) .IP "\fB:c\fP \fB\fP\fB\fP:" 10 SashAction(\fBKey,LargeIncr,Down\fP) .IP "\fB:\fP\fB\fP\fB\fP:" 10 SashAction(\fBKey,DefaultIncr,Down\fP) .IP "\fB:c\fP \fB\fP\fB\fP:" 10 SashAction(\fBKey,LargeIncr,Left\fP) .IP "\fB:\fP\fB\fP\fB\fP:" 10 SashAction(\fBKey,DefaultIncr,Left\fP) .IP "\fB\(aps \(apm \(apa\fP \fB\fP\fBReturn\fP:" 10 PrimitiveParentActivate() .IP "\fBs \(apm \(apa\fP \fB\fP\fBTab\fP:" 10 PrevTabGroup() .IP "\fB\(apm \(apa\fP \fB\fP\fBTab\fP:" 10 NextTabGroup() .SS "Action Routines" .PP The \fBXmPanedWindow\fP action routines are .IP "Help():" 10 Calls the callbacks for \fBXmNhelpCallback\fP 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\&. .IP "NextTabGroup():" 10 Moves the keyboard focus to the next tab group\&. By default, each pane and sash is a tab group\&. .IP "PrevTabGroup():" 10 Moves the keyboard focus to the previous tab group\&. By default, each pane and sash is a tab group\&. .IP "SashAction(\fIaction\fP\fB)\fP\ or\ SashAction(\fBKey,\fP\fIincrement\fP\fB,\fP\fIdirection\fP\fB)\fP:" 10 The \fBStart\fP action activates the interactive placement of the pane\&'s borders\&. The \fBMove\fP 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 \fBCommit\fP action ends sash motion\&. .IP "" 10 When sash action is caused by a keyboard event, the sash with the keyboard focus is moved according to the \fIincrement\fP and \fIdirection\fP specified\&. \fBDefaultIncr\fP adjusts the sash by one line\&. \fBLargeIncr\fP adjusts the sash by one view region\&. The \fIdirection\fP is specified as either \fBUp\fP, \fBDown\fP, \fBLeft\fP, or \fBRight\fP\&. .IP "" 10 Note that the SashAction action routine is not a direct action routine of the \fBXmPanedWindow,\fP but rather an action of the Sash control created by the \fBXmPanedWindow\fP\&. .SS "Additional Behavior" .PP This widget has the following additional behavior: .IP "\fB\fP:" 10 Moves the keyboard focus to the sash and highlights it .IP "\fB\fP:" 10 Unsets the keyboard focus in the sash and unhighlights it .SS "Virtual Bindings" .PP The bindings for virtual keys are vendor specific\&. For information about bindings for virtual buttons and keys, see \fBVirtualBindings\fP(3)\&. .SH "RELATED" .PP \fBComposite\fP(3), \fBConstraint\fP(3), \fBCore\fP(3), \fBXmCreatePanedWindow\fP(3), \fBXmManager\fP(3), \fBXmVaCreatePanedWindow\fP(3), and \fBXmVaCreateManagedPanedWindow\fP(3)\&.