- wxArrayString GetValue() const { return m_value; }
- void SetValue(const wxArrayString& 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("arrstring"); };
- virtual wxVariantData* Clone() { return new wxVariantDataArrayString; }
-
-protected:
- wxArrayString m_value;
-
- DECLARE_DYNAMIC_CLASS(wxVariantDataArrayString)
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxVariantDataArrayString, wxVariantData)
-
-void wxVariantDataArrayString::Copy(wxVariantData& data)
-{
- wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataArrayString::Copy: Can't copy to this type of data") );
-
- wxVariantDataArrayString& otherData = (wxVariantDataArrayString&) data;
-
- otherData.m_value = m_value;
-}
-
-
-bool wxVariantDataArrayString::Eq(wxVariantData& data) const
-{
- wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataArrayString::Eq: argument mismatch") );
-
- wxVariantDataArrayString& otherData = (wxVariantDataArrayString&) data;
-
- return otherData.m_value == m_value;
-}
-
-
-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataArrayString::Write(wxSTD ostream& WXUNUSED(str)) const
-{
- // Not implemented
- return false;
-}
-#endif
-
-
-bool wxVariantDataArrayString::Write(wxString& str) const
-{
- size_t count = m_value.GetCount();
- for ( size_t n = 0; n < count; n++ )
- {
- if ( n )
- str += _T(';');
-
- str += m_value[n];
- }
-
- return true;
-}
-
-
-#if wxUSE_STD_IOSTREAM
-bool wxVariantDataArrayString::Read(wxSTD istream& WXUNUSED(str))
-{
- // Not implemented
- return false;
-}
-#endif
-
-
-bool wxVariantDataArrayString::Read(wxString& str)
-{
- wxStringTokenizer tk(str, _T(";"));
- while ( tk.HasMoreTokens() )
- {
- m_value.Add(tk.GetNextToken());
- }
-
- return true;
-}
-
-
-
-/*
- * wxVariant
- */
-
-IMPLEMENT_DYNAMIC_CLASS(wxVariant, wxObject)
-
-// Construction & destruction
-wxVariant::wxVariant()
-{
- m_data = (wxVariantData*) NULL;
-}
-
-wxVariant::wxVariant(double val, const wxString& name)
-{
- m_data = new wxVariantDataReal(val);
- m_name = name;
-}
-
-wxVariant::wxVariant(long val, const wxString& name)
-{
- m_data = new wxVariantDataLong(val);
- m_name = name;
-}
-
-#ifdef HAVE_BOOL
-wxVariant::wxVariant(bool val, const wxString& name)
-{
- m_data = new wxVariantDataBool(val);
- m_name = name;
-}
-#endif
-
-wxVariant::wxVariant(char val, const wxString& name)
-{
- m_data = new wxVariantDataChar(val);
- m_name = name;
-}
-
-wxVariant::wxVariant(const wxString& val, const wxString& name)
-{
- m_data = new wxVariantDataString(val);
- m_name = name;
-}
-
-wxVariant::wxVariant(const wxChar* val, const wxString& name)
-{
- m_data = new wxVariantDataString(wxString(val));
- m_name = name;
-}
-
-#if WXWIN_COMPATIBILITY_2_4
-
-wxVariant::wxVariant(const wxStringList& val, const wxString& name)
-{
- m_data = new wxVariantDataStringList(val);
- m_name = name;
-}
-
-#endif
-
-wxVariant::wxVariant(const wxList& val, const wxString& name) // List of variants
-{
- m_data = new wxVariantDataList(val);
- m_name = name;
-}
-
-wxVariant::wxVariant( void* val, const wxString& name)
-{
- m_data = new wxVariantDataVoidPtr(val);
- m_name = name;
-}
-
-wxVariant::wxVariant( wxObject* val, const wxString& name)
-{
- m_data = new wxVariantDataWxObjectPtr(val);
- m_name = name;
-}
-
-#if wxUSE_DATETIME
-wxVariant::wxVariant(const wxDateTime& val, const wxString& name) // Date
-{
- m_data = new wxVariantDataDateTime(val);
- m_name = name;
-}
-#endif // wxUSE_DATETIME
-
-#if wxUSE_ODBC
-wxVariant::wxVariant(const TIME_STRUCT* valptr, const wxString& name) // Date
-{
- m_data = new wxVariantDataDateTime(valptr);
- m_name = name;
-}
-
-wxVariant::wxVariant(const TIMESTAMP_STRUCT* valptr, const wxString& name) // Date
-{
- m_data = new wxVariantDataDateTime(valptr);
- m_name = name;
-}