-#if wxUSE_EXTENDED_RTTI
-class WXDLLIMPEXP_BASE wxDynamicObject : public wxObject
-{
- friend class WXDLLIMPEXP_FWD_BASE wxDynamicClassInfo ;
-public:
- // instantiates this object with an instance of its superclass
- wxDynamicObject(wxObject* superClassInstance, const wxDynamicClassInfo *info) ;
- virtual ~wxDynamicObject();
-
- void SetProperty (const wxChar *propertyName, const wxxVariant &value);
- wxxVariant GetProperty (const wxChar *propertyName) const ;
-
- // get the runtime identity of this object
- wxClassInfo *GetClassInfo() const
- {
-#ifdef _MSC_VER
- return (wxClassInfo*) m_classInfo;
-#else
- wxDynamicClassInfo *nonconst = const_cast<wxDynamicClassInfo *>(m_classInfo);
- return static_cast<wxClassInfo *>(nonconst);
-#endif
- }
-
- wxObject* GetSuperClassInstance() 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;
- wxDynamicObjectInternal *m_data;
-};
-#endif