class WXDLLIMPEXP_FWD_BASE wxStringToAnyHashMap;
class WXDLLIMPEXP_FWD_BASE wxPropertyInfoMap;
class WXDLLIMPEXP_FWD_BASE wxPropertyAccessor;
+class WXDLLIMPEXP_FWD_BASE wxObjectAllocatorAndCreator;
+class WXDLLIMPEXP_FWD_BASE wxObjectAllocator;
+
#define wx_dynamic_cast(t, x) dynamic_cast<t>(x)
#include "wx/xtitypes.h"
-#include "wx/xtictor.h"
#include "wx/xtihandler.h"
// ----------------------------------------------------------------------------
// direct construction call for classes that cannot construct instances via alloc/create
wxObject *ConstructObject(int ParamCount, wxAny *Params) const;
- bool NeedsDirectConstruction() const
- { return wx_dynamic_cast(wxObjectAllocator*, m_constructor) != NULL; }
-
+ bool NeedsDirectConstruction() const;
+
const wxChar *GetClassName() const
{ return m_className; }
const wxChar *GetBaseClassName1() const
#define wxDECLARE_ABSTRACT_CLASS(name) _DECLARE_DYNAMIC_CLASS(name)
#define wxCLASSINFO(name) (&name::ms_classInfo)
-// --------------------------------------------------------------------------
-// Collection Support
-// --------------------------------------------------------------------------
-
-template<typename iter, typename collection_t > void wxListCollectionToAnyList(
- const collection_t& coll, wxAnyList &value )
-{
- for ( collection_t::compatibility_iterator current = coll.GetFirst(); current;
- current = current->GetNext() )
- {
- value.Append( new wxAny(current->GetData()) );
- }
-}
-
-template<typename collection_t> void wxArrayCollectionToVariantArray(
- const collection_t& coll, wxAnyList &value )
-{
- for( size_t i = 0; i < coll.GetCount(); i++ )
- {
- value.Append( new wxAny(coll[i]) );
- }
-}
-
#endif // wxUSE_EXTENDED_RTTI
#endif // _WX_XTIH__
};
#include "wx/xtiprop.h"
+#include "wx/xtictor.h"
// ----------------------------------------------------------------------------
// wxIMPLEMENT class macros for concrete classes
void wxFromStringConverter( const wxString &s, wxAny &v)
{ T d; wxStringReadValue(s, d); v = wxAny(d); }
+// --------------------------------------------------------------------------
+// Collection Support
+// --------------------------------------------------------------------------
+
+template<typename iter, typename collection_t > void wxListCollectionToAnyList(
+ const collection_t& coll, wxAnyList &value )
+{
+ for ( iter current = coll.GetFirst(); current;
+ current = current->GetNext() )
+ {
+ value.Append( new wxAny(current->GetData()) );
+ }
+}
+
+template<typename collection_t> void wxArrayCollectionToVariantArray(
+ const collection_t& coll, wxAnyList &value )
+{
+ for( size_t i = 0; i < coll.GetCount(); i++ )
+ {
+ value.Append( new wxAny(coll[i]) );
+ }
+}
+
#endif
#endif // _WX_XTIH2__
return m_objectToVariantConverter(obj);
}
+bool wxClassInfo::NeedsDirectConstruction() const
+{
+ return wx_dynamic_cast(wxObjectAllocator*, m_constructor) != NULL;
+}
+
// ----------------------------------------------------------------------------
// wxDynamicObject support
// ----------------------------------------------------------------------------