1 /* $Xorg: ShellP.h,v 1.4 2001/02/09 02:03:58 xorgcvs Exp $ */
3 /***********************************************************
5 Copyright 1987, 1988, 1994, 1998 The Open Group
7 Permission to use, copy, modify, distribute, and sell this software and its
8 documentation for any purpose is hereby granted without fee, provided that
9 the above copyright notice appear in all copies and that both that
10 copyright notice and this permission notice appear in supporting
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 Except as contained in this notice, the name of The Open Group shall not be
24 used in advertising or otherwise to promote the sale, use or other dealings
25 in this Software without prior written authorization from The Open Group.
28 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
32 Permission to use, copy, modify, and distribute this software and its
33 documentation for any purpose and without fee is hereby granted,
34 provided that the above copyright notice appear in all copies and that
35 both that copyright notice and this permission notice appear in
36 supporting documentation, and that the name of Digital not be
37 used in advertising or publicity pertaining to distribution of the
38 software without specific, written prior permission.
40 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
41 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
42 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
43 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
44 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
45 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
48 ******************************************************************/
51 * ShellP.h - Private definitions for Shell widget
54 * Digital Equipment Corporation
55 * Western Software Laboratory
56 * Date: Thu Dec 3, 1987
59 #ifndef _XtShellPrivate_h
60 #define _XtShellPrivate_h
62 #include <X11/Shell.h>
65 * ***** VendorP.h is included later on; it needs fields defined in the first
66 * ***** part of this header file
70 /***********************************************************************
72 * Shell Widget Private Data
74 ***********************************************************************/
76 /* New fields for the Shell widget class record */
79 XtPointer extension
; /* pointer to extension record */
83 XtPointer next_extension
; /* 1st 4 mandated for all extension records */
84 XrmQuark record_type
; /* NULLQUARK; on ShellClassPart */
85 long version
; /* must be XtShellExtensionVersion */
86 Cardinal record_size
; /* sizeof(ShellClassExtensionRec) */
87 XtGeometryHandler root_geometry_manager
;
88 } ShellClassExtensionRec
, *ShellClassExtension
;
90 #define XtShellExtensionVersion 1L
91 #define XtInheritRootGeometryManager ((XtGeometryHandler)_XtInherit)
93 typedef struct _ShellClassRec
{
94 CoreClassPart core_class
;
95 CompositeClassPart composite_class
;
96 ShellClassPart shell_class
;
99 externalref ShellClassRec shellClassRec
;
101 /* New fields for the shell widget */
105 XtCreatePopupChildProc create_popup_child_proc
;
106 XtGrabKind grab_kind
;
107 Boolean spring_loaded
;
109 Boolean allow_shell_resize
;
110 Boolean client_specified
; /* re-using old name */
111 #define _XtShellPositionValid ((Boolean)(1<<0))
112 #define _XtShellNotReparented ((Boolean)(1<<1))
113 #define _XtShellPPositionOK ((Boolean)(1<<2))
114 #define _XtShellGeometryParsed ((Boolean)(1<<3))
116 Boolean override_redirect
;
118 XtCallbackList popup_callback
;
119 XtCallbackList popdown_callback
;
125 CompositePart composite
;
127 } ShellRec
, *ShellWidget
;
129 /***********************************************************************
131 * OverrideShell Widget Private Data
133 ***********************************************************************/
135 /* New fields for the OverrideShell widget class record */
138 XtPointer extension
; /* pointer to extension record */
139 } OverrideShellClassPart
;
141 typedef struct _OverrideShellClassRec
{
142 CoreClassPart core_class
;
143 CompositeClassPart composite_class
;
144 ShellClassPart shell_class
;
145 OverrideShellClassPart override_shell_class
;
146 } OverrideShellClassRec
;
148 externalref OverrideShellClassRec overrideShellClassRec
;
150 /* No new fields for the override shell widget */
152 typedef struct {int frabjous
;} OverrideShellPart
;
156 CompositePart composite
;
158 OverrideShellPart override
;
159 } OverrideShellRec
, *OverrideShellWidget
;
161 /***********************************************************************
163 * WMShell Widget Private Data
165 ***********************************************************************/
167 /* New fields for the WMShell widget class record */
170 XtPointer extension
; /* pointer to extension record */
173 typedef struct _WMShellClassRec
{
174 CoreClassPart core_class
;
175 CompositeClassPart composite_class
;
176 ShellClassPart shell_class
;
177 WMShellClassPart wm_shell_class
;
180 externalref WMShellClassRec wmShellClassRec
;
182 /* New fields for the WM shell widget */
190 Widget client_leader
;
192 struct _OldXSizeHints
{ /* pre-R4 Xlib structure */
196 int min_width
, min_height
;
197 int max_width
, max_height
;
198 int width_inc
, height_inc
;
202 } min_aspect
, max_aspect
;
205 int base_width
, base_height
;
212 CompositePart composite
;
215 } WMShellRec
, *WMShellWidget
;
217 #include <X11/VendorP.h>
219 /***********************************************************************
221 * TransientShell Widget Private Data
223 ***********************************************************************/
225 /* New fields for the TransientShell widget class record */
228 XtPointer extension
; /* pointer to extension record */
229 } TransientShellClassPart
;
231 typedef struct _TransientShellClassRec
{
232 CoreClassPart core_class
;
233 CompositeClassPart composite_class
;
234 ShellClassPart shell_class
;
235 WMShellClassPart wm_shell_class
;
236 VendorShellClassPart vendor_shell_class
;
237 TransientShellClassPart transient_shell_class
;
238 } TransientShellClassRec
;
240 externalref TransientShellClassRec transientShellClassRec
;
242 /* New fields for the transient shell widget */
245 Widget transient_for
;
246 } TransientShellPart
;
250 CompositePart composite
;
253 VendorShellPart vendor
;
254 TransientShellPart transient
;
255 } TransientShellRec
, *TransientShellWidget
;
257 /***********************************************************************
259 * TopLevelShell Widget Private Data
261 ***********************************************************************/
263 /* New fields for the TopLevelShell widget class record */
266 XtPointer extension
; /* pointer to extension record */
267 } TopLevelShellClassPart
;
269 typedef struct _TopLevelShellClassRec
{
270 CoreClassPart core_class
;
271 CompositeClassPart composite_class
;
272 ShellClassPart shell_class
;
273 WMShellClassPart wm_shell_class
;
274 VendorShellClassPart vendor_shell_class
;
275 TopLevelShellClassPart top_level_shell_class
;
276 } TopLevelShellClassRec
;
278 externalref TopLevelShellClassRec topLevelShellClassRec
;
280 /* New fields for the top level shell widget */
285 Atom icon_name_encoding
;
290 CompositePart composite
;
293 VendorShellPart vendor
;
294 TopLevelShellPart topLevel
;
295 } TopLevelShellRec
, *TopLevelShellWidget
;
297 /***********************************************************************
299 * ApplicationShell Widget Private Data
301 ***********************************************************************/
303 /* New fields for the ApplicationShell widget class record */
306 XtPointer extension
; /* pointer to extension record */
307 } ApplicationShellClassPart
;
309 typedef struct _ApplicationShellClassRec
{
310 CoreClassPart core_class
;
311 CompositeClassPart composite_class
;
312 ShellClassPart shell_class
;
313 WMShellClassPart wm_shell_class
;
314 VendorShellClassPart vendor_shell_class
;
315 TopLevelShellClassPart top_level_shell_class
;
316 ApplicationShellClassPart application_shell_class
;
317 } ApplicationShellClassRec
;
319 externalref ApplicationShellClassRec applicationShellClassRec
;
321 /* New fields for the application shell widget */
324 #if defined(__cplusplus) || defined(c_plusplus)
332 } ApplicationShellPart
;
336 CompositePart composite
;
339 VendorShellPart vendor
;
340 TopLevelShellPart topLevel
;
341 ApplicationShellPart application
;
342 } ApplicationShellRec
, *ApplicationShellWidget
;
344 /***********************************************************************
346 * SessionShell Widget Private Data
348 ***********************************************************************/
350 /* New fields for the SessionShell widget class record */
353 XtPointer extension
; /* pointer to extension record */
354 } SessionShellClassPart
;
356 typedef struct _SessionShellClassRec
{
357 CoreClassPart core_class
;
358 CompositeClassPart composite_class
;
359 ShellClassPart shell_class
;
360 WMShellClassPart wm_shell_class
;
361 VendorShellClassPart vendor_shell_class
;
362 TopLevelShellClassPart top_level_shell_class
;
363 ApplicationShellClassPart application_shell_class
;
364 SessionShellClassPart session_shell_class
;
365 } SessionShellClassRec
;
367 externalref SessionShellClassRec sessionShellClassRec
;
369 typedef struct _XtSaveYourselfRec
*XtSaveYourself
; /* implementation-private */
371 /* New fields for the session shell widget */
376 String
* restart_command
;
377 String
* clone_command
;
378 String
* discard_command
;
379 String
* resign_command
;
380 String
* shutdown_command
;
384 unsigned char restart_style
;
385 unsigned char checkpoint_state
;
386 Boolean join_session
;
387 XtCallbackList save_callbacks
;
388 XtCallbackList interact_callbacks
;
389 XtCallbackList cancel_callbacks
;
390 XtCallbackList save_complete_callbacks
;
391 XtCallbackList die_callbacks
;
392 XtCallbackList error_callbacks
;
419 CompositePart composite
;
422 VendorShellPart vendor
;
423 TopLevelShellPart topLevel
;
424 ApplicationShellPart application
;
425 SessionShellPart session
;
426 } SessionShellRec
, *SessionShellWidget
;
428 #endif /* _XtShellPrivate_h */