]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xtitypes.h
fix wxBitmapComboBox Gtk-CRITICAL assertion `GTK_IS_ENTRY (entry)' failed
[wxWidgets.git] / include / wx / xtitypes.h
index 783fe97826c96de7e0af9b11a467ed46c7140e42..d3fd1432f8bfa41cec5729274d685b31cb75d6c8 100644 (file)
@@ -88,7 +88,7 @@ private:
     wxEnumData s_enumData##e( s_enumDataMembers##e );                   \
     wxEnumData *wxGetEnumData(e) { return &s_enumData##e; }             \
     template<> void wxStringReadValue(const wxString& s, e &data )     \
-        { data = (e) s_enumData##e.GetEnumMemberValue(s); }             \
+        { data = (e) s_enumData##e.GetEnumMemberValue(s.c_str()); }     \
     template<> void wxStringWriteValue(wxString &s, const e &data )    \
         { s = s_enumData##e.GetEnumMemberName((int)data); }             \
     void FromLong##e( long data, wxAny& result )                  \
@@ -147,7 +147,7 @@ void wxSetFromString(const wxString &s, wxBitset<e> &data )
     {
         flag = array[i];
         int ivalue;
-        if ( edata->HasEnumMemberValue( flag, &ivalue ) )
+        if ( edata->HasEnumMemberValue( flag.c_str(), &ivalue ) )
         {
             data.set( (e) ivalue );
         }
@@ -202,7 +202,7 @@ void wxFlagsFromString(const wxString &s, e &data )
     {
         flag = array[i];
         int ivalue;
-        if ( edata->HasEnumMemberValue( flag, &ivalue ) )
+        if ( edata->HasEnumMemberValue( flag.c_str(), &ivalue ) )
         {
             data.m_data |= ivalue;
         }
@@ -236,7 +236,7 @@ void wxFlagsToString( wxString &s, const e& data )
 #define wxBEGIN_FLAGS( e ) \
     wxEnumMemberData s_enumDataMembers##e[] = {
 
-#define wxFLAGS_MEMBER( v ) { wxT(#v), v },
+#define wxFLAGS_MEMBER( v ) { wxT(#v), static_cast<int>(v) },
 
 #define wxEND_FLAGS( e )                                                \
         { NULL, 0 } };                                                 \
@@ -355,7 +355,7 @@ public:
         if ( m_toString ) 
             (*m_toString)( data, result ); 
         else 
-            wxLogError( wxGetTranslation(_T("String conversions not supported")) ); 
+            wxLogError( wxGetTranslation(wxT("String conversions not supported")) ); 
     }
 
     // convert a string into a wxAny holding the corresponding data in this type
@@ -364,11 +364,12 @@ public:
         if( m_fromString ) 
             (*m_fromString)( data, result ); 
         else 
-            wxLogError( wxGetTranslation(_T("String conversions not supported")) ); 
+            wxLogError( wxGetTranslation(wxT("String conversions not supported")) ); 
     }
 
     // statics:
 
+    // looks for the corresponding type, will return NULL if not found
     static wxTypeInfo *FindType( const wxString& typeName );
 private:
     void Register();
@@ -392,13 +393,6 @@ public:
                        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
@@ -408,13 +402,6 @@ public:
                       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
@@ -433,17 +420,6 @@ public:
         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
@@ -452,7 +428,7 @@ public:
         if( m_toLong ) 
             (*m_toLong)( data, result ); 
         else 
-            wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ); 
+            wxLogError( wxGetTranslation(wxT("Long Conversions not supported")) ); 
     }
 
     // convert a long into a wxAny holding the corresponding data in this type
@@ -461,7 +437,7 @@ public:
         if( m_fromLong ) 
             (*m_fromLong)( data, result ); 
         else 
-            wxLogError( wxGetTranslation(_T("Long Conversions not supported")) ); 
+            wxLogError( wxGetTranslation(wxT("Long Conversions not supported")) ); 
     }
 
 private:
@@ -478,11 +454,6 @@ public:
                      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:
@@ -497,13 +468,6 @@ public:
             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 )