X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b1d4dd7add411ebff1ce4a8d1d992e0e43ee26b1..eaf6274cc01dec5faebd88d9cd06c17a462d32c5:/src/common/variant.cpp diff --git a/src/common/variant.cpp b/src/common/variant.cpp index c38fef7a8d..7b2f9dd943 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -11,8 +11,6 @@ #ifdef __GNUG__ #pragma implementation "variant.h" -#pragma implementation "time.h" -#pragma implementation "date.h" #endif // For compilers that support precompilation, includes "wx/wx.h". @@ -30,6 +28,10 @@ #endif #endif +#if defined(__MWERKS__) && __MSL__ >= 0x6000 +using namespace std ; +#endif + #if wxUSE_STREAMS #include "wx/stream.h" #include "wx/txtstrm.h" @@ -40,15 +42,6 @@ #include "wx/variant.h" -#if wxUSE_TIMEDATE -IMPLEMENT_DYNAMIC_CLASS(wxDate, wxObject) -IMPLEMENT_DYNAMIC_CLASS(wxTime, wxObject) - -wxTime::tFormat wxTime::ms_Format = wxTime::wx12h; -wxTime::tPrecision wxTime::ms_Precision = wxTime::wxStdMinSec; -wxChar wxTime::ms_bufTime[128]; -#endif - IMPLEMENT_ABSTRACT_CLASS(wxVariantData, wxObject) wxVariant WXDLLEXPORT wxNullVariant; @@ -150,12 +143,12 @@ bool wxVariantDataList::Eq(wxVariantData& data) const wxVariant* var1 = (wxVariant*) node1->GetData(); wxVariant* var2 = (wxVariant*) node2->GetData(); if ((*var1) != (*var2)) - return false; + return FALSE; node1 = node1->GetNext(); node2 = node2->GetNext(); } - if (node1 || node2) return false; - return true; + if (node1 || node2) return FALSE; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -164,7 +157,7 @@ bool wxVariantDataList::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif @@ -182,7 +175,7 @@ bool wxVariantDataList::Write(wxString& str) const node = node->GetNext(); } - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -190,7 +183,7 @@ bool wxVariantDataList::Read(wxSTD istream& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // TODO - return false; + return FALSE; } #endif @@ -198,7 +191,7 @@ bool wxVariantDataList::Read(wxString& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // TODO - return false; + return FALSE; } /* @@ -259,12 +252,12 @@ bool wxVariantDataStringList::Eq(wxVariantData& data) const wxString str1 ( node1->GetData() ); wxString str2 ( node2->GetData() ); if (str1 != str2) - return false; + return FALSE; node1 = node1->GetNext(); node2 = node2->GetNext(); } - if (node1 || node2) return false; - return true; + if (node1 || node2) return FALSE; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -273,7 +266,7 @@ bool wxVariantDataStringList::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif @@ -290,7 +283,7 @@ bool wxVariantDataStringList::Write(wxString& str) const node = node->GetNext(); } - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -298,7 +291,7 @@ bool wxVariantDataStringList::Read(wxSTD istream& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // TODO - return false; + return FALSE; } #endif @@ -306,7 +299,7 @@ bool wxVariantDataStringList::Read(wxString& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // TODO - return false; + return FALSE; } /* @@ -369,21 +362,21 @@ bool wxVariantDataLong::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataLong::Write(wxString& str) const { str.Printf(wxT("%ld"), m_value); - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM bool wxVariantDataLong::Read(wxSTD istream& str) { str >> m_value; - return true; + return TRUE; } #endif @@ -393,21 +386,21 @@ bool wxVariantDataLong::Write(wxOutputStream& str) const wxTextOutputStream s(str); s.Write32((size_t)m_value); - return true; + return TRUE; } bool wxVariantDataLong::Read(wxInputStream& str) { wxTextInputStream s(str); m_value = s.Read32(); - return true; + return TRUE; } #endif // wxUSE_STREAMS bool wxVariantDataLong::Read(wxString& str) { m_value = wxAtol((const wxChar*) str); - return true; + return TRUE; } /* @@ -470,21 +463,21 @@ bool wxVariantDataReal::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataReal::Write(wxString& str) const { str.Printf(wxT("%.4f"), m_value); - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM bool wxVariantDataReal::Read(wxSTD istream& str) { str >> m_value; - return true; + return TRUE; } #endif @@ -493,21 +486,21 @@ bool wxVariantDataReal::Write(wxOutputStream& str) const { wxTextOutputStream s(str); s.WriteDouble((double)m_value); - return true; + return TRUE; } bool wxVariantDataReal::Read(wxInputStream& str) { wxTextInputStream s(str); m_value = (float)s.ReadDouble(); - return true; + return TRUE; } #endif // wxUSE_STREAMS bool wxVariantDataReal::Read(wxString& str) { m_value = wxAtof((const wxChar*) str); - return true; + return TRUE; } #ifdef HAVE_BOOL @@ -571,14 +564,14 @@ bool wxVariantDataBool::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataBool::Write(wxString& str) const { str.Printf(wxT("%d"), (int) m_value); - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -586,7 +579,7 @@ bool wxVariantDataBool::Read(wxSTD istream& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // str >> (long) m_value; - return false; + return FALSE; } #endif @@ -596,7 +589,7 @@ bool wxVariantDataBool::Write(wxOutputStream& str) const wxTextOutputStream s(str); s.Write8(m_value); - return true; + return TRUE; } bool wxVariantDataBool::Read(wxInputStream& str) @@ -604,14 +597,14 @@ bool wxVariantDataBool::Read(wxInputStream& str) wxTextInputStream s(str); m_value = s.Read8() != 0; - return true; + return TRUE; } #endif // wxUSE_STREAMS bool wxVariantDataBool::Read(wxString& str) { m_value = (wxAtol((const wxChar*) str) != 0); - return true; + return TRUE; } #endif // HAVE_BOOL @@ -673,14 +666,14 @@ bool wxVariantDataChar::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataChar::Write(wxString& str) const { str.Printf(wxT("%c"), m_value); - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM @@ -688,7 +681,7 @@ bool wxVariantDataChar::Read(wxSTD istream& WXUNUSED(str)) { wxFAIL_MSG(wxT("Unimplemented")); // str >> m_value; - return false; + return FALSE; } #endif @@ -698,7 +691,7 @@ bool wxVariantDataChar::Write(wxOutputStream& str) const wxTextOutputStream s(str); s.Write8(m_value); - return true; + return TRUE; } bool wxVariantDataChar::Read(wxInputStream& str) @@ -706,14 +699,14 @@ bool wxVariantDataChar::Read(wxInputStream& str) wxTextInputStream s(str); m_value = s.Read8(); - return true; + return TRUE; } #endif // wxUSE_STREAMS bool wxVariantDataChar::Read(wxString& str) { m_value = str[(size_t)0]; - return true; + return TRUE; } /* @@ -781,21 +774,21 @@ bool wxVariantDataString::Eq(wxVariantData& data) const bool wxVariantDataString::Write(wxSTD ostream& str) const { str << (const char*) m_value.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataString::Write(wxString& str) const { str = m_value; - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM bool wxVariantDataString::Read(wxSTD istream& str) { str >> m_value; - return true; + return TRUE; } #endif @@ -805,7 +798,7 @@ bool wxVariantDataString::Write(wxOutputStream& str) const // why doesn't wxOutputStream::operator<< take "const wxString&" wxTextOutputStream s(str); s.WriteString(m_value); - return true; + return TRUE; } bool wxVariantDataString::Read(wxInputStream& str) @@ -813,14 +806,14 @@ bool wxVariantDataString::Read(wxInputStream& str) wxTextInputStream s(str); m_value = s.ReadString(); - return true; + return TRUE; } #endif // wxUSE_STREAMS bool wxVariantDataString::Read(wxString& str) { m_value = str; - return true; + return TRUE; } #if defined(__BORLANDC__) && defined(__WIN16__) @@ -829,174 +822,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxVariantStringData, wxVariantData) IMPLEMENT_DYNAMIC_CLASS(wxVariantDataString, wxVariantData) #endif -/* - * wxVariantDataTime - */ - -// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled -#if wxUSE_TIMEDATE && !defined(__WATCOMC__) - -class wxVariantDataTime: public wxVariantData -{ - DECLARE_DYNAMIC_CLASS(wxVariantDataTime) -public: - wxVariantDataTime() { } - wxVariantDataTime(const wxTime& value) { m_value = value; } - - inline wxTime GetValue() const { return m_value; } - inline void SetValue(const wxTime& value) { m_value = value; } - - virtual void Copy(wxVariantData& data); - 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("time"); }; - virtual wxVariantData* Clone() { return new wxVariantDataTime; } - -protected: - wxTime m_value; -}; - -IMPLEMENT_DYNAMIC_CLASS(wxVariantDataTime, wxVariantData) - -void wxVariantDataTime::Copy(wxVariantData& data) -{ - wxASSERT_MSG( (data.GetType() == wxT("time")), wxT("wxVariantDataTime::Copy: Can't copy to this type of data") ); - - wxVariantDataTime& otherData = (wxVariantDataTime&) data; - - otherData.m_value = m_value; -} - -bool wxVariantDataTime::Eq(wxVariantData& data) const -{ - wxASSERT_MSG( (data.GetType() == wxT("time")), wxT("wxVariantDataTime::Eq: argument mismatch") ); - - wxVariantDataTime& otherData = (wxVariantDataTime&) data; - - return (otherData.m_value == m_value); -} - -#if wxUSE_STD_IOSTREAM -bool wxVariantDataTime::Write(wxSTD ostream& str) const -{ - wxString s; - Write(s); - str << (const char*) s.mb_str(); - return true; -} -#endif - -bool wxVariantDataTime::Write(wxString& str) const -{ - wxChar*s = m_value.FormatTime(); - str = s; - return true; -} - -#if wxUSE_STD_IOSTREAM -bool wxVariantDataTime::Read(wxSTD istream& WXUNUSED(str)) -{ - // Not implemented - return false; -} -#endif - -bool wxVariantDataTime::Read(wxString& WXUNUSED(str)) -{ - // Not implemented - return false; -} - -/* - * wxVariantDataDate - */ - -class wxVariantDataDate: public wxVariantData -{ - DECLARE_DYNAMIC_CLASS(wxVariantDataDate) -public: - wxVariantDataDate() { } - wxVariantDataDate(const wxDate& value) { m_value = value; } - - inline wxDate GetValue() const { return m_value; } - inline void SetValue(const wxDate& value) { m_value = value; } - - virtual void Copy(wxVariantData& data); - 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("date"); }; - virtual wxVariantData* Clone() { return new wxVariantDataDate; } - -protected: - wxDate m_value; -}; - -IMPLEMENT_DYNAMIC_CLASS(wxVariantDataDate, wxVariantData) - -void wxVariantDataDate::Copy(wxVariantData& data) -{ - wxASSERT_MSG( (data.GetType() == wxT("date")), wxT("wxVariantDataDate::Copy: Can't copy to this type of data") ); - - wxVariantDataDate& otherData = (wxVariantDataDate&) data; - - otherData.m_value = m_value; -} - -bool wxVariantDataDate::Eq(wxVariantData& data) const -{ - wxASSERT_MSG( (data.GetType() == wxT("date")), wxT("wxVariantDataDate::Eq: argument mismatch") ); - - wxVariantDataDate& otherData = (wxVariantDataDate&) data; - - return (otherData.m_value == m_value); -} - -#if wxUSE_STD_IOSTREAM -bool wxVariantDataDate::Write(wxSTD ostream& str) const -{ - wxString s; - Write(s); - str << (const char*) s.mb_str(); - return true; -} -#endif - -bool wxVariantDataDate::Write(wxString& str) const -{ - str = m_value.FormatDate(); - return true; -} - -#if wxUSE_STD_IOSTREAM -bool wxVariantDataDate::Read(wxSTD istream& WXUNUSED(str)) -{ - // Not implemented - return false; -} -#endif - -bool wxVariantDataDate::Read(wxString& WXUNUSED(str)) -{ - // Not implemented - return false; -} -#endif - // wxUSE_TIMEDATE - /* * wxVariantDataVoidPtr */ @@ -1056,34 +881,36 @@ bool wxVariantDataVoidPtr::Write(wxSTD ostream& str) const wxString s; Write(s); str << (const char*) s.mb_str(); - return true; + return TRUE; } #endif bool wxVariantDataVoidPtr::Write(wxString& str) const { str.Printf(wxT("%ld"), (long) m_value); - return true; + return TRUE; } #if wxUSE_STD_IOSTREAM bool wxVariantDataVoidPtr::Read(wxSTD istream& WXUNUSED(str)) { // Not implemented - return false; + return FALSE; } #endif bool wxVariantDataVoidPtr::Read(wxString& WXUNUSED(str)) { // Not implemented - return false; + return FALSE; } /* * wxVariantDataDateTime */ +#if wxUSE_DATETIME + class wxVariantDataDateTime: public wxVariantData { DECLARE_DYNAMIC_CLASS(wxVariantDataDateTime) @@ -1148,7 +975,7 @@ bool wxVariantDataDateTime::Eq(wxVariantData& data) const bool wxVariantDataDateTime::Write(wxSTD ostream& str) const { // Not implemented - return false; + return FALSE; } #endif @@ -1156,7 +983,7 @@ bool wxVariantDataDateTime::Write(wxSTD ostream& str) const bool wxVariantDataDateTime::Write(wxString& str) const { str = m_value.Format(); - return true; + return TRUE; } @@ -1164,7 +991,7 @@ bool wxVariantDataDateTime::Write(wxString& str) const bool wxVariantDataDateTime::Read(wxSTD istream& WXUNUSED(str)) { // Not implemented - return false; + return FALSE; } #endif @@ -1172,10 +999,12 @@ bool wxVariantDataDateTime::Read(wxSTD istream& WXUNUSED(str)) bool wxVariantDataDateTime::Read(wxString& str) { if(! m_value.ParseDateTime(str)) - return false; - return true; + return FALSE; + return TRUE; } +#endif // wxUSE_DATETIME + // ---------------------------------------------------------------------------- // wxVariantDataArrayString // ---------------------------------------------------------------------------- @@ -1234,7 +1063,7 @@ bool wxVariantDataArrayString::Eq(wxVariantData& data) const bool wxVariantDataArrayString::Write(wxSTD ostream& str) const { // Not implemented - return false; + return FALSE; } #endif @@ -1250,7 +1079,7 @@ bool wxVariantDataArrayString::Write(wxString& str) const str += m_value[n]; } - return true; + return TRUE; } @@ -1258,7 +1087,7 @@ bool wxVariantDataArrayString::Write(wxString& str) const bool wxVariantDataArrayString::Read(wxSTD istream& WXUNUSED(str)) { // Not implemented - return false; + return FALSE; } #endif @@ -1271,7 +1100,7 @@ bool wxVariantDataArrayString::Read(wxString& str) m_value.Add(tk.GetNextToken()); } - return true; + return TRUE; } @@ -1338,32 +1167,19 @@ wxVariant::wxVariant(const wxList& val, const wxString& name) // List of variant m_name = name; } -// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled -#if wxUSE_TIMEDATE && !defined(__WATCOMC__) -wxVariant::wxVariant(const wxTime& val, const wxString& name) // Time -{ - m_data = new wxVariantDataTime(val); - m_name = name; -} - -wxVariant::wxVariant(const wxDate& val, const wxString& name) // Date -{ - m_data = new wxVariantDataDate(val); - m_name = name; -} -#endif - -wxVariant::wxVariant(void* val, const wxString& name) // Void ptr +wxVariant::wxVariant( void* val, const wxString& name) { - m_data = new wxVariantDataVoidPtr(val); - m_name = name; + m_data = new wxVariantDataVoidPtr(val); + m_name = name; } +#if wxUSE_DATETIME wxVariant::wxVariant(const wxDateTime& val, const wxString& name) // Date { - m_data = new wxVariantDataDateTime(val); - m_name = name; + m_data = new wxVariantDataDateTime(val); + m_name = name; } +#endif // wxUSE_DATETIME #if wxUSE_ODBC wxVariant::wxVariant(const TIME_STRUCT* valptr, const wxString& name) // Date @@ -1472,7 +1288,7 @@ bool wxVariant::operator== (double value) const { double thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; else return (value == thisValue); } @@ -1500,7 +1316,7 @@ bool wxVariant::operator== (long value) const { long thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; else return (value == thisValue); } @@ -1528,7 +1344,7 @@ bool wxVariant::operator== (char value) const { char thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; else return (value == thisValue); } @@ -1557,7 +1373,7 @@ bool wxVariant::operator== (bool value) const { bool thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; else return (value == thisValue); } @@ -1586,7 +1402,7 @@ bool wxVariant::operator== (const wxString& value) const { wxString thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; return value == thisValue; } @@ -1678,65 +1494,6 @@ void wxVariant::operator= (const wxList& value) } } -// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled -#if wxUSE_TIMEDATE && !defined(__WATCOMC__) -bool wxVariant::operator== (const wxTime& value) const -{ - wxTime thisValue; - if (!Convert(&thisValue)) - return false; - - return value == thisValue; -} - -bool wxVariant::operator!= (const wxTime& value) const -{ - return (!((*this) == value)); -} - -void wxVariant::operator= (const wxTime& value) -{ - if (GetType() == wxT("time")) - { - ((wxVariantDataTime*)GetData())->SetValue(value); - } - else - { - if (m_data) - delete m_data; - m_data = new wxVariantDataTime(value); - } -} - -bool wxVariant::operator== (const wxDate& value) const -{ - wxDate thisValue; - if (!Convert(&thisValue)) - return false; - - return (value == thisValue); -} - -bool wxVariant::operator!= (const wxDate& value) const -{ - return (!((*this) == value)); -} - -void wxVariant::operator= (const wxDate& value) -{ - if (GetType() == wxT("date")) - { - ((wxVariantDataTime*)GetData())->SetValue(value); - } - else - { - if (m_data) - delete m_data; - m_data = new wxVariantDataDate(value); - } -} -#endif - bool wxVariant::operator== (void* value) const { return (value == ((wxVariantDataVoidPtr*)GetData())->GetValue()); @@ -1761,11 +1518,12 @@ void wxVariant::operator= (void* value) } } +#if wxUSE_DATETIME bool wxVariant::operator== (const wxDateTime& value) const { wxDateTime thisValue; if (!Convert(&thisValue)) - return false; + return FALSE; return value.IsEqualTo(thisValue); } @@ -1788,6 +1546,7 @@ void wxVariant::operator= (const wxDateTime& value) m_data = new wxVariantDataDateTime(value); } } +#endif // wxUSE_DATETIME #if wxUSE_ODBC void wxVariant::operator= (const DATE_STRUCT* value) @@ -1819,7 +1578,7 @@ bool wxVariant::operator==(const wxArrayString& WXUNUSED(value)) const { wxFAIL_MSG( _T("TODO") ); - return false; + return FALSE; } bool wxVariant::operator!=(const wxArrayString& value) const @@ -1999,31 +1758,6 @@ wxString wxVariant::GetString() const return value; } -// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled -#if wxUSE_TIMEDATE && !defined(__WATCOMC__) -wxTime wxVariant::GetTime() const -{ - wxTime value; - if (!Convert(& value)) - { - wxFAIL_MSG(wxT("Could not convert to a time")); - } - - return value; -} - -wxDate wxVariant::GetDate() const -{ - wxDate value; - if (!Convert(& value)) - { - wxFAIL_MSG(wxT("Could not convert to a date")); - } - - return value; -} -#endif // wxUSE_TIMEDATE - void* wxVariant::GetVoidPtr() const { wxASSERT( (GetType() == wxT("void*")) ); @@ -2031,6 +1765,7 @@ void* wxVariant::GetVoidPtr() const return (void*) ((wxVariantDataVoidPtr*) m_data)->GetValue(); } +#if wxUSE_DATETIME wxDateTime wxVariant::GetDateTime() const { wxDateTime value; @@ -2041,6 +1776,7 @@ wxDateTime wxVariant::GetDateTime() const return value; } +#endif // wxUSE_DATETIME wxList& wxVariant::GetList() const { @@ -2078,7 +1814,7 @@ void wxVariant::Insert(const wxVariant& value) list.Insert(new wxVariant(value)); } -// Returns true if the variant is a member of the list +// Returns TRUE if the variant is a member of the list bool wxVariant::Member(const wxVariant& value) const { wxList& list = GetList(); @@ -2088,10 +1824,10 @@ bool wxVariant::Member(const wxVariant& value) const { wxVariant* other = (wxVariant*) node->GetData(); if (value == *other) - return true; + return TRUE; node = node->GetNext(); } - return false; + return FALSE; } // Deletes the nth element of the list @@ -2104,7 +1840,7 @@ bool wxVariant::Delete(int item) wxVariant* variant = (wxVariant*) node->GetData(); delete variant; delete node; - return true; + return TRUE; } // Clear list @@ -2140,9 +1876,9 @@ bool wxVariant::Convert(long* value) const else if (type == wxT("string")) *value = wxAtol((const wxChar*) ((wxVariantDataString*)GetData())->GetValue()); else - return false; + return FALSE; - return true; + return TRUE; } bool wxVariant::Convert(bool* value) const @@ -2160,17 +1896,17 @@ bool wxVariant::Convert(bool* value) const { wxString val(((wxVariantDataString*)GetData())->GetValue()); val.MakeLower(); - if (val == wxT("true") || val == wxT("yes")) - *value = true; - else if (val == wxT("false") || val == wxT("no")) - *value = false; + if (val == wxT("TRUE") || val == wxT("yes")) + *value = TRUE; + else if (val == wxT("FALSE") || val == wxT("no")) + *value = FALSE; else - return false; + return FALSE; } else - return false; + return FALSE; - return true; + return TRUE; } bool wxVariant::Convert(double* value) const @@ -2187,9 +1923,9 @@ bool wxVariant::Convert(double* value) const else if (type == wxT("string")) *value = (double) wxAtof((const wxChar*) ((wxVariantDataString*)GetData())->GetValue()); else - return false; + return FALSE; - return true; + return TRUE; } bool wxVariant::Convert(char* value) const @@ -2204,53 +1940,29 @@ bool wxVariant::Convert(char* value) const *value = (char) (((wxVariantDataBool*)GetData())->GetValue()); #endif else - return false; + return FALSE; - return true; + return TRUE; } bool wxVariant::Convert(wxString* value) const { *value = MakeString(); - return true; + return TRUE; } -// For some reason, Watcom C++ can't link variant.cpp with time/date classes compiled -#if wxUSE_TIMEDATE && !defined(__WATCOMC__) -bool wxVariant::Convert(wxTime* value) const -{ - wxString type(GetType()); - if (type == wxT("time")) - *value = ((wxVariantDataTime*)GetData())->GetValue(); - else if (type == wxT("date")) - *value = wxTime(((wxVariantDataDate*)GetData())->GetValue()); - else - return false; - - return true; -} - -bool wxVariant::Convert(wxDate* value) const -{ - wxString type(GetType()); - if (type == wxT("date")) - *value = ((wxVariantDataDate*)GetData())->GetValue(); - else - return false; - - return true; -} -#endif // wxUSE_TIMEDATE - +#if wxUSE_DATETIME bool wxVariant::Convert(wxDateTime* value) const { wxString type(GetType()); if (type == wxT("datetime")) { *value = ((wxVariantDataDateTime*)GetData())->GetValue(); - return true; - } + return TRUE; + } // Fallback to string conversion wxString val; return Convert(&val) && (value->ParseDate(val)); } +#endif // wxUSE_DATETIME +