fixing xti problems

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22386 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2003-07-30 17:55:53 +00:00
parent b19f771f52
commit 4393b50ccd
4 changed files with 109 additions and 85 deletions

View File

@@ -33,9 +33,7 @@ class WXDLLIMPEXP_BASE wxObject;
#endif
#if wxUSE_EXTENDED_RTTI
#include "wx/xti.h"
#else
// ----------------------------------------------------------------------------

View File

@@ -152,7 +152,7 @@ protected:
wxObject *m_userData;
private:
DECLARE_CLASS(wxSizerItem);
DECLARE_CLASS(wxSizerItem)
DECLARE_NO_COPY_CLASS(wxSizerItem)
};
@@ -325,7 +325,7 @@ protected:
virtual bool DoSetItemMinSize( size_t index, int width, int height );
private:
DECLARE_CLASS(wxSizer);
DECLARE_CLASS(wxSizer)
};
//---------------------------------------------------------------------------
@@ -362,7 +362,7 @@ protected:
void SetItemBounds( wxSizerItem *item, int x, int y, int w, int h );
private:
DECLARE_CLASS(wxGridSizer);
DECLARE_CLASS(wxGridSizer)
};
//---------------------------------------------------------------------------
@@ -436,7 +436,7 @@ protected:
wxFlexSizerGrowMode m_growMode;
private:
DECLARE_CLASS(wxFlexGridSizer);
DECLARE_CLASS(wxFlexGridSizer)
DECLARE_NO_COPY_CLASS(wxFlexGridSizer)
};
@@ -467,7 +467,7 @@ protected:
int m_fixedHeight;
private:
DECLARE_CLASS(wxBoxSizer);
DECLARE_CLASS(wxBoxSizer)
};
//---------------------------------------------------------------------------
@@ -493,7 +493,7 @@ protected:
wxStaticBox *m_staticBox;
private:
DECLARE_CLASS(wxStaticBoxSizer);
DECLARE_CLASS(wxStaticBoxSizer)
DECLARE_NO_COPY_CLASS(wxStaticBoxSizer)
};
@@ -522,7 +522,7 @@ protected:
wxNotebook *m_notebook;
private:
DECLARE_CLASS(wxNotebookSizer);
DECLARE_CLASS(wxNotebookSizer)
DECLARE_NO_COPY_CLASS(wxNotebookSizer)
};

View File

@@ -291,7 +291,7 @@ private:
friend class WXDLLEXPORT wxTreeCtrl;
friend class WXDLLEXPORT wxGenericTreeCtrl;
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreeEvent);
DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreeEvent)
};
typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);

View File

@@ -191,7 +191,7 @@ void wxSetToString( wxString &s , const wxSet<e> &data )
}
// if the wxSet specialization above does not work for all compilers, add this to the WX_IMPLEMENT_SET_STREAMING macro
// template<> const wxTypeInfo* wxGetTypeInfo( SetName * ){ static wxEnumTypeInfo s_typeInfo(wxT_SET , &s_enumData##e) ; return &s_typeInfo ; }\
// template<> const wxTypeInfo* wxGetTypeInfo( SetName * ){ static wxEnumTypeInfo s_typeInfo(wxT_SET , &s_enumData##e) ; return &s_typeInfo ; }
#define WX_IMPLEMENT_SET_STREAMING(SetName,e) \
template<> void wxStringReadValue(const wxString &s , wxSet<e> &data ) \
@@ -421,7 +421,7 @@ public :
}
// stores the data
template<typename T> Set(T data) const
template<typename T> void Set(T data) const
{
delete m_data ;
m_data = new wxxVariantDataT<T>(data) ;
@@ -477,6 +477,9 @@ private :
class WXDLLIMPEXP_BASE wxPropertyAccessor
{
public :
class SetByRef ;
class SetAndGetByRef ;
class GetByRef ;
virtual void SetProperty(wxObject *object, const wxxVariant &value) const = 0 ;
virtual wxxVariant GetProperty(wxObject *object) const = 0 ;
virtual bool HasSetter() const = 0 ;
@@ -502,6 +505,7 @@ template<class Klass, typename T>
class WXDLLIMPEXP_BASE wxPropertyAccessorT : public wxPropertyAccessor
{
public:
typedef void (Klass::*setter_t)(T value);
typedef void (Klass::*setter_ref_t)(const T& value);
typedef T (Klass::*getter_t)() const;
@@ -509,16 +513,30 @@ public:
wxPropertyAccessorT(setter_t setter, getter_t getter, const wxChar *g, const wxChar *s)
: m_setter(setter), m_setter_ref(NULL), m_getter(getter) ,m_getter_ref(NULL) {m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(int WXUNUSED(zero), getter_t getter, const wxChar *g, const wxChar *s)
: m_setter(NULL), m_setter_ref(NULL), m_getter(getter) ,m_getter_ref(NULL) {m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(setter_ref_t setter, getter_t getter, const wxChar *g, const wxChar *s)
wxPropertyAccessorT( getter_t getter, const wxChar *g)
: m_setter(NULL), m_setter_ref(NULL), m_getter(getter) ,m_getter_ref(NULL) {m_setterName = "";m_getterName=g ;}
wxPropertyAccessorT(SetByRef*, setter_ref_t setter, getter_t getter, const wxChar *g, const wxChar *s)
: m_setter(NULL), m_setter_ref(setter), m_getter(getter) , m_getter_ref(NULL){m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(setter_ref_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
// wxPropertyAccessorT(setter_ref_t setter, getter_t getter, const wxChar *g, const wxChar *s)
// : m_setter(NULL), m_setter_ref(setter), m_getter(getter) , m_getter_ref(NULL){m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(SetAndGetByRef*, setter_ref_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
: m_setter(NULL), m_setter_ref(setter), m_getter(NULL) , m_getter_ref(getter){m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(setter_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
// wxPropertyAccessorT(setter_ref_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
// : m_setter(NULL), m_setter_ref(setter), m_getter(NULL) , m_getter_ref(getter){m_setterName = s;m_getterName=g ;}
// wxPropertyAccessorT(setter_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
// : m_setter(NULL), m_setter(setter), m_getter(NULL) , m_getter_ref(getter){m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(GetByRef*, setter_t setter, getter_ref_t getter, const wxChar *g, const wxChar *s)
: m_setter(NULL), m_setter(setter), m_getter(NULL) , m_getter_ref(getter){m_setterName = s;m_getterName=g ;}
wxPropertyAccessorT(int WXUNUSED(zero), getter_ref_t getter, const wxChar *g, const wxChar *s)
: m_setter(NULL), m_setter(NULL), m_getter(NULL) , m_getter_ref(getter){m_setterName = s;m_getterName=g ;}
// wxPropertyAccessorT( getter_ref_t getter, const wxChar *g)
// : m_setter(NULL), m_setter(NULL), m_getter(NULL) , m_getter_ref(getter){m_setterName = "";m_getterName=g ;}
// returns true if this accessor has a setter
bool HasSetter() const { return m_setter != NULL || m_setter_ref != NULL ; }
@@ -648,7 +666,15 @@ private :
return first ; }
#define WX_PROPERTY( name , type , setter , getter ,defaultValue ) \
static wxPropertyAccessorT<class_t , type> _accessor##name( setter , getter , #setter , #getter ) ; \
static wxPropertyAccessorT<class_t , type> _accessor##name( &setter , &getter , #setter , #getter ) ; \
static wxPropertyInfo _propertyInfo##name( first , #name , #type , wxGetTypeInfo( (type*) NULL ) ,&_accessor##name , wxxVariant(defaultValue) ) ;
#define WX_PROPERTY_SET_BY_REF( name , type , setter , getter ,defaultValue ) \
static wxPropertyAccessorT<class_t , type> _accessor##name( (wxPropertyAccessor::SetByRef*)NULL, &setter , &getter , #setter , #getter ) ; \
static wxPropertyInfo _propertyInfo##name( first , #name , #type , wxGetTypeInfo( (type*) NULL ) ,&_accessor##name , wxxVariant(defaultValue) ) ;
#define WX_READONLY_PROPERTY( name , type , getter ,defaultValue ) \
static wxPropertyAccessorT<class_t , type> _accessor##name( &getter , #getter ) ; \
static wxPropertyInfo _propertyInfo##name( first , #name , #type , wxGetTypeInfo( (type*) NULL ) ,&_accessor##name , wxxVariant(defaultValue) ) ;
#define WX_DELEGATE( name , eventType , eventClass ) \