#include "wx/variant.h"
+#if wxUSE_VARIANT
+
#ifndef WX_PRECOMP
#include "wx/string.h"
#include "wx/math.h"
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"); };
virtual bool Read(wxString& str);
virtual bool Write(wxString& str) const;
#if wxUSE_STD_IOSTREAM
- virtual bool Read(wxSTD istream& str);
+ virtual bool Read(wxSTD istream& WXUNUSED(str)) { return false; };
#endif
#if wxUSE_STREAMS
virtual bool Read(wxInputStream& str);
}
}
+bool wxVariant::operator== (wxObject* value) const
+{
+ return (value == ((wxVariantDataWxObjectPtr*)GetData())->GetValue());
+}
+
+bool wxVariant::operator!= (wxObject* value) const
+{
+ return (!((*this) == (void*) value));
+}
+
+void wxVariant::operator= (wxObject* value)
+{
+ if (m_data)
+ delete m_data;
+ m_data = new wxVariantDataWxObjectPtr(value);
+}
+
#if wxUSE_DATETIME
bool wxVariant::operator== (const wxDateTime& value) const
{
return (void*) ((wxVariantDataVoidPtr*) m_data)->GetValue();
}
-wxObject* wxVariant::GetWxObjectPtr()
+wxObject* wxVariant::GetWxObjectPtr() const
{
wxASSERT(wxIsKindOf(m_data, wxVariantDataWxObjectPtr));
return (wxObject*) ((wxVariantDataWxObjectPtr*) m_data)->GetValue();
(value->ParseDateTime(val) || value->ParseDate(val) || value->ParseTime(val));
}
#endif // wxUSE_DATETIME
+
+#endif // wxUSE_VARIANT