1 /*
2  * Motif Tools Library, Version 3.1
3  * $Id: WidgetType.h,v 1.1.1.1 2001/02/10 13:51:26 motiftools Exp $
4  *
5  * Written by David Flanagan.
6  * Copyright (c) 1992-2001 by David Flanagan.
7  * All Rights Reserved.  See the file COPYRIGHT for details.
8  * This is open source software.  See the file LICENSE for details.
9  * There is no warranty for this software.  See NO_WARRANTY for details.
10  *
11  * $Log: WidgetType.h,v $
12  * Revision 1.1.1.1  2001/02/10 13:51:26  motiftools
13  * Initial import of Xmt310 to CVS
14  *
15  *
16  */
17 
18 #ifndef _XmtWidgetType_h
19 #define _XmtWidgetType_h
20 
21 typedef Widget (*XmtWidgetConstructor)(
22 #if NeedFunctionPrototypes
23 				       Widget, String, ArgList, Cardinal
24 #endif
25 				       );
26 typedef void (*XmtSetValueProc)(
27 #if NeedFunctionPrototypes
28 				Widget, XtPointer, XrmQuark, Cardinal
29 #endif
30 				);
31 typedef void (*XmtGetValueProc)(
32 #if NeedFunctionPrototypes
33 				Widget, XtPointer, XrmQuark, Cardinal
34 #endif
35 				);
36 
37 typedef struct {
38     String name;
39     WidgetClass wclass;
40     XmtWidgetConstructor constructor;
41     XmtSetValueProc set_value_proc;
42     XmtGetValueProc get_value_proc;
43     int popup;
44 } XmtWidgetType;
45 
46 _XFUNCPROTOBEGIN
47 #if NeedFunctionPrototypes
48 extern void XmtRegisterWidgetClass(StringConst, WidgetClass);
49 extern void XmtRegisterWidgetConstructor(StringConst, XmtWidgetConstructor);
50 extern void XmtRegisterPopupClass(StringConst, WidgetClass);
51 extern void XmtRegisterPopupConstructor(StringConst, XmtWidgetConstructor);
52 extern void XmtRegisterWidgetTypes(XmtWidgetType *, Cardinal);
53 extern XmtWidgetType *XmtLookupWidgetType(StringConst);
54 extern Widget XmtCreateWidgetType(StringConst, XmtWidgetType*, Widget,
55 				  ArgList, Cardinal);
56 extern void XmtRegisterMotifWidgets(void);
57 extern void XmtRegisterXmtWidgets(void);
58 extern void XmtRegisterXmText(void);
59 extern void XmtRegisterXmScrolledText(void);
60 extern void XmtRegisterXmTextField(void);
61 extern void XmtRegisterXmToggleButton(void);
62 extern void XmtRegisterXmScale(void);
63 #else
64 extern void XmtRegisterWidgetClass();
65 extern void XmtRegisterWidgetConstructor();
66 extern void XmtRegisterPopupClass();
67 extern void XmtRegisterPopupConstructor();
68 extern void XmtRegisterWidgetTypes();
69 extern XmtWidgetType *XmtLookupWidgetType();
70 extern Widget XmtCreateWidgetType();
71 extern void XmtRegisterMotifWidgets();
72 extern void XmtRegisterXmtWidgets();
73 extern void XmtRegisterXmText();
74 extern void XmtRegisterXmScrolledText();
75 extern void XmtRegisterXmTextField();
76 extern void XmtRegisterXmToggleButton();
77 extern void XmtRegisterXmScale();
78 #endif
79 
80 #if NeedVarargsPrototypes
81 extern void XmtVaRegisterWidgetClasses(StringConst, WidgetClass, ...);
82 extern void XmtVaRegisterWidgetConstructors(StringConst,
83 					    XmtWidgetConstructor,...);
84 #else
85 extern void XmtVaRegisterWidgetClasses();
86 extern void XmtVaRegisterWidgetConstructors();
87 #endif
88 _XFUNCPROTOEND
89 
90 #endif
91