00001 /* 00002 * $XConsortium: Paned.h,v 1.15 94/04/17 20:12:29 kaleb Exp $ 00003 */ 00004 00005 00006 /*********************************************************** 00007 00008 Copyright (c) 1987, 1988, 1994 X Consortium 00009 00010 Permission is hereby granted, free of charge, to any person obtaining a copy 00011 of this software and associated documentation files (the "Software"), to deal 00012 in the Software without restriction, including without limitation the rights 00013 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00014 copies of the Software, and to permit persons to whom the Software is 00015 furnished to do so, subject to the following conditions: 00016 00017 The above copyright notice and this permission notice shall be included in 00018 all copies or substantial portions of the Software. 00019 00020 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00021 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00022 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00023 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00024 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00025 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00026 00027 Except as contained in this notice, the name of the X Consortium shall not be 00028 used in advertising or otherwise to promote the sale, use or other dealings 00029 in this Software without prior written authorization from the X Consortium. 00030 00031 00032 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. 00033 00034 All Rights Reserved 00035 00036 Permission to use, copy, modify, and distribute this software and its 00037 documentation for any purpose and without fee is hereby granted, 00038 provided that the above copyright notice appear in all copies and that 00039 both that copyright notice and this permission notice appear in 00040 supporting documentation, and that the name of Digital not be 00041 used in advertising or publicity pertaining to distribution of the 00042 software without specific, written prior permission. 00043 00044 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 00045 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 00046 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 00047 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 00048 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 00049 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 00050 SOFTWARE. 00051 00052 ******************************************************************/ 00053 00054 /* 00055 * Paned.h - Paned Composite Widget's public header file. 00056 * 00057 * Updated and significantly modifided from the Athena VPaned Widget. 00058 * 00059 * Date: March 1, 1989 00060 * 00061 * By: Chris D. Peterson 00062 * MIT X Consortium 00063 * kit@expo.lcs.mit.edu 00064 */ 00065 00066 #ifndef _XawPaned_h 00067 #define _XawPaned_h 00068 00069 #include <X11/Constraint.h> 00070 #include <X11/Xmu/Converters.h> 00071 00072 /**************************************************************** 00073 * 00074 * Vertical Paned Widget (SubClass of CompositeClass) 00075 * 00076 ****************************************************************/ 00077 00078 /* RESOURCES: 00079 00080 Name Class RepType Default Value 00081 ---- ----- ------- ------------- 00082 background Background Pixel XtDefaultBackground 00083 betweenCursor Cursor Cursor ** 00084 border BorderColor Pixel XtDefaultForeground 00085 borderWidth BorderWidth Dimension 1 00086 cursor Cursor Cursor None 00087 destroyCallback Callback Pointer NULL 00088 height Height Dimension 0 00089 gripIndent GripIndent Position 16 00090 gripCursor Cursor Cursor ** 00091 horizontalGripCursol Cursor Cursor sb_h_double_arrow 00092 horizontalBetweencursor Cursor Cursor sb_up_arrow 00093 internalBorderColor BorderColor Pixel XtDefaultForeground 00094 internalBorderWidth BorderWidth Position 1 00095 leftCursor Cursor Cursor sb_left_arrow 00096 lowerCursor Cursor Cursor sb_down_arrow 00097 mappedWhenManaged MappedWhenManaged Boolean True 00098 orientation Orientation XtOrientation XtorientVertical 00099 refigureMode Boolean Boolean On 00100 rightCursor Cursor Cursor sb_right_arrow 00101 sensitive Sensitive Boolean True 00102 upperCursor Cursor Cursor sb_up_arrow 00103 verticalBetweenCursor Cursor Cursor sb_left_arrow 00104 verticalGripCursor Cursor Cursor sb_v_double_arrow 00105 width Width Dimension 0 00106 x Position Position 0 00107 y Position Position 0 00108 00109 ** These resources now are set to the vertical or horizontal cursor 00110 depending upon orientation, by default. If a value is specified here 00111 then that cursor will be used reguardless of orientation. 00112 00113 00114 CONSTRAINT RESOURCES: 00115 00116 Name Class RepType Default Value 00117 ---- ----- ------- ------------- 00118 allowResize Boolean Boolean False 00119 max Max Dimension unlimited 00120 min Min Dimension Grip Size 00121 preferredPaneSize PerferredPaneSize Dimension PANED_ASK_CHILD 00122 resizeToPreferred Boolean Boolean False 00123 showGrip ShowGrip Boolean True 00124 skipAdjust Boolean Boolean False 00125 00126 */ 00127 00128 #define PANED_ASK_CHILD 0 00129 #define PANED_GRIP_SIZE 0 00130 00131 /* New Fields */ 00132 #define XtNallowResize "allowResize" 00133 #define XtNbetweenCursor "betweenCursor" 00134 #define XtNverticalBetweenCursor "verticalBetweenCursor" 00135 #define XtNhorizontalBetweenCursor "horizontalBetweenCursor" 00136 #define XtNgripCursor "gripCursor" 00137 #define XtNgripIndent "gripIndent" 00138 #define XtNhorizontalGripCursor "horizontalGripCursor" 00139 #define XtNinternalBorderColor "internalBorderColor" 00140 #define XtNinternalBorderWidth "internalBorderWidth" 00141 #define XtNleftCursor "leftCursor" 00142 #define XtNlowerCursor "lowerCursor" 00143 #define XtNrefigureMode "refigureMode" 00144 #define XtNposition "position" 00145 #define XtNmin "min" 00146 #define XtNmax "max" 00147 #define XtNpreferredPaneSize "preferredPaneSize" 00148 #define XtNresizeToPreferred "resizeToPreferred" 00149 #define XtNrightCursor "rightCursor" 00150 #define XtNshowGrip "showGrip" 00151 #define XtNskipAdjust "skipAdjust" 00152 #define XtNupperCursor "upperCursor" 00153 #define XtNverticalGripCursor "verticalGripCursor" 00154 00155 #define XtCGripIndent "GripIndent" 00156 #define XtCMin "Min" 00157 #define XtCMax "Max" 00158 #define XtCPreferredPaneSize "PreferredPaneSize" 00159 #define XtCShowGrip "ShowGrip" 00160 00161 /* Class record constant */ 00162 extern WidgetClass panedWidgetClass; 00163 00164 typedef struct _PanedClassRec *PanedWidgetClass; 00165 typedef struct _PanedRec *PanedWidget; 00166 00167 /************************************************************ 00168 * 00169 * Public Procedures 00170 * 00171 ************************************************************/ 00172 00173 _XFUNCPROTOBEGIN 00174 00175 /* Function Name: XawPanedSetMinMax 00176 * Description: Sets the min and max size for a pane. 00177 * Arguments: widget - the widget that is a child of the Paned widget. 00178 * min, max - the new min and max size for the pane. 00179 * Returns: none. 00180 */ 00181 00182 extern void XawPanedSetMinMax( 00183 #if NeedFunctionPrototypes 00184 Widget /* w */, 00185 int /* min */, 00186 int /* max */ 00187 #endif 00188 ); 00189 00190 /* Function Name: XawPanedGetMinMax 00191 * Description: Gets the min and max size for a pane. 00192 * Arguments: widget - the widget that is a child of the Paned widget. 00193 ** RETURNED ** min, max - the current min and max size for the pane. 00194 * Returns: none. 00195 */ 00196 00197 extern void XawPanedGetMinMax( 00198 #if NeedFunctionPrototypes 00199 Widget /* w */, 00200 int * /* min_return */, 00201 int * /* max_return */ 00202 #endif 00203 ); 00204 00205 /* Function Name: XawPanedSetRefigureMode 00206 * Description: Allows a flag to be set the will inhibit 00207 * the paned widgets relayout routine. 00208 * Arguments: w - the paned widget. 00209 * mode - if FALSE then inhibit refigure. 00210 * Returns: none. 00211 */ 00212 00213 extern void XawPanedSetRefigureMode( 00214 #if NeedFunctionPrototypes 00215 Widget /* w */, 00216 #if NeedWidePrototypes 00217 /* Boolean */ int /* mode */ 00218 #else 00219 Boolean /* mode */ 00220 #endif 00221 #endif 00222 ); 00223 00224 /* Function Name: XawPanedGetNumSub 00225 * Description: Returns the number of panes in the paned widget. 00226 * Arguments: w - the paned widget. 00227 * Returns: the number of panes in the paned widget. 00228 */ 00229 00230 extern int XawPanedGetNumSub( 00231 #if NeedFunctionPrototypes 00232 Widget /* w */ 00233 #endif 00234 ); 00235 00236 /* Function Name: XawPanedAllowResize 00237 * Description: Allows a flag to be set that determines if the paned 00238 * widget will allow geometry requests from this child 00239 * Arguments: widget - a child of the paned widget. 00240 * Returns: none. 00241 */ 00242 00243 extern void XawPanedAllowResize( 00244 #if NeedFunctionPrototypes 00245 Widget /* w */, 00246 #if NeedWidePrototypes 00247 /* Boolean */ int /* allow_resize */ 00248 #else 00249 Boolean /* allow_resize */ 00250 #endif 00251 #endif 00252 ); 00253 00254 _XFUNCPROTOEND 00255 00256 #endif /* _XawPaned_h */