Paned.h revision 7a84e134
1/*
2* $Xorg: Paned.h,v 1.5 2001/02/09 02:03:45 xorgcvs Exp $
3*/
4
5
6/***********************************************************
7
8Copyright 1987, 1988, 1994, 1998  The Open Group
9
10Permission to use, copy, modify, distribute, and sell this software and its
11documentation for any purpose is hereby granted without fee, provided that
12the above copyright notice appear in all copies and that both that
13copyright notice and this permission notice appear in supporting
14documentation.
15
16The above copyright notice and this permission notice shall be included in
17all copies or substantial portions of the Software.
18
19THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
22OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
23AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25
26Except as contained in this notice, the name of The Open Group shall not be
27used in advertising or otherwise to promote the sale, use or other dealings
28in this Software without prior written authorization from The Open Group.
29
30
31Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
32
33                        All Rights Reserved
34
35Permission to use, copy, modify, and distribute this software and its
36documentation for any purpose and without fee is hereby granted,
37provided that the above copyright notice appear in all copies and that
38both that copyright notice and this permission notice appear in
39supporting documentation, and that the name of Digital not be
40used in advertising or publicity pertaining to distribution of the
41software without specific, written prior permission.
42
43DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
44ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
45DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
46ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
47WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
48ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
49SOFTWARE.
50
51******************************************************************/
52/* $XFree86: xc/lib/Xaw/Paned.h,v 1.6 2001/01/17 19:42:28 dawes Exp $ */
53
54/*
55 * Paned.h - Paned Composite Widget's public header file.
56 *
57 * Updated and significantly modifided from the Athena VPaned Widget.
58 *
59 * Date:    March 1, 1989
60 *
61 * By:      Chris D. Peterson
62 *          MIT X Consortium
63 *          kit@expo.lcs.mit.edu
64 */
65
66#ifndef _XawPaned_h
67#define _XawPaned_h
68
69#include <X11/Intrinsic.h>
70#include <X11/Xmu/Converters.h>
71
72/* RESOURCES:
73
74 Name		         Class		   RepType	    Default Value
75 ----		         -----		   -------	    -------------
76 background	         Background	   Pixel	    XtDefaultBackground
77 betweenCursor	         Cursor	           Cursor	    **
78 border		         BorderColor       Pixel	    XtDefaultForeground
79 borderWidth	         BorderWidth       Dimension	    1
80 cursor		         Cursor	           Cursor	    None
81 destroyCallback         Callback	   Pointer	    NULL
82 height		         Height	           Dimension	    0
83 gripIndent	         GripIndent	   Position	    16
84 gripCursor	         Cursor	           Cursor	    **
85 horizontalGripCursol    Cursor	           Cursor	    sb_h_double_arrow
86 horizontalBetweencursor Cursor	           Cursor	    sb_up_arrow
87 internalBorderColor     BorderColor	   Pixel	    XtDefaultForeground
88 internalBorderWidth     BorderWidth	   Position	    1
89 leftCursor	         Cursor	           Cursor	    sb_left_arrow
90 lowerCursor	         Cursor	           Cursor	    sb_down_arrow
91 mappedWhenManaged       MappedWhenManaged Boolean	    True
92 orientation             Orientation       XtOrientation    XtorientVertical
93 refigureMode	         Boolean	   Boolean	    On
94 rightCursor	         Cursor	           Cursor           sb_right_arrow
95 sensitive	         Sensitive	   Boolean	    True
96 upperCursor	         Cursor	           Cursor	    sb_up_arrow
97 verticalBetweenCursor   Cursor	           Cursor           sb_left_arrow
98 verticalGripCursor      Cursor	           Cursor           sb_v_double_arrow
99 width		         Width	           Dimension	    0
100 x		         Position	   Position	    0
101 y		         Position	   Position    	    0
102
103** These resources now are set to the vertical or horizontal cursor
104   depending upon orientation, by default.  If a value is specified here
105   then that cursor will be used reguardless of orientation.
106
107
108CONSTRAINT RESOURCES:
109
110 Name		      Class		RepType		Default Value
111 ----		      -----		-------		-------------
112 allowResize	      Boolean	        Boolean         False
113 max		      Max	        Dimension	unlimited
114 min		      Min		Dimension	Grip Size
115 preferredPaneSize    PreferredPaneSize Dimension	PANED_ASK_CHILD
116 resizeToPreferred    Boolean		Boolean	 	False
117 showGrip	      ShowGrip		Boolean		True
118 skipAdjust	      Boolean	        Boolean         False
119
120*/
121
122#define PANED_ASK_CHILD 0
123#define PANED_GRIP_SIZE 0
124
125#define XtNallowResize "allowResize"
126#define XtNbetweenCursor "betweenCursor"
127#define XtNverticalBetweenCursor "verticalBetweenCursor"
128#define XtNhorizontalBetweenCursor "horizontalBetweenCursor"
129#define XtNgripCursor "gripCursor"
130#define XtNgripIndent "gripIndent"
131#define XtNhorizontalGripCursor "horizontalGripCursor"
132#define XtNinternalBorderColor "internalBorderColor"
133#define XtNinternalBorderWidth "internalBorderWidth"
134#define XtNleftCursor "leftCursor"
135#define XtNlowerCursor "lowerCursor"
136#define XtNrefigureMode "refigureMode"
137#define XtNposition "position"
138#define XtNmin "min"
139#define XtNmax "max"
140#define XtNpreferredPaneSize "preferredPaneSize"
141#define XtNresizeToPreferred "resizeToPreferred"
142#define XtNrightCursor "rightCursor"
143#define XtNshowGrip "showGrip"
144#define XtNskipAdjust "skipAdjust"
145#define XtNupperCursor "upperCursor"
146#define XtNverticalGripCursor "verticalGripCursor"
147
148#define XtCGripIndent "GripIndent"
149#define XtCMin "Min"
150#define XtCMax "Max"
151#define XtCPreferredPaneSize "PreferredPaneSize"
152#define XtCShowGrip "ShowGrip"
153
154/* Class record constant */
155extern WidgetClass panedWidgetClass;
156
157typedef struct _PanedClassRec	*PanedWidgetClass;
158typedef struct _PanedRec	*PanedWidget;
159
160/*
161 *  Public Procedures
162 */
163
164_XFUNCPROTOBEGIN
165
166/*
167 * Function:
168 *	XawPanedSetMinMax
169 *
170 * Parameters:
171 *	widget - widget that is a child of the Paned widget
172 *	min    - new min and max size for the pane
173 *	max    - ""
174 *
175 * Description:
176 *	Sets the min and max size for a pane.
177 */
178void XawPanedSetMinMax
179(
180 Widget			w,
181 int			min,
182 int			max
183 );
184
185/*
186 * Function:
187 *	XawPanedGetMinMax
188 *
189 * Parameters:
190 *	widget - widget that is a child of the Paned widget
191 *	min    - return the current min and max size for the pane
192 *	max    - ""
193 *
194 * Description:
195 *	Gets the min and max size for a pane.
196 */
197void XawPanedGetMinMax
198(
199 Widget			w,
200 int			*min_return,
201 int			*max_return
202 );
203
204/*
205 * Function:
206 *	XawPanedSetRefigureMode
207 *
208 * Parameters:
209 *	w    - paned widget
210 *	mode - if False then inhibit refigure
211 *
212 * Description:
213 *	  Allows a flag to be set the will inhibit  the paned widgets
214 *	relayout routine.
215 */
216void XawPanedSetRefigureMode
217(
218 Widget			w,
219#if NeedWidePrototypes
220 int			mode
221#else
222 Boolean		mode
223#endif
224 );
225
226/*
227 * Function:
228 *	XawPanedGetNumSub
229 *
230 * Parameters:
231 *	w - paned widget
232 *
233 * Returns:
234 *	Number of panes in the paned widget.
235 */
236int XawPanedGetNumSub
237(
238 Widget			w
239 );
240
241/*
242 * Function:
243 *	XawPanedAllowResize
244 *
245 * Parameters:
246 *	widget - child of the paned widget
247 *
248 * Description:
249 *	  Allows a flag to be set that determines if the paned widget will
250 *	allow geometry requests from this child
251 */
252void XawPanedAllowResize
253(
254 Widget			w,
255#if NeedWidePrototypes
256 int			allow_resize
257#else
258 Boolean		allow_resize
259#endif
260 );
261
262_XFUNCPROTOEND
263
264#endif /* _XawPaned_h */
265