X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..848332140be2d53aea32d0702f4c0e06c149d24b:/src/common/variant.cpp diff --git a/src/common/variant.cpp b/src/common/variant.cpp index 452be8d52b..2c540d3f3c 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -36,6 +36,7 @@ using namespace std ; #include "wx/string.h" #include "wx/tokenzr.h" +#include "wx/math.h" #include "wx/variant.h" @@ -55,7 +56,7 @@ public: wxVariantDataList(const wxList& list); ~wxVariantDataList(); - wxList& GetValue() const { return (wxList&) m_value; } + wxList& GetValue() { return m_value; } void SetValue(const wxList& value) ; virtual void Copy(wxVariantData& data); @@ -454,7 +455,7 @@ bool wxVariantDataReal::Eq(wxVariantData& data) const wxVariantDataReal& otherData = (wxVariantDataReal&) data; - return (otherData.m_value == m_value); + return wxIsSameDouble(otherData.m_value, m_value); } #if wxUSE_STD_IOSTREAM @@ -469,7 +470,7 @@ bool wxVariantDataReal::Write(wxSTD ostream& str) const bool wxVariantDataReal::Write(wxString& str) const { - str.Printf(wxT("%.4f"), m_value); + str.Printf(wxT("%.14g"), m_value); return true; } @@ -705,7 +706,7 @@ bool wxVariantDataChar::Read(wxInputStream& str) bool wxVariantDataChar::Read(wxString& str) { - m_value = str.ToAscii()[0u]; + m_value = str.ToAscii()[size_t(0)]; return true; } @@ -874,7 +875,7 @@ bool wxVariantDataVoidPtr::Write(wxSTD ostream& str) const bool wxVariantDataVoidPtr::Write(wxString& str) const { - str.Printf(wxT("%ld"), (long) m_value); + str.Printf(wxT("%p"), m_value); return true; } @@ -978,7 +979,7 @@ bool wxVariantDataWxObjectPtr::Write(wxSTD ostream& str) const bool wxVariantDataWxObjectPtr::Write(wxString& str) const { - str.Printf(wxT("%s(%ld)"), GetType().c_str(), (long) m_value); + str.Printf(wxT("%s(%p)"), GetType().c_str(), m_value); return true; } @@ -1391,8 +1392,8 @@ bool wxVariant::operator== (double value) const double thisValue; if (!Convert(&thisValue)) return false; - else - return (value == thisValue); + + return wxIsSameDouble(value, thisValue); } bool wxVariant::operator!= (double value) const @@ -1934,7 +1935,7 @@ wxStringList& wxVariant::GetStringList() const void wxVariant::NullList() { SetData(new wxVariantDataList()); -}; +} // Append to list void wxVariant::Append(const wxVariant& value)