wxIMPLEMENT_CLASS_COMMON(name, basename, NULL, func)
#define wxIMPLEMENT_CLASS_COMMON2(name, basename1, basename2, func) \
- wxIMPLEMENT_CLASS_COMMON(name, basename1, &basename2::ms_classInfo)
+ wxIMPLEMENT_CLASS_COMMON(name, basename1, &basename2::ms_classInfo, func)
// -----------------------------------
// for concrete classes
((className *)wxCheckCast(wxDynamicCast(obj, className)))
#else // !__WXDEBUG__
-#define wxStaticCast(obj, className) wx_static_cast(className *, obj)
+#define wxStaticCast(obj, className) \
+ wx_const_cast(className *, wx_static_cast(const className *, obj))
#endif // __WXDEBUG__
#endif // wxUSE_ARRAY_MEMORY_OPERATORS
-#endif // WXDEBUG && wxUSE_MEMORY_TRACING
+#endif // __WXDEBUG__ && wxUSE_MEMORY_TRACING
// ----------------------------------------------------------------------------
// wxObject: the root class of wxWidgets object hierarchy
// destroy a reference
void UnRef();
+
+ // Reserved for future use
+ virtual void ReservedObjectFunc1() {}
+ virtual void ReservedObjectFunc2() {}
+ virtual void ReservedObjectFunc3() {}
+ virtual void ReservedObjectFunc4() {}
+ virtual void ReservedObjectFunc5() {}
+ virtual void ReservedObjectFunc6() {}
+ virtual void ReservedObjectFunc7() {}
+ virtual void ReservedObjectFunc8() {}
+ virtual void ReservedObjectFunc9() {}
+
protected:
// ensure that our data is not shared with anybody else: if we have no
// data, it is created using CreateRefData() below, if we have shared data