wxT(#basename2), (int) sizeof(name), \
(wxObjectConstructorFn) 0);
-// templated streaming, every type must have their specialization for these methods
+// templated streaming, every type that can be converted to wxString
+// must have their specialization for these methods
template<typename T>
void wxStringReadValue( const wxString &s, T &data );
#include "wx/xti.h"
-// copied from event.h which cannot be included at this place, TODO MOVE to common file
+// copied from event.h which cannot be included at this place
class WXDLLIMPEXP_FWD_BASE wxEvent;
Insert(iter);
}
-#if wxUSE_UNICODE
- wxPropertyInfo(wxPropertyInfo* &iter,
- wxClassInfo* itsClass,
- const wxString& name,
- const char* typeName,
- wxPropertyAccessor *accessor,
- wxAny dv,
- wxPropertyInfoFlags flags = 0,
- const wxString& helpString = wxEmptyString,
- const wxString& groupString = wxEmptyString) :
- m_itsClass(itsClass),
- m_name(name),
- m_typeInfo(NULL),
- m_typeName(wxString::FromAscii(typeName)),
- m_collectionElementTypeInfo(NULL),
- m_accessor(accessor),
- m_defaultValue(dv),
- m_flags(flags),
- m_helpString(helpString),
- m_groupString(groupString)
- {
- Insert(iter);
- }
-#endif
wxPropertyInfo(wxPropertyInfo* &iter,
wxClassInfo* itsClass,
const wxString& name,
Insert(iter);
}
-#if wxUSE_UNICODE
- wxPropertyInfo(wxPropertyInfo* &iter,
- wxClassInfo* itsClass, const wxString& name,
- const char* collectionTypeName,
- const char* elementTypeName,
- wxPropertyAccessor *accessor,
- wxPropertyInfoFlags flags = 0,
- const wxString& helpString = wxEmptyString,
- const wxString& groupString = wxEmptyString) :
- m_itsClass(itsClass),
- m_name(name),
- m_typeInfo(NULL),
- m_typeName(wxString::FromAscii(collectionTypeName)),
- m_collectionElementTypeInfo(NULL),
- m_collectionElementTypeName(wxString::FromAscii(elementTypeName)),
- m_accessor(accessor),
- m_flags(flags),
- m_helpString(helpString),
- m_groupString(groupString)
- {
- Insert(iter);
- }
-#endif
~wxPropertyInfo()
{ Remove(); }
// statics:
+ // looks for the corresponding type, will return NULL if not found
static wxTypeInfo *FindType( const wxString& typeName );
private:
void Register();
const wxString &name = wxEmptyString ) :
wxTypeInfo( kind, to, from, name )
{ wxASSERT_MSG( GetKind() < wxT_SET, wxT("Illegal Kind for Base Type") ); }
-
-#if 0 // wxUSE_UNICODE
- wxBuiltInTypeInfo( wxTypeKind kind, wxVariant2StringFnc to,
- wxString2VariantFnc from , const char *name ) :
- wxTypeInfo( kind, to, from, name )
- { wxASSERT_MSG( GetKind() < wxT_SET, wxT("Illegal Kind for Base Type") ); }
-#endif
};
class WXDLLIMPEXP_BASE wxCustomTypeInfo : public wxTypeInfo
wxString2VariantFnc from ) :
wxTypeInfo( wxT_CUSTOM, to, from, name )
{}
-
-#if 0 // wxUSE_UNICODE
- wxCustomTypeInfo( const char *name , wxVariant2StringFnc to,
- wxString2VariantFnc from ) :
- wxTypeInfo( wxT_CUSTOM, to, from, name )
- {}
-#endif
};
class WXDLLIMPEXP_BASE wxEnumTypeInfo : public wxTypeInfo
m_enumInfo = enumInfo;
}
-#if 0 //wxUSE_UNICODE
- wxEnumTypeInfo( wxTypeKind kind, wxEnumData* enumInfo, wxVariant2StringFnc to,
- wxString2VariantFnc from, converterToLong_t toLong,
- converterFromLong_t fromLong, const char * name ) :
- wxTypeInfo( kind, to, from, name ), m_toLong( toLong ), m_fromLong( fromLong )
- {
- wxASSERT_MSG( kind == wxT_ENUM || kind == wxT_SET,
- wxT("Illegal Kind for Enum Type"));
- m_enumInfo = enumInfo;
- }
-#endif
const wxEnumData* GetEnumData() const { return m_enumInfo; }
// convert a wxAny holding data of this type into a long
wxVariant2StringFnc to = NULL, wxString2VariantFnc from = NULL,
const wxString &name = wxEmptyString);
-#if 0 // wxUSE_UNICODE
- wxClassTypeInfo( wxTypeKind kind, wxClassInfo* classInfo, wxVariant2StringFnc to,
- wxString2VariantFnc from , const char *name );
-#endif
-
const wxClassInfo *GetClassInfo() const { return m_classInfo; }
private:
wxTypeInfo( wxT_COLLECTION, to, from, name )
{ m_elementTypeName = elementName; m_elementType = NULL; }
-#if 0 // wxUSE_UNICODE
- wxCollectionTypeInfo( const char *elementName, wxVariant2StringFnc to,
- wxString2VariantFnc from , const char *name ) :
- wxTypeInfo( wxT_COLLECTION, to, from, name )
- { m_elementTypeName = wxString::FromAscii( elementName ); m_elementType = NULL; }
-#endif
-
const wxTypeInfo* GetElementType() const
{
if ( m_elementType == NULL )
{
wxTypeInfoMap::iterator iter = ms_typeTable->find(typeName);
- //wxASSERT_MSG( iter != ms_typeTable->end(),
- // wxT("lookup for a non-existent type-info") );
- // FM 3/6/2007 - disabled because otherwise
- // wxPropertyInfo::GetCollectionElementTypeInfo
- // may easily crash
if (iter == ms_typeTable->end())
return NULL;
return (wxTypeInfo *)iter->second;
}
-#if wxUSE_UNICODE
-wxClassTypeInfo::wxClassTypeInfo( wxTypeKind kind, wxClassInfo* classInfo,
- wxVariant2StringFnc to,
- wxString2VariantFnc from,
- const char *name) :
- wxTypeInfo( kind, to, from, name)
-{
- wxASSERT_MSG( kind == wxT_OBJECT_PTR ||
- kind == wxT_OBJECT,
- wxT("Illegal Kind for Enum Type")); m_classInfo = classInfo;
-}
-#endif
-
wxClassTypeInfo::wxClassTypeInfo( wxTypeKind kind, wxClassInfo* classInfo,
wxVariant2StringFnc to,
wxString2VariantFnc from,