]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xtihandler.h
Use wmain() if supported by the compiler/CRT instead of main().
[wxWidgets.git] / include / wx / xtihandler.h
index a7aa7b2cdebd4cec109233555c10ec808960f838..de4d3e9d2109461c0039930e11c1d598fc4987ff 100644 (file)
 
 #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
@@ -91,7 +94,7 @@ private:
 #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()  \