2 * $XConsortium: Paned.h,v 1.8 89/10/04 19:35:43 kit Exp $
6 /***********************************************************
7 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
8 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
12 Permission to use, copy, modify, and distribute this software and its
13 documentation for any purpose and without fee is hereby granted,
14 provided that the above copyright notice appear in all copies and that
15 both that copyright notice and this permission notice appear in
16 supporting documentation, and that the names of Digital or MIT not be
17 used in advertising or publicity pertaining to distribution of the
18 software without specific, written prior permission.
20 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
21 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
22 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
23 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
24 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
28 ******************************************************************/
31 * Paned.h - Paned Composite Widget's public header file.
33 * Updated and significantly modifided from the Athena VPaned Widget.
37 * By: Chris D. Peterson
39 * kit@expo.lcs.mit.edu
45 #include <X11/Constraint.h>
47 /****************************************************************
49 * Vertical Paned Widget (SubClass of CompositeClass)
51 ****************************************************************/
55 Name Class RepType Default Value
56 ---- ----- ------- -------------
57 background Background Pixel XtDefaultBackground
58 betweenCursor Cursor Cursor **
59 border BorderColor Pixel XtDefaultForeground
60 borderWidth BorderWidth Dimension 1
61 cursor Cursor Cursor None
62 destroyCallback Callback Pointer NULL
63 height Height Dimension 0
64 gripIndent GripIndent Position 16
65 gripCursor Cursor Cursor **
66 horizontalGripCursol Cursor Cursor sb_h_double_arrow
67 horizontalBetweencursor Cursor Cursor sb_up_arrow
68 internalBorderColor BorderColor Pixel XtDefaultForeground
69 internalBorderWidth BorderWidth Position 1
70 leftCursor Cursor Cursor sb_left_arrow
71 lowerCursor Cursor Cursor sb_down_arrow
72 mappedWhenManaged MappedWhenManaged Boolean True
73 orientation Orientation XtOrientation XtorientVertical
74 refigureMode Boolean Boolean On
75 rightCursor Cursor Cursor sb_right_arrow
76 sensitive Sensitive Boolean True
77 upperCursor Cursor Cursor sb_up_arrow
78 verticalBetweenCursor Cursor Cursor sb_left_arrow
79 verticalGripCursor Cursor Cursor sb_v_double_arrow
80 width Width Dimension 0
84 ** These resources now are set to the vertical or horizontal cursor
85 depending upon orientation, by default. If a value is specified here
86 then that cursor will be used reguardless of orientation.
91 Name Class RepType Default Value
92 ---- ----- ------- -------------
93 allowResize Boolean Boolean False
94 max Max Dimension unlimited
95 min Min Dimension Grip Size
96 preferredPaneSize PerferredPaneSize Dimension PANED_ASK_CHILD
97 resizeToPreferred Boolean Boolean False
98 showGrip ShowGrip Boolean True
99 skipAdjust Boolean Boolean False
103 #define PANED_ASK_CHILD 0
104 #define PANED_GRIP_SIZE 0
107 #define XtNallowResize "allowResize"
108 #define XtNbetweenCursor "betweenCursor"
109 #define XtNverticalBetweenCursor "verticalBetweenCursor"
110 #define XtNhorizontalBetweenCursor "horizontalBetweenCursor"
111 #define XtNgripCursor "gripCursor"
112 #define XtNgripIndent "gripIndent"
113 #define XtNhorizontalGripCursor "horizontalGripCursor"
114 #define XtNinternalBorderColor "internalBorderColor"
115 #define XtNinternalBorderWidth "internalBorderWidth"
116 #define XtNleftCursor "leftCursor"
117 #define XtNlowerCursor "lowerCursor"
118 #define XtNrefigureMode "refigureMode"
119 #define XtNposition "position"
122 #define XtNpreferredPaneSize "preferredPaneSize"
123 #define XtNresizeToPreferred "resizeToPreferred"
124 #define XtNrightCursor "rightCursor"
125 #define XtNshowGrip "showGrip"
126 #define XtNskipAdjust "skipAdjust"
127 #define XtNupperCursor "upperCursor"
128 #define XtNverticalGripCursor "verticalGripCursor"
130 #define XtCGripIndent "GripIndent"
133 #define XtCPreferredPaneSize "PreferredPaneSize"
134 #define XtCShowGrip "ShowGrip"
136 /* Class record constant */
137 extern WidgetClass panedWidgetClass
;
139 #ifdef XAW_BC /* for compatability only. */
140 extern WidgetClass vPanedWidgetClass
;
143 typedef struct _PanedClassRec
*PanedWidgetClass
;
144 typedef struct _PanedRec
*PanedWidget
;
146 /************************************************************
150 ************************************************************/
153 /* Function Name: XawPanedSetMinMax
154 * Description: Sets the min and max size for a pane.
155 * Arguments: widget - the widget that is a child of the Paned widget.
156 * min, max - the new min and max size for the pane.
160 extern void XawPanedSetMinMax(); /* widget, min, max */
164 /* Function Name: XawPanedGetMinMax
165 * Description: Gets the min and max size for a pane.
166 * Arguments: widget - the widget that is a child of the Paned widget.
167 ** RETURNED ** min, max - the current min and max size for the pane.
171 extern void XawPanedGetMinMax(); /* widget, min, max */
173 /* int *min, *max; */
175 /* Function Name: XawPanedSetRefigureMode
176 * Description: Allows a flag to be set the will inhibit
177 * the paned widgets relayout routine.
178 * Arguments: w - the paned widget.
179 * mode - if FALSE then inhibit refigure.
183 extern void XawPanedSetRefigureMode(); /* w, mode */
187 /* Function Name: XawPanedGetNumSub
188 * Description: Returns the number of panes in the paned widget.
189 * Arguments: w - the paned widget.
190 * Returns: the number of panes in the paned widget.
193 extern int XawPanedGetNumSub(); /* w */
196 /* Function Name: XawPanedAllowResize
197 * Description: Allows a flag to be set that determines if the paned
198 * widget will allow geometry requests from this child
199 * Arguments: widget - a child of the paned widget.
203 extern void XawPanedAllowResize(); /* widget, allow_resize */
205 /* Boolean allow_resize; */
208 /*************************************************************
209 * For Compatibility only. */
211 #define XtPanedSetMinMax XawPanedSetMinMax
212 #define XtPanedGetMinMax XawPanedGetMinMax
213 #define XtPanedGetNumSub XawPanedGetNumSub
214 #define XtPanedAllowResize XawPanedAllowResize
215 #define XtPanedSetRefigureMode XawPanedSetRefigureMode
217 /*************************************************************/
220 #endif /* _XawPaned_h */
221 /* DON'T ADD STUFF AFTER THIS #endif */