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