1 /**
2  *
3  * $Id: DesktopP.h,v 1.1 2004/08/28 19:23:24 dannybackx Exp $
4  *
5  * Copyright (C) 1995 Free Software Foundation, Inc.
6  * Copyright (C) 1995-2000 LessTif Development Team
7  *
8  * This file is part of the GNU LessTif Library.
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Library General Public
12  * License as published by the Free Software Foundation; either
13  * version 2 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Library General Public License for more details.
19  *
20  * You should have received a copy of the GNU Library General Public
21  * License along with this library; if not, write to the Free
22  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  *
24  **/
25 
26 #ifndef _XM_DESKTOPP_H
27 #define _XM_DESKTOPP_H
28 
29 #include <Xm/ExtObjectP.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #ifndef XmIsDesktopObject
36 #define XmIsDesktopObject(w)	XtIsSubclass(w, xmDesktopClass)
37 #endif
38 
39 typedef struct _XmDesktopRec *XmDesktopObject;
40 typedef struct _XmDesktopClassRec *XmDesktopObjectClass;
41 XMLIBEXPORT extern WidgetClass xmDesktopClass;
42 
43 typedef struct _XmDesktopClassPart {
44     WidgetClass		child_class;
45     XtWidgetProc	insert_child;
46     XtWidgetProc      	delete_child;
47     XtPointer		extension;
48 } XmDesktopClassPart, *XmDesktopClassPartPtr;
49 
50 typedef struct _XmDesktopClassRec {
51     ObjectClassPart		object_class;
52     XmExtClassPart		ext_class;
53     XmDesktopClassPart 		desktop_class;
54 } XmDesktopClassRec;
55 
56 typedef struct {
57     Widget		parent;
58     Widget		*children;
59     Cardinal		num_children;
60     Cardinal		num_slots;
61 } XmDesktopPart, *XmDesktopPartPtr;
62 
63 XMLIBEXPORT extern XmDesktopClassRec xmDesktopClassRec;
64 
65 typedef struct _XmDesktopRec {
66     ObjectPart			object;
67     XmExtPart			ext;
68     XmDesktopPart		desktop;
69 } XmDesktopRec;
70 
71 /*
72  * protos
73  */
74 XMLIBEXPORT extern WidgetClass _XmGetActualClass(Display *display,
75 				     WidgetClass w_class);
76 XMLIBEXPORT extern void _XmSetActualClass(Display *display,
77 			      WidgetClass w_class,
78 			      WidgetClass actualClass);
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 #endif /* _XM_DESKTOPP_H */
85