]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xtihandler.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / include / wx / xtihandler.h
index a7aa7b2cdebd4cec109233555c10ec808960f838..c63ddb3a368e7eefeadff1c15bb8793a295bb360 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Stefan Csomor
 // Modified by: Francesco Montorsi
 // Created:     27/07/03
 // Author:      Stefan Csomor
 // Modified by: Francesco Montorsi
 // Created:     27/07/03
-// RCS-ID:      $Id$
 // Copyright:   (c) 1997 Julian Smart
 //              (c) 2003 Stefan Csomor
 // Licence:     wxWindows licence
 // Copyright:   (c) 1997 Julian Smart
 //              (c) 2003 Stefan Csomor
 // Licence:     wxWindows licence
 
 #if wxUSE_EXTENDED_RTTI
 
 
 #if wxUSE_EXTENDED_RTTI
 
-#include "wx/string.h"
+#include "wx/xti.h"
 
 
-class WXDLLIMPEXP_BASE wxObject;
-class WXDLLIMPEXP_BASE wxClassInfo;
-class WXDLLIMPEXP_BASE wxDynamicClassInfo;
-class WXDLLIMPEXP_BASE wxHashTable;
-class WXDLLIMPEXP_BASE wxHashTable_Node;
-class WXDLLIMPEXP_BASE wxObjectRefData;
-class WXDLLIMPEXP_BASE wxEvent;
-class WXDLLIMPEXP_BASE wxEvtHandler;
+// copied from event.h which cannot be included at this place
 
 
-typedef void (wxObject::*wxObjectEventFunction)(wxEvent&);
+class WXDLLIMPEXP_FWD_BASE wxEvent;
+
+#ifdef __VISUALC__
+#define wxMSVC_FWD_MULTIPLE_BASES __multiple_inheritance
+#else
+#define wxMSVC_FWD_MULTIPLE_BASES
+#endif
+
+class WXDLLIMPEXP_FWD_BASE wxMSVC_FWD_MULTIPLE_BASES wxEvtHandler;
+typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
+typedef wxEventFunction wxObjectEventFunction;
 
 // ----------------------------------------------------------------------------
 // Handler Info
 
 // ----------------------------------------------------------------------------
 // Handler Info
@@ -91,7 +93,7 @@ private:
 #define wxHANDLER(name,eventClassType)                                               \
     static wxHandlerInfo _handlerInfo##name( first, class_t::GetClassInfoStatic(),   \
                     wxT(#name), (wxObjectEventFunction) (wxEventFunction) &name,     \
 #define wxHANDLER(name,eventClassType)                                               \
     static wxHandlerInfo _handlerInfo##name( first, class_t::GetClassInfoStatic(),   \
                     wxT(#name), (wxObjectEventFunction) (wxEventFunction) &name,     \
-                    CLASSINFO( eventClassType ) );
+                    wxCLASSINFO( eventClassType ) );
 
 #define wxBEGIN_HANDLERS_TABLE(theClass)          \
     wxHandlerInfo *theClass::GetHandlersStatic()  \
 
 #define wxBEGIN_HANDLERS_TABLE(theClass)          \
     wxHandlerInfo *theClass::GetHandlersStatic()  \