-/*
- * 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
-