removed WXWIN_COMPATIBILITY_2_4 from common and wxMSW files (patch 1675546)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user