wxObject *CreateObject() { return m_objectConstructor ? (*m_objectConstructor)() : 0; }
const wxChar *GetClassName() const { return m_className; }
- const wxChar *GetBaseClassName1() const { return m_baseInfo1->GetClassName(); }
- const wxChar *GetBaseClassName2() const { return m_baseInfo2->GetClassName(); }
+ const wxChar *GetBaseClassName1() const
+ { return m_baseInfo1 ? m_baseInfo1->GetClassName() : NULL; }
+ const wxChar *GetBaseClassName2() const
+ { return m_baseInfo2 ? m_baseInfo2->GetClassName() : NULL; }
const wxClassInfo *GetBaseClass1() const { return m_baseInfo1; }
const wxClassInfo *GetBaseClass2() const { return m_baseInfo2; }
int GetSize() const { return m_objectSize; }
#endif // WXDEBUG && wxUSE_MEMORY_TRACING
-#if wxUSE_STD_IOSTREAM && (defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT)
-// needed by wxObject::Dump
-#include "wx/iosfwrap.h"
-#endif
-
// ----------------------------------------------------------------------------
// wxObject: the root class of wxWindows object hierarchy
// ----------------------------------------------------------------------------
void operator delete[] (void* buf, const wxChar*, int );
#endif
-
-#if wxUSE_STD_IOSTREAM && (defined(__WXDEBUG__) || wxUSE_DEBUG_CONTEXT)
- virtual void Dump(wxSTD ostream& str);
-#endif
-
// ref counted data handling methods
// get/set
#if wxUSE_EXTENDED_RTTI
class WXDLLIMPEXP_BASE wxDynamicObject : public wxObject
{
+ friend class WXDLLIMPEXP_BASE wxDynamicClassInfo ;
public:
// instantiates this object with an instance of its superclass
wxDynamicObject(wxObject* superClassInstance, const wxDynamicClassInfo *info) ;
~wxDynamicObject();
- void SetProperty (const wxChar *PropertyName, const wxxVariant &Value);
- wxxVariant GetProperty (const wxChar *PropertyName) const ;
+ void SetProperty (const wxChar *propertyName, const wxxVariant &value);
+ wxxVariant GetProperty (const wxChar *propertyName) const ;
// get the runtime identity of this object
wxClassInfo *GetClassInfo() const
return m_superClassInstance ;
}
private :
+ // removes an existing runtime-property
+ void RemoveProperty( const wxChar *propertyName ) ;
+
+ // renames an existing runtime-property
+ void RenameProperty( const wxChar *oldPropertyName , const wxChar *newPropertyName ) ;
+
wxObject *m_superClassInstance ;
const wxDynamicClassInfo *m_classInfo;
struct wxDynamicObjectInternal;