xref: /386bsd/usr/X386/include/X11/Xaw/Paned.h (revision a2142627)
1 /*
2 * $XConsortium: Paned.h,v 1.13 91/02/17 13:16:15 rws Exp $
3 */
4 
5 
6 /***********************************************************
7 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
8 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
9 
10                         All Rights Reserved
11 
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.
19 
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
26 SOFTWARE.
27 
28 ******************************************************************/
29 
30 /*
31  * Paned.h - Paned Composite Widget's public header file.
32  *
33  * Updated and significantly modifided from the Athena VPaned Widget.
34  *
35  * Date:    March 1, 1989
36  *
37  * By:      Chris D. Peterson
38  *          MIT X Consortium
39  *          kit@expo.lcs.mit.edu
40  */
41 
42 #ifndef _XawPaned_h
43 #define _XawPaned_h
44 
45 #include <X11/Constraint.h>
46 #include <X11/Xmu/Converters.h>
47 #include <X11/Xfuncproto.h>
48 
49 /****************************************************************
50  *
51  * Vertical Paned Widget (SubClass of CompositeClass)
52  *
53  ****************************************************************/
54 
55 /* RESOURCES:
56 
57  Name		         Class		   RepType	    Default Value
58  ----		         -----		   -------	    -------------
59  background	         Background	   Pixel	    XtDefaultBackground
60  betweenCursor	         Cursor	           Cursor	    **
61  border		         BorderColor       Pixel	    XtDefaultForeground
62  borderWidth	         BorderWidth       Dimension	    1
63  cursor		         Cursor	           Cursor	    None
64  destroyCallback         Callback	   Pointer	    NULL
65  height		         Height	           Dimension	    0
66  gripIndent	         GripIndent	   Position	    16
67  gripCursor	         Cursor	           Cursor	    **
68  horizontalGripCursol    Cursor	           Cursor	    sb_h_double_arrow
69  horizontalBetweencursor Cursor	           Cursor	    sb_up_arrow
70  internalBorderColor     BorderColor	   Pixel	    XtDefaultForeground
71  internalBorderWidth     BorderWidth	   Position	    1
72  leftCursor	         Cursor	           Cursor	    sb_left_arrow
73  lowerCursor	         Cursor	           Cursor	    sb_down_arrow
74  mappedWhenManaged       MappedWhenManaged Boolean	    True
75  orientation             Orientation       XtOrientation    XtorientVertical
76  refigureMode	         Boolean	   Boolean	    On
77  rightCursor	         Cursor	           Cursor           sb_right_arrow
78  sensitive	         Sensitive	   Boolean	    True
79  upperCursor	         Cursor	           Cursor	    sb_up_arrow
80  verticalBetweenCursor   Cursor	           Cursor           sb_left_arrow
81  verticalGripCursor      Cursor	           Cursor           sb_v_double_arrow
82  width		         Width	           Dimension	    0
83  x		         Position	   Position	    0
84  y		         Position	   Position    	    0
85 
86 ** These resources now are set to the vertical or horizontal cursor
87    depending upon orientation, by default.  If a value is specified here
88    then that cursor will be used reguardless of orientation.
89 
90 
91 CONSTRAINT RESOURCES:
92 
93  Name		      Class		RepType		Default Value
94  ----		      -----		-------		-------------
95  allowResize	      Boolean	        Boolean         False
96  max		      Max	        Dimension	unlimited
97  min		      Min		Dimension	Grip Size
98  preferredPaneSize    PerferredPaneSize Dimension	PANED_ASK_CHILD
99  resizeToPreferred    Boolean		Boolean	 	False
100  showGrip	      ShowGrip		Boolean		True
101  skipAdjust	      Boolean	        Boolean         False
102 
103 */
104 
105 #define PANED_ASK_CHILD 0
106 #define PANED_GRIP_SIZE 0
107 
108 /* New Fields */
109 #define XtNallowResize "allowResize"
110 #define XtNbetweenCursor "betweenCursor"
111 #define XtNverticalBetweenCursor "verticalBetweenCursor"
112 #define XtNhorizontalBetweenCursor "horizontalBetweenCursor"
113 #define XtNgripCursor "gripCursor"
114 #define XtNgripIndent "gripIndent"
115 #define XtNhorizontalGripCursor "horizontalGripCursor"
116 #define XtNinternalBorderColor "internalBorderColor"
117 #define XtNinternalBorderWidth "internalBorderWidth"
118 #define XtNleftCursor "leftCursor"
119 #define XtNlowerCursor "lowerCursor"
120 #define XtNrefigureMode "refigureMode"
121 #define XtNposition "position"
122 #define XtNmin "min"
123 #define XtNmax "max"
124 #define XtNpreferredPaneSize "preferredPaneSize"
125 #define XtNresizeToPreferred "resizeToPreferred"
126 #define XtNrightCursor "rightCursor"
127 #define XtNshowGrip "showGrip"
128 #define XtNskipAdjust "skipAdjust"
129 #define XtNupperCursor "upperCursor"
130 #define XtNverticalGripCursor "verticalGripCursor"
131 
132 #define XtCGripIndent "GripIndent"
133 #define XtCMin "Min"
134 #define XtCMax "Max"
135 #define XtCPreferredPaneSize "PreferredPaneSize"
136 #define XtCShowGrip "ShowGrip"
137 
138 /* Class record constant */
139 extern WidgetClass panedWidgetClass;
140 
141 typedef struct _PanedClassRec	*PanedWidgetClass;
142 typedef struct _PanedRec	*PanedWidget;
143 
144 /************************************************************
145  *
146  *  Public Procedures
147  *
148  ************************************************************/
149 
150 _XFUNCPROTOBEGIN
151 
152 /*	Function Name: XawPanedSetMinMax
153  *	Description: Sets the min and max size for a pane.
154  *	Arguments: widget - the widget that is a child of the Paned widget.
155  *                 min, max - the new min and max size for the pane.
156  *	Returns: none.
157  */
158 
159 extern void XawPanedSetMinMax(
160 #if NeedFunctionPrototypes
161     Widget		/* w */,
162     int			/* min */,
163     int			/* max */
164 #endif
165 );
166 
167 /*	Function Name: XawPanedGetMinMax
168  *	Description: Gets the min and max size for a pane.
169  *	Arguments: widget - the widget that is a child of the Paned widget.
170  ** RETURNED **    min, max - the current min and max size for the pane.
171  *	Returns: none.
172  */
173 
174 extern void XawPanedGetMinMax(
175 #if NeedFunctionPrototypes
176     Widget		/* w */,
177     int *		/* min_return */,
178     int *		/* max_return */
179 #endif
180 );
181 
182 /*	Function Name: XawPanedSetRefigureMode
183  *	Description: Allows a flag to be set the will inhibit
184  *                   the paned widgets relayout routine.
185  *	Arguments: w - the paned widget.
186  *                 mode - if FALSE then inhibit refigure.
187  *	Returns: none.
188  */
189 
190 extern void XawPanedSetRefigureMode(
191 #if NeedFunctionPrototypes
192     Widget		/* w */,
193 #if NeedWidePrototypes
194     /* Boolean */ int	/* mode */
195 #else
196     Boolean		/* mode */
197 #endif
198 #endif
199 );
200 
201 /*	Function Name: XawPanedGetNumSub
202  *	Description: Returns the number of panes in the paned widget.
203  *	Arguments: w - the paned widget.
204  *	Returns: the number of panes in the paned widget.
205  */
206 
207 extern int XawPanedGetNumSub(
208 #if NeedFunctionPrototypes
209     Widget		/* w */
210 #endif
211 );
212 
213 /*	Function Name: XawPanedAllowResize
214  *	Description: Allows a flag to be set that determines if the paned
215  *                   widget will allow geometry requests from this child
216  *	Arguments: widget - a child of the paned widget.
217  *	Returns: none.
218  */
219 
220 extern void XawPanedAllowResize(
221 #if NeedFunctionPrototypes
222     Widget		/* w */,
223 #if NeedWidePrototypes
224     /* Boolean */ int	/* allow_resize */
225 #else
226     Boolean		/* allow_resize */
227 #endif
228 #endif
229 );
230 
231 _XFUNCPROTOEND
232 
233 #endif /* _XawPaned_h */
234 /* DON'T ADD STUFF AFTER THIS #endif */
235