]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/variant.cpp
added support for ellipsization and markup in wxStaticText (modified patch 1629946)
[wxWidgets.git] / src / common / variant.cpp
index 870938c773cf025448efc7495f31f03a519dae87..fcff39ff5f03bf1411d3ec4b8ac87fd4a7cb4b47 100644 (file)
@@ -1701,165 +1701,10 @@ void wxVariant::ClearList()
     }
 }
 
-#if WXWIN_COMPATIBILITY_2_4
-
-// ----------------------------------------------------------------------------
-// wxVariantDataStringList
-// ----------------------------------------------------------------------------
-
-class WXDLLIMPEXP_BASE wxVariantDataStringList: public wxVariantData
-{
-DECLARE_DYNAMIC_CLASS(wxVariantDataStringList)
-public:
-    wxVariantDataStringList() {}
-    wxVariantDataStringList(const wxStringList& list) { m_value = list; }
-
-    wxStringList& GetValue() const { return (wxStringList&) m_value; }
-    void SetValue(const wxStringList& value);
-
-    virtual bool Eq(wxVariantData& data) const;
-#if wxUSE_STD_IOSTREAM
-    virtual bool Write(wxSTD ostream& str) const;
-#endif
-    virtual bool Write(wxString& str) const;
-#if wxUSE_STD_IOSTREAM
-    virtual bool Read(wxSTD istream& str);
-#endif
-    virtual bool Read(wxString& str);
-    virtual wxString GetType() const { return wxT("stringlist"); };
-
-protected:
-    wxStringList  m_value;
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxVariantDataStringList, wxVariantData)
-
-void wxVariantDataStringList::SetValue(const wxStringList& value)
-{
-    m_value = value;
-}
-
-bool wxVariantDataStringList::Eq(wxVariantData& data) const
-{
-    wxASSERT_MSG( (data.GetType() == wxT("stringlist")), wxT("wxVariantDataStringList::Eq: argument mismatch") );
-
-    wxVariantDataStringList& listData = (wxVariantDataStringList&) data;
-    wxStringList::compatibility_iterator node1 = m_value.GetFirst();
-    wxStringList::compatibility_iterator node2 = listData.GetValue().GetFirst();
-    while (node1 && node2)
-    {
-        wxString str1 ( node1->GetData() );
-        wxString str2 ( node2->GetData() );
-        if (str1 != str2)
-            return false;
-        node1 = node1->GetNext();
-        node2 = node2->GetNext();
-    }
-    if (node1 || node2) return false;
-    return true;
-}
-
-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataStringList::Write(wxSTD ostream& str) const
-{
-    wxString s;
-    Write(s);
-    str << (const char*) s.mb_str();
-    return true;
-}
-#endif
-
-bool wxVariantDataStringList::Write(wxString& str) const
-{
-    str.Empty();
-    wxStringList::compatibility_iterator node = m_value.GetFirst();
-    while (node)
-    {
-        const wxChar* s = node->GetData();
-        if (node != m_value.GetFirst())
-          str += wxT(" ");
-        str += s;
-        node = node->GetNext();
-    }
-
-    return true;
-}
-
-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataStringList::Read(wxSTD istream& WXUNUSED(str))
-{
-    wxFAIL_MSG(wxT("Unimplemented"));
-    // TODO
-    return false;
-}
-#endif
-
-bool wxVariantDataStringList::Read(wxString& WXUNUSED(str))
-{
-    wxFAIL_MSG(wxT("Unimplemented"));
-    // TODO
-    return false;
-}
-
-#endif //2.4 compat
-
-#if WXWIN_COMPATIBILITY_2_4
-
-wxVariant::wxVariant(const wxStringList& val, const wxString& name)
-{
-    m_data = new wxVariantDataStringList(val);
-    m_name = name;
-}
-
-bool wxVariant::operator== (const wxStringList& value) const
-{
-    wxASSERT_MSG( (GetType() == wxT("stringlist")), wxT("Invalid type for == operator") );
-
-    wxVariantDataStringList other(value);
-    return (GetData()->Eq(other));
-}
-
-bool wxVariant::operator!= (const wxStringList& value) const
-{
-    wxASSERT_MSG( (GetType() == wxT("stringlist")), wxT("Invalid type for == operator") );
-
-    wxVariantDataStringList other(value);
-    return !(GetData()->Eq(other));
-}
-
-void wxVariant::operator= (const wxStringList& value)
-{
-    if (GetType() == wxT("stringlist") &&
-        m_data->GetRefCount() == 1)
-    {
-        ((wxVariantDataStringList*)GetData())->SetValue(value);
-    }
-    else
-    {
-        UnRef();
-        m_data = new wxVariantDataStringList(value);
-    }
-}
-
-// wxVariant
-
-wxStringList& wxVariant::GetStringList() const
-{
-    wxASSERT( (GetType() == wxT("stringlist")) );
-
-    return (wxStringList&) ((wxVariantDataStringList*) m_data)->GetValue();
-}
-
-#endif
-
 // Treat a list variant as an array
 wxVariant wxVariant::operator[] (size_t idx) const
 {
-#if WXWIN_COMPATIBILITY_2_4
-    wxASSERT_MSG( (GetType() == wxT("list") || GetType() == wxT("stringlist")), wxT("Invalid type for array operator") );
-#else
     wxASSERT_MSG( GetType() == wxT("list"), wxT("Invalid type for array operator") );
-#endif
 
     if (GetType() == wxT("list"))
     {
@@ -1867,17 +1712,6 @@ wxVariant wxVariant::operator[] (size_t idx) const
         wxASSERT_MSG( (idx < data->GetValue().GetCount()), wxT("Invalid index for array") );
         return * (wxVariant*) (data->GetValue().Item(idx)->GetData());
     }
-#if WXWIN_COMPATIBILITY_2_4
-    else if (GetType() == wxT("stringlist"))
-    {
-        wxVariantDataStringList* data = (wxVariantDataStringList*) m_data;
-        wxASSERT_MSG( (idx < data->GetValue().GetCount()), wxT("Invalid index for array") );
-
-        wxString str( (const wxChar*) (data->GetValue().Item(idx)->GetData()) );
-        wxVariant variant( str );
-        return variant;
-    }
-#endif
     return wxNullVariant;
 }
 
@@ -1897,24 +1731,13 @@ wxVariant& wxVariant::operator[] (size_t idx)
 // Return the number of elements in a list
 size_t wxVariant::GetCount() const
 {
-#if WXWIN_COMPATIBILITY_2_4
-    wxASSERT_MSG( (GetType() == wxT("list") || GetType() == wxT("stringlist")), wxT("Invalid type for GetCount()") );
-#else
     wxASSERT_MSG( GetType() == wxT("list"), wxT("Invalid type for GetCount()") );
-#endif
 
     if (GetType() == wxT("list"))
     {
         wxVariantDataList* data = (wxVariantDataList*) m_data;
         return data->GetValue().GetCount();
     }
-#if WXWIN_COMPATIBILITY_2_4
-    else if (GetType() == wxT("stringlist"))
-    {
-        wxVariantDataStringList* data = (wxVariantDataStringList*) m_data;
-        return data->GetValue().GetCount();
-    }
-#endif
     return 0;
 }