# define wxTEMPLATED_MEMBER_CALL( method , type ) method<type>()
# define wxTEMPLATED_MEMBER_FIX( type )
#else
-# define wxTEMPLATED_MEMBER_CALL( method , type ) method((type*)NULL)
+# define wxTEMPLATED_MEMBER_CALL( method , type ) method(NULL)
# define wxTEMPLATED_MEMBER_FIX( type ) type* =NULL
#endif
#define EMPTY_MACROVALUE /**/
-class WXDLLIMPEXP_BASE wxObject;
-class WXDLLIMPEXP_BASE wxClassInfo;
-class WXDLLIMPEXP_BASE wxDynamicClassInfo;
-class WXDLLIMPEXP_BASE wxHashTable;
-class WXDLLIMPEXP_BASE wxHashTable_Node;
-class WXDLLIMPEXP_BASE wxObjectRefData;
-class WXDLLIMPEXP_BASE wxEvent;
-class WXDLLIMPEXP_BASE wxEvtHandler;
+class WXDLLIMPEXP_FWD_BASE wxObject;
+class WXDLLIMPEXP_FWD_BASE wxClassInfo;
+class WXDLLIMPEXP_FWD_BASE wxDynamicClassInfo;
+class WXDLLIMPEXP_FWD_BASE wxHashTable;
+class WXDLLIMPEXP_FWD_BASE wxHashTable_Node;
+class WXDLLIMPEXP_FWD_BASE wxObjectRefData;
+class WXDLLIMPEXP_FWD_BASE wxEvent;
+class WXDLLIMPEXP_FWD_BASE wxEvtHandler;
typedef void (wxObject::*wxObjectEventFunction)(wxEvent&);
wxT_LAST_TYPE_KIND = wxT_DELEGATE // sentinel for bad data, asserts, debugging
};
-class WXDLLIMPEXP_BASE wxxVariant ;
-class WXDLLIMPEXP_BASE wxTypeInfo ;
+class WXDLLIMPEXP_FWD_BASE wxxVariant ;
+class WXDLLIMPEXP_FWD_BASE wxTypeInfo ;
WX_DECLARE_STRING_HASH_MAP_WITH_DECL( wxTypeInfo* , wxTypeInfoMap , class WXDLLIMPEXP_BASE ) ;
// convert a wxxVariant holding data of this type into a string
void ConvertToString( const wxxVariant& data , wxString &result ) const
- { if ( m_toString ) (*m_toString)( data , result ) ; else wxLogError( wxGetTranslation(_T("String conversions not supported")) ) ; }
+ { if ( m_toString ) (*m_toString)( data , result ) ; else wxLogError( wxGetTranslation(wxT("String conversions not supported")) ) ; }
// convert a string into a wxxVariant holding the corresponding data in this type
void ConvertFromString( const wxString& data , wxxVariant &result ) const
- { if( m_fromString ) (*m_fromString)( data , result ) ; else wxLogError( wxGetTranslation(_T("String conversions not supported")) ) ; }
+ { if( m_fromString ) (*m_fromString)( data , result ) ; else wxLogError( wxGetTranslation(wxT("String conversions not supported")) ) ; }
#if wxUSE_UNICODE
static wxTypeInfo *FindType(const char *typeName) { return FindType( wxString::FromAscii(typeName) ) ; }
// convert a wxxVariant holding data of this type into a long
void ConvertToLong( const wxxVariant& data , long &result ) const
- { if( m_toLong ) (*m_toLong)( data , result ) ; else wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ) ; }
+ { if( m_toLong ) (*m_toLong)( data , result ) ; else wxLogError( wxGetTranslation(wxT("Long Conversions not supported")) ) ; }
// convert a long into a wxxVariant holding the corresponding data in this type
void ConvertFromLong( long data , wxxVariant &result ) const
- { if( m_fromLong ) (*m_fromLong)( data , result ) ; else wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ) ;}
+ { if( m_fromLong ) (*m_fromLong)( data , result ) ; else wxLogError( wxGetTranslation(wxT("Long Conversions not supported")) ) ;}
private :
converterToLong_t m_toLong ;
virtual wxxVariantData* Clone() const { return new wxxVariantDataT<T>( Get() ) ; }
// returns the type info of the contentc
- virtual const wxTypeInfo* GetTypeInfo() const { return wxGetTypeInfo( (T*) NULL ) ; }
+ virtual const wxTypeInfo* GetTypeInfo() const { return wxGetTypeInfo( NULL ) ; }
private:
T m_data;
// Setting a simple property (non-collection)
virtual void SetProperty(wxObject *object, const wxxVariant &value) const
- { if ( m_setter ) m_setter->Set( object , value ) ; else wxLogError( wxGetTranslation(_T("SetProperty called w/o valid setter")) ) ;}
+ { if ( m_setter ) m_setter->Set( object , value ) ; else wxLogError( wxGetTranslation(wxT("SetProperty called w/o valid setter")) ) ;}
// Getting a simple property (non-collection)
virtual void GetProperty(const wxObject *object, wxxVariant &result) const
- { if ( m_getter ) m_getter->Get( object , result ) ; else wxLogError( wxGetTranslation(_T("GetProperty called w/o valid getter")) ) ;}
+ { if ( m_getter ) m_getter->Get( object , result ) ; else wxLogError( wxGetTranslation(wxT("GetProperty called w/o valid getter")) ) ;}
// Adding an element to a collection property
virtual void AddToPropertyCollection(wxObject *object, const wxxVariant &value) const
- { if ( m_adder ) m_adder->Add( object , value ) ; else wxLogError( wxGetTranslation(_T("AddToPropertyCollection called w/o valid adder")) ) ;}
+ { if ( m_adder ) m_adder->Add( object , value ) ; else wxLogError( wxGetTranslation(wxT("AddToPropertyCollection called w/o valid adder")) ) ;}
// Getting a collection property
virtual void GetPropertyCollection( const wxObject *obj, wxxVariantArray &result) const
- { if ( m_collectionGetter ) m_collectionGetter->Get( obj , result) ; else wxLogError( wxGetTranslation(_T("GetPropertyCollection called w/o valid collection getter")) ) ;}
+ { if ( m_collectionGetter ) m_collectionGetter->Get( obj , result) ; else wxLogError( wxGetTranslation(wxT("GetPropertyCollection called w/o valid collection getter")) ) ;}
virtual bool HasSetter() const { return m_setter != NULL ; }
virtual bool HasCollectionGetter() const { return m_collectionGetter != NULL ; }
// Adding an element to a collection property
virtual void AddToPropertyCollection(wxObject *WXUNUSED(object), const wxxVariant &WXUNUSED(value)) const
- { wxLogError( wxGetTranslation(_T("AddToPropertyCollection called on a generic accessor")) ) ;}
+ { wxLogError( wxGetTranslation(wxT("AddToPropertyCollection called on a generic accessor")) ) ;}
// Getting a collection property
virtual void GetPropertyCollection( const wxObject *WXUNUSED(obj), wxxVariantArray &WXUNUSED(result)) const
- { wxLogError ( wxGetTranslation(_T("GetPropertyCollection called on a generic accessor")) ) ;}
+ { wxLogError ( wxGetTranslation(wxT("GetPropertyCollection called on a generic accessor")) ) ;}
private :
struct wxGenericPropertyAccessorInternal ;
wxGenericPropertyAccessorInternal* m_data ;
class WXDLLIMPEXP_BASE wxPropertyInfo
{
- friend class WXDLLIMPEXP_BASE wxDynamicClassInfo ;
+ friend class WXDLLIMPEXP_FWD_BASE wxDynamicClassInfo ;
public :
wxPropertyInfo(wxPropertyInfo* &iter,
wxClassInfo* itsClass,
class WXDLLIMPEXP_BASE wxHandlerInfo
{
- friend class WXDLLIMPEXP_BASE wxDynamicClassInfo ;
+ friend class WXDLLIMPEXP_FWD_BASE wxDynamicClassInfo ;
public :
wxHandlerInfo(wxHandlerInfo* &iter,
wxClassInfo* itsClass,
typedef wxObject* (*wxVariantToObjectConverter)( wxxVariant &data ) ;
typedef wxxVariant (*wxObjectToVariantConverter)( wxObject* ) ;
-class WXDLLIMPEXP_BASE wxWriter;
-class WXDLLIMPEXP_BASE wxPersister;
+class WXDLLIMPEXP_FWD_BASE wxWriter;
+class WXDLLIMPEXP_FWD_BASE wxPersister;
typedef bool (*wxObjectStreamingCallback) ( const wxObject *, wxWriter * , wxPersister * , wxxVariantArray & ) ;
class WXDLLIMPEXP_BASE wxClassInfo
{
- friend class WXDLLIMPEXP_BASE wxPropertyInfo ;
- friend class WXDLLIMPEXP_BASE wxHandlerInfo ;
- friend wxObject *wxCreateDynamicObject(const wxChar *name);
+ friend class WXDLLIMPEXP_FWD_BASE wxPropertyInfo ;
+ friend class WXDLLIMPEXP_FWD_BASE wxHandlerInfo ;
+ friend wxObject *wxCreateDynamicObject(const wxString& name);
public:
wxClassInfo(const wxClassInfo **_Parents,
const wxChar *_UnitName,
{
if ( ParamCount != m_constructorPropertiesCount )
{
- wxLogError( wxGetTranslation(_T("Illegal Parameter Count for ConstructObject Method")) ) ;
+ wxLogError( wxGetTranslation(wxT("Illegal Parameter Count for ConstructObject Method")) ) ;
return NULL ;
}
wxObject *object = NULL ;
wxObjectConstructorFn GetConstructor() const { return m_objectConstructor; }
static const wxClassInfo *GetFirst() { return sm_first; }
const wxClassInfo *GetNext() const { return m_next; }
- static wxClassInfo *FindClass(const wxChar *className);
+ static wxClassInfo *FindClass(const wxString& className);
// Climb upwards through inheritance hierarchy.
// Dual inheritance is catered for.
{
if ( ParamCount != m_constructorPropertiesCount )
{
- wxLogError( wxGetTranslation(_T("Illegal Parameter Count for Create Method")) ) ;
+ wxLogError( wxGetTranslation(wxT("Illegal Parameter Count for Create Method")) ) ;
return ;
}
m_constructor->Create( object , Params ) ;
void Register();
void Unregister();
- DECLARE_NO_COPY_CLASS(wxClassInfo)
+ wxDECLARE_NO_COPY_CLASS(wxClassInfo);
};
-WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxChar *name);
+WXDLLIMPEXP_BASE wxObject *wxCreateDynamicObject(const wxString& name);
// ----------------------------------------------------------------------------
// wxDynamicObject
class WXDLLIMPEXP_BASE wxDynamicClassInfo : public wxClassInfo
{
- friend class WXDLLIMPEXP_BASE wxDynamicObject ;
+ friend class WXDLLIMPEXP_FWD_BASE wxDynamicObject ;
public :
wxDynamicClassInfo( const wxChar *_UnitName, const wxChar *_ClassName , const wxClassInfo* superClass ) ;
virtual ~wxDynamicClassInfo() ;
#define IMPLEMENT_DYNAMIC_CLASS_WITH_COPY( name , basename ) \
_IMPLEMENT_DYNAMIC_CLASS_WITH_COPY( name , basename , "" , NULL ) \
_TYPEINFO_CLASSES(name, NULL , NULL) \
- const wxPropertyInfo *name::GetPropertiesStatic() { return (wxPropertyInfo*) NULL ; } \
- const wxHandlerInfo *name::GetHandlersStatic() { return (wxHandlerInfo*) NULL ; } \
+ const wxPropertyInfo *name::GetPropertiesStatic() { return NULL ; } \
+ const wxHandlerInfo *name::GetHandlersStatic() { return NULL ; } \
wxCONSTRUCTOR_DUMMY( name )
#define IMPLEMENT_DYNAMIC_CLASS( name , basename ) \
_IMPLEMENT_DYNAMIC_CLASS( name , basename , "" , NULL ) \
_TYPEINFO_CLASSES(name, NULL , NULL) \
- wxPropertyInfo *name::GetPropertiesStatic() { return (wxPropertyInfo*) NULL ; } \
- wxHandlerInfo *name::GetHandlersStatic() { return (wxHandlerInfo*) NULL ; } \
+ wxPropertyInfo *name::GetPropertiesStatic() { return NULL ; } \
+ wxHandlerInfo *name::GetHandlersStatic() { return NULL ; } \
wxCONSTRUCTOR_DUMMY( name )
#define IMPLEMENT_DYNAMIC_CLASS_XTI( name , basename , unit ) \
(int) sizeof(name), \
(wxObjectConstructorFn) wxConstructorFor##name , \
name::GetPropertiesStatic(),name::GetHandlersStatic(),name::ms_constructor , name::ms_constructorProperties , \
- name::ms_constructorPropertiesCount , wxVariantOfPtrToObjectConverter##name , NULL , wxObjectToVariantConverter##name , callback);
+ name::ms_constructorPropertiesCount , wxVariantOfPtrToObjectConverter##name , NULL , wxObjectToVariantConverter##name , callback);
#define IMPLEMENT_DYNAMIC_CLASS2( name , basename , basename2) \
_IMPLEMENT_DYNAMIC_CLASS2( name , basename , basename2 , "", NULL) \
_TYPEINFO_CLASSES(name, NULL , NULL) \
- wxPropertyInfo *name::GetPropertiesStatic() { return (wxPropertyInfo*) NULL ; } \
- wxHandlerInfo *name::GetHandlersStatic() { return (wxHandlerInfo*) NULL ; } \
+ wxPropertyInfo *name::GetPropertiesStatic() { return NULL ; } \
+ wxHandlerInfo *name::GetHandlersStatic() { return NULL ; } \
wxCONSTRUCTOR_DUMMY( name )
#define IMPLEMENT_DYNAMIC_CLASS2_XTI( name , basename , basename2, unit) \
#define IMPLEMENT_ABSTRACT_CLASS( name , basename ) \
_IMPLEMENT_ABSTRACT_CLASS( name , basename ) \
- wxHandlerInfo *name::GetHandlersStatic() { return (wxHandlerInfo*) NULL ; } \
- wxPropertyInfo *name::GetPropertiesStatic() { return (wxPropertyInfo*) NULL ; }
+ wxHandlerInfo *name::GetHandlersStatic() { return NULL ; } \
+ wxPropertyInfo *name::GetPropertiesStatic() { return NULL ; }
// Multiple inheritance with two base classes