]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/rtti.h
Dramatically optimise inserting many items in wxGenericListCtrl.
[wxWidgets.git] / include / wx / rtti.h
index 21deb577ab0423ccba8fc60b8cbad279455d3903..fcd463e869af586b87f33d7fe5390f2da37cd21c 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by: Ron Lee
 // Created:     01/02/97
-// RCS-ID:      $Id: rtti.h 48412 2007-08-27 17:04:02Z FM $
+// RCS-ID:      $Id$
 // Copyright:   (c) 1997 Julian Smart
 //              (c) 2001 Ron Lee <ron@debian.org>
 // Licence:     wxWindows licence
@@ -26,6 +26,7 @@
 // ----------------------------------------------------------------------------
 
 class WXDLLIMPEXP_FWD_BASE wxObject;
+class WXDLLIMPEXP_FWD_BASE wxString;
 class WXDLLIMPEXP_FWD_BASE wxClassInfo;
 class WXDLLIMPEXP_FWD_BASE wxHashTable;
 class WXDLLIMPEXP_FWD_BASE wxObject;
@@ -91,7 +92,7 @@ public:
                  ( m_baseInfo2 && m_baseInfo2->IsKindOf(info) ) );
     }
 
-    wxDECLARE_CLASS_INFO_ITERATORS()
+    wxDECLARE_CLASS_INFO_ITERATORS();
 
 private:
     const wxChar            *m_className;
@@ -116,10 +117,10 @@ protected:
     void Register();
     void Unregister();
 
-    DECLARE_NO_COPY_CLASS(wxClassInfo)
+    wxDECLARE_NO_COPY_CLASS(wxClassInfo);
 };
 
-WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
+WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name);
 
 // ----------------------------------------------------------------------------
 // Dynamic class macros
@@ -143,7 +144,7 @@ WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
     static wxObject* wxCreateObject()
 
 #define wxDECLARE_CLASS(name)                                                 \
-    wxDECLARE_DYNAMIC_CLASS(name)
+    wxDECLARE_ABSTRACT_CLASS(name)
 
 
 // common part of the macros below
@@ -192,12 +193,6 @@ WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
 #define wxIMPLEMENT_ABSTRACT_CLASS2(name, basename1, basename2)               \
     wxIMPLEMENT_CLASS_COMMON2(name, basename1, basename2, NULL)
 
-#define wxIMPLEMENT_CLASS(name, basename)                                     \
-    wxIMPLEMENT_ABSTRACT_CLASS(name, basename)
-
-#define wxIMPLEMENT_CLASS2(name, basename1, basename2)                        \
-    IMPLEMENT_ABSTRACT_CLASS2(name, basename1, basename2)
-
 // -----------------------------------
 // XTI-compatible macros
 // -----------------------------------
@@ -232,11 +227,13 @@ WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
 #define wxBEGIN_HANDLERS_TABLE(theClass) wxEMPTY_PARAMETER_VALUE
 #define wxEND_HANDLERS_TABLE() wxEMPTY_PARAMETER_VALUE
 
-#define wxIMPLEMENT_DYNAMIC_CLASS_XTI( name, basename, unit ) wxIMPLEMENT_DYNAMIC_CLASS( name, basename )
+#define wxIMPLEMENT_DYNAMIC_CLASS_XTI( name, basename, unit ) \
+    wxIMPLEMENT_DYNAMIC_CLASS( name, basename )
 #define wxIMPLEMENT_DYNAMIC_CLASS_XTI_CALLBACK( name, basename, unit, callback ) \
-        wxEMPTY_PARAMETER_VALUE
+    wxIMPLEMENT_DYNAMIC_CLASS( name, basename )
 
-#define wxIMPLEMENT_DYNAMIC_CLASS_WITH_COPY_XTI( name, basename, unit ) wxEMPTY_PARAMETER_VALUE
+#define wxIMPLEMENT_DYNAMIC_CLASS_WITH_COPY_XTI( name, basename, unit ) \
+    wxIMPLEMENT_DYNAMIC_CLASS( name, basename)
 
 #define wxIMPLEMENT_DYNAMIC_CLASS_WITH_COPY_AND_STREAMERS_XTI( name, basename,  \
                                                              unit, toString,    \