// 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
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"
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_BASE wxClassInfo
{
friend class WXDLLIMPEXP_BASE wxPropertyInfo;
- friend class WXDLLIMPEXP_BASE wxHandlerInfo;
+ friend class /* WXDLLIMPEXP_BASE */ wxHandlerInfo;
friend wxObject *wxCreateDynamicObject(const wxString& name);
public:
// 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
wxPropertyInfoFn m_firstPropertyFn;
wxHandlerInfoFn m_firstHandlerFn;
- mutable bool m_firstInited;
protected:
void EnsureInfosInited() const
mutable wxHandlerInfo* m_firstHandler;
private:
+ mutable bool m_firstInited;
+
const wxClassInfo** m_parents;
const wxChar* m_unitName;
#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__