4 #include <InterViews/input.h>
5 #include <InterViews/event.h>
6 #include <InterViews/handler.h>
66 #if defined(__STDC__) || defined(__ANSI_CPP__) || defined(WIN32)
67 #define __HandlerCallback(T) T##_HandlerCallback
68 #define HandlerCallback(T) __HandlerCallback(T)
69 #define __HandlerMemberFunction(T) T##_HandlerMemberFunction
70 #define HandlerMemberFunction(T) __HandlerMemberFunction(T)
72 #define __HandlerCallback(T) T _HandlerCallback
73 #define HandlerCallback(T) __HandlerCallback(T)
74 #define __HandlerMemberFunction(T) T _HandlerMemberFunction
75 #define HandlerMemberFunction(T) __HandlerMemberFunction(T)
78 #define declareHandlerCallback(T) \
79 typedef void (T::*HandlerMemberFunction(T))(Event&); \
80 class HandlerCallback(T) \
83 HandlerCallback(T)(T*, HandlerMemberFunction(T)); \
84 virtual ~HandlerCallback(T)(); \
86 virtual void event(Event&); \
90 HandlerMemberFunction(T) func_; \
93 #define implementHandlerCallback(T) \
94 HandlerCallback(T)::HandlerCallback(T)(T * obj, HandlerMemberFunction(T) func) { \
99 HandlerCallback(T)::~HandlerCallback(T)() {} \
101 void HandlerCallback(T)::event(Event& e) { \