Merge branch 'cde-fixups-1' of ssh://git.code.sf.net/p/cdesktopenv/code into cde...
[oweals/cde.git] / cde / lib / DtWidget / Control.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these libraries and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: Control.h /main/4 1995/10/26 09:30:15 rswiston $ */
24 /**---------------------------------------------------------------------
25 ***     
26 ***     file:           Control.h
27 ***
28 ***     project:        MotifPlus Widgets
29 ***
30 ***     description:    Public include file for DtControl class.
31 ***     
32 ***     
33 ***                     (c) Copyright 1992 by Hewlett-Packard Company.
34 ***
35 ***
36 ***-------------------------------------------------------------------*/
37
38
39 #ifndef _DtControl_h
40 #define _DtControl_h
41
42 #include <Xm/Xm.h>
43
44 #if defined(__cplusplus) || defined(c_plusplus)
45 extern "C" {
46 #endif
47
48 #define XmCONTROL_NONE          0
49 #define XmCONTROL_BLANK         1
50 #define XmCONTROL_BUSY          2
51 #define XmCONTROL_BUTTON        3
52 #define XmCONTROL_CLIENT        4
53 #define XmCONTROL_DATE          5
54 #define XmCONTROL_MAIL          6
55 #define XmCONTROL_MONITOR       7
56 #define XmCONTROL_SWITCH        8
57
58 #define NUM_LIST_ITEMS          10
59
60 #define XmCR_BUSY_START         60
61 #define XmCR_BUSY_STOP          61
62 #define XmCR_MONITOR            62
63
64 #define DtMONITOR_OFF           0
65 #define DtMONITOR_ON            1
66
67 #define XmNuseLabelAdjustment   "use_label_adjustment"
68
69 #ifndef DtIsControl
70 #define DtIsControl(w) XtIsSubclass(w, dtControlGadgetClass)
71 #endif /* DtIsControl */
72
73
74 extern Widget _DtCreateControl (Widget, String, ArgList, int);
75 extern void _DtControlSetFileChanged (Widget, Boolean);
76 extern void _DtControlSetBusy (Widget, Boolean);
77 extern void _DtControlAddDropAnimationImage (Widget, String, int);
78 extern void _DtControlDoDropAnimation (Widget);
79 extern void _DtControlAddPushAnimationImage (Widget, String, int);
80 extern void _DtControlDoPushAnimation (Widget);
81 extern char _DtControlGetMonitorState(Widget);
82
83
84 extern WidgetClass dtControlGadgetClass;
85
86 typedef struct _DtControlClassRec * DtControlClass;
87 typedef struct _DtControlRec      * DtControlGadget;
88
89 #define XmCR_FILE_CHANGED       51
90
91 typedef struct
92     {
93     int                  reason;
94     XEvent              *event;
95     Boolean              set;
96     unsigned char        control_type;
97     XtPointer            push_function;
98     XtPointer            push_argument;
99     Widget               subpanel;
100     long                 file_size;
101     }   DtControlCallbackStruct;
102
103 #if defined(__cplusplus) || defined(c_plusplus)
104 }  /* Close scope of 'extern "C"' declaration which encloses file. */
105 #endif
106
107
108 #endif /* _DtControl_h */
109 /* DON'T ADD ANYTHING AFTER THIS #endif */