X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/af4d748440f97aa6e37ab44dfc3fd14b7f42868e..9485b24f43766ad97ba1b77a70c7c1f2a40184a6:/src/common/variant.cpp diff --git a/src/common/variant.cpp b/src/common/variant.cpp index 42c9742966..2b952944b1 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -517,8 +517,6 @@ double wxVariant::GetDouble() const // wxVariantBoolData // ----------------------------------------------------------------- -#ifdef HAVE_BOOL - class WXDLLIMPEXP_BASE wxVariantDataBool: public wxVariantData { public: @@ -654,8 +652,6 @@ bool wxVariant::GetBool() const } } -#endif // HAVE_BOOL - // ----------------------------------------------------------------- // wxVariantDataChar // ----------------------------------------------------------------- @@ -1038,7 +1034,7 @@ bool wxVariantDataWxObjectPtr::Write(wxSTD ostream& str) const bool wxVariantDataWxObjectPtr::Write(wxString& str) const { - str.Printf(wxT("%s(%p)"), GetType().c_str(), wx_static_cast(void*, m_value)); + str.Printf(wxT("%s(%p)"), GetType().c_str(), static_cast(m_value)); return true; } @@ -1246,7 +1242,10 @@ bool wxVariantDataDateTime::Write(wxSTD ostream& str) const bool wxVariantDataDateTime::Write(wxString& str) const { - str = m_value.Format(); + if ( m_value.IsValid() ) + str = m_value.Format(); + else + str = wxS("Invalid"); return true; } @@ -1262,6 +1261,12 @@ bool wxVariantDataDateTime::Read(wxSTD istream& WXUNUSED(str)) bool wxVariantDataDateTime::Read(wxString& str) { + if ( str == wxS("Invalid") ) + { + m_value = wxInvalidDateTime; + return true; + } + if(! m_value.ParseDateTime(str.c_str()/*FIXME-UTF8*/)) return false; return true; @@ -1728,10 +1733,8 @@ bool wxVariant::Convert(long* value) const *value = (long) (((wxVariantDoubleData*)GetData())->GetValue()); else if (type == wxT("long")) *value = ((wxVariantDataLong*)GetData())->GetValue(); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (long) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else if (type == wxT("string")) *value = wxAtol(((wxVariantDataString*)GetData())->GetValue()); else @@ -1747,10 +1750,8 @@ bool wxVariant::Convert(bool* value) const *value = ((int) (((wxVariantDoubleData*)GetData())->GetValue()) != 0); else if (type == wxT("long")) *value = (((wxVariantDataLong*)GetData())->GetValue() != 0); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = ((wxVariantDataBool*)GetData())->GetValue(); -#endif else if (type == wxT("string")) { wxString val(((wxVariantDataString*)GetData())->GetValue()); @@ -1775,10 +1776,8 @@ bool wxVariant::Convert(double* value) const *value = ((wxVariantDoubleData*)GetData())->GetValue(); else if (type == wxT("long")) *value = (double) (((wxVariantDataLong*)GetData())->GetValue()); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (double) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else if (type == wxT("string")) *value = (double) wxAtof(((wxVariantDataString*)GetData())->GetValue()); else @@ -1794,10 +1793,8 @@ bool wxVariant::Convert(wxUniChar* value) const *value = ((wxVariantDataChar*)GetData())->GetValue(); else if (type == wxT("long")) *value = (char) (((wxVariantDataLong*)GetData())->GetValue()); -#ifdef HAVE_BOOL else if (type == wxT("bool")) *value = (char) (((wxVariantDataBool*)GetData())->GetValue()); -#endif else return false;