dtinfo subtree dtinfo
[oweals/cde.git] / cde / programs / dtinfo / dtinfo / src / Agents / create_macros.hh
1 // $XConsortium: create_macros.hh /main/3 1996/06/11 16:17:20 cde-hal $
2 #ifndef _create_macros_hh
3 #define _create_macros_hh
4
5 #define DECL(TYPE,VAR,PARENT,NAME) TYPE VAR (PARENT, NAME)
6 #define DECLC(TYPE,VAR,PARENT,NAME) TYPE VAR (PARENT, (char*)NAME)
7 #define DECLM(TYPE,VAR,PARENT,NAME) TYPE VAR (PARENT, NAME, WAutoManage)
8 #define DECLMC(TYPE,VAR,PARENT,NAME) TYPE VAR (PARENT, (char*)NAME, WAutoManage)
9 #define ASSN(TYPE,VAR,PARENT,NAME) VAR = TYPE (PARENT, NAME)
10 #define ASSNM(TYPE,VAR,PARENT,NAME) VAR = TYPE (PARENT, NAME, WAutoManage)
11
12 #define SET_CALLBACK(WOBJ,CBACK,FUNC) \
13   (WOBJ).CONCAT3(Set,CBACK,Callback) (this, (WWL_FUN) &CLASS::FUNC)
14 #define SET_CALLBACK_D(WOBJ,CBACK,FUNC,DATA) \
15   (WOBJ).CONCAT3(Set,CBACK,Callback) (this, (WWL_FUN) &CLASS::FUNC, \
16                                       (void *) DATA)
17
18 #define ON_ACTIVATE(WOBJ,FUNC) SET_CALLBACK(WOBJ,Activate,FUNC)
19 #define ON_ACTIVATE_D(WOBJ,FUNC,DATA) SET_CALLBACK_D(WOBJ,Activate,FUNC,DATA)
20
21 #define CALL_DATA(TYPE,NAME) \
22   TYPE *NAME = (TYPE *) wcb->CallData()
23
24 #ifndef CLASS
25   #error "CLASS macro must be defined!"
26 #endif
27
28 #endif /* _create_macros_hh */
29 /* DO NOT ADD ANY LINES AFTER THIS #endif */