wxVariantData no longer inherits from wxObject
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49147 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -509,10 +509,6 @@ Also note that the destructor is protected, so you can never explicitly delete a
|
|||||||
instance. Instead, \helpref{DecRef}{wxvariantdatadecref} will delete the object automatically
|
instance. Instead, \helpref{DecRef}{wxvariantdatadecref} will delete the object automatically
|
||||||
when the reference count reaches zero.
|
when the reference count reaches zero.
|
||||||
|
|
||||||
\wxheading{Derived from}
|
|
||||||
|
|
||||||
\helpref{wxObject}{wxobject}
|
|
||||||
|
|
||||||
\wxheading{Include files}
|
\wxheading{Include files}
|
||||||
|
|
||||||
<wx/variant.h>
|
<wx/variant.h>
|
||||||
|
@@ -59,13 +59,11 @@
|
|||||||
* overloading wxVariant with unnecessary functionality.
|
* overloading wxVariant with unnecessary functionality.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantData: public wxObject
|
class WXDLLIMPEXP_BASE wxVariantData
|
||||||
{
|
{
|
||||||
friend class wxVariant;
|
friend class wxVariant;
|
||||||
public:
|
public:
|
||||||
wxVariantData()
|
wxVariantData() : m_count(1) { }
|
||||||
: wxObject(), m_count(1)
|
|
||||||
{ }
|
|
||||||
|
|
||||||
// Override these to provide common functionality
|
// Override these to provide common functionality
|
||||||
virtual bool Eq(wxVariantData& data) const = 0;
|
virtual bool Eq(wxVariantData& data) const = 0;
|
||||||
@@ -100,9 +98,6 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
int m_count;
|
int m_count;
|
||||||
|
|
||||||
private:
|
|
||||||
DECLARE_ABSTRACT_CLASS(wxVariantData)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -369,13 +364,8 @@ public:\
|
|||||||
\
|
\
|
||||||
protected:\
|
protected:\
|
||||||
classname m_value; \
|
classname m_value; \
|
||||||
\
|
|
||||||
private: \
|
|
||||||
DECLARE_CLASS(classname##VariantData) \
|
|
||||||
};\
|
};\
|
||||||
\
|
\
|
||||||
IMPLEMENT_CLASS(classname##VariantData, wxVariantData)\
|
|
||||||
\
|
|
||||||
wxString classname##VariantData::GetType() const\
|
wxString classname##VariantData::GetType() const\
|
||||||
{\
|
{\
|
||||||
return m_value.GetClassInfo()->GetClassName();\
|
return m_value.GetClassInfo()->GetClassName();\
|
||||||
@@ -388,7 +378,7 @@ wxClassInfo* classname##VariantData::GetValueClassInfo()\
|
|||||||
\
|
\
|
||||||
expdecl classname& operator << ( classname &value, const wxVariant &variant )\
|
expdecl classname& operator << ( classname &value, const wxVariant &variant )\
|
||||||
{\
|
{\
|
||||||
wxASSERT( wxIsKindOf( variant.GetData(), classname##VariantData ) );\
|
wxASSERT( variant.GetType() == #classname );\
|
||||||
\
|
\
|
||||||
classname##VariantData *data = (classname##VariantData*) variant.GetData();\
|
classname##VariantData *data = (classname##VariantData*) variant.GetData();\
|
||||||
value = data->GetValue();\
|
value = data->GetValue();\
|
||||||
@@ -409,7 +399,7 @@ IMPLEMENT_VARIANT_OBJECT_EXPORTED_NO_EQ(classname,wxEMPTY_PARAMETER_VALUE expdec
|
|||||||
\
|
\
|
||||||
bool classname##VariantData::Eq(wxVariantData& data) const \
|
bool classname##VariantData::Eq(wxVariantData& data) const \
|
||||||
{\
|
{\
|
||||||
wxASSERT( wxIsKindOf((&data), classname##VariantData) );\
|
wxASSERT( GetType() == data.GetType() );\
|
||||||
\
|
\
|
||||||
classname##VariantData & otherData = (classname##VariantData &) data;\
|
classname##VariantData & otherData = (classname##VariantData &) data;\
|
||||||
\
|
\
|
||||||
@@ -426,7 +416,7 @@ IMPLEMENT_VARIANT_OBJECT_EXPORTED_NO_EQ(classname,wxEMPTY_PARAMETER_VALUE expdec
|
|||||||
\
|
\
|
||||||
bool classname##VariantData::Eq(wxVariantData& data) const \
|
bool classname##VariantData::Eq(wxVariantData& data) const \
|
||||||
{\
|
{\
|
||||||
wxASSERT( wxIsKindOf((&data), classname##VariantData) );\
|
wxASSERT( GetType() == data.GetType() );\
|
||||||
\
|
\
|
||||||
classname##VariantData & otherData = (classname##VariantData &) data;\
|
classname##VariantData & otherData = (classname##VariantData &) data;\
|
||||||
\
|
\
|
||||||
|
@@ -49,8 +49,6 @@ using namespace std ;
|
|||||||
#include "wx/string.h"
|
#include "wx/string.h"
|
||||||
#include "wx/tokenzr.h"
|
#include "wx/tokenzr.h"
|
||||||
|
|
||||||
IMPLEMENT_ABSTRACT_CLASS(wxVariantData, wxObject)
|
|
||||||
|
|
||||||
wxVariant WXDLLIMPEXP_BASE wxNullVariant;
|
wxVariant WXDLLIMPEXP_BASE wxNullVariant;
|
||||||
|
|
||||||
|
|
||||||
@@ -206,7 +204,6 @@ bool wxVariant::IsValueKindOf(const wxClassInfo* type) const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDataLong: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDataLong: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataLong)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataLong() { m_value = 0; }
|
wxVariantDataLong() { m_value = 0; }
|
||||||
wxVariantDataLong(long value) { m_value = value; }
|
wxVariantDataLong(long value) { m_value = value; }
|
||||||
@@ -233,8 +230,6 @@ protected:
|
|||||||
long m_value;
|
long m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataLong, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataLong::Eq(wxVariantData& data) const
|
bool wxVariantDataLong::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("long")), wxT("wxVariantDataLong::Eq: argument mismatch") );
|
wxASSERT_MSG( (data.GetType() == wxT("long")), wxT("wxVariantDataLong::Eq: argument mismatch") );
|
||||||
@@ -357,7 +352,6 @@ long wxVariant::GetLong() const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDoubleData: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDoubleData: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDoubleData)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDoubleData() { m_value = 0.0; }
|
wxVariantDoubleData() { m_value = 0.0; }
|
||||||
wxVariantDoubleData(double value) { m_value = value; }
|
wxVariantDoubleData(double value) { m_value = value; }
|
||||||
@@ -384,8 +378,6 @@ protected:
|
|||||||
double m_value;
|
double m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDoubleData, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDoubleData::Eq(wxVariantData& data) const
|
bool wxVariantDoubleData::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("double")), wxT("wxVariantDoubleData::Eq: argument mismatch") );
|
wxASSERT_MSG( (data.GetType() == wxT("double")), wxT("wxVariantDoubleData::Eq: argument mismatch") );
|
||||||
@@ -497,7 +489,6 @@ double wxVariant::GetDouble() const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDataBool: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDataBool: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataBool)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataBool() { m_value = 0; }
|
wxVariantDataBool() { m_value = 0; }
|
||||||
wxVariantDataBool(bool value) { m_value = value; }
|
wxVariantDataBool(bool value) { m_value = value; }
|
||||||
@@ -524,8 +515,6 @@ protected:
|
|||||||
bool m_value;
|
bool m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataBool, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataBool::Eq(wxVariantData& data) const
|
bool wxVariantDataBool::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("bool")), wxT("wxVariantDataBool::Eq: argument mismatch") );
|
wxASSERT_MSG( (data.GetType() == wxT("bool")), wxT("wxVariantDataBool::Eq: argument mismatch") );
|
||||||
@@ -640,7 +629,6 @@ bool wxVariant::GetBool() const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDataChar: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDataChar: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataChar)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataChar() { m_value = 0; }
|
wxVariantDataChar() { m_value = 0; }
|
||||||
wxVariantDataChar(const wxUniChar& value) { m_value = value; }
|
wxVariantDataChar(const wxUniChar& value) { m_value = value; }
|
||||||
@@ -665,8 +653,6 @@ protected:
|
|||||||
wxUniChar m_value;
|
wxUniChar m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataChar, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataChar::Eq(wxVariantData& data) const
|
bool wxVariantDataChar::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("char")), wxT("wxVariantDataChar::Eq: argument mismatch") );
|
wxASSERT_MSG( (data.GetType() == wxT("char")), wxT("wxVariantDataChar::Eq: argument mismatch") );
|
||||||
@@ -792,7 +778,6 @@ wxUniChar wxVariant::GetChar() const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDataString: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDataString: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataString)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataString() { }
|
wxVariantDataString() { }
|
||||||
wxVariantDataString(const wxString& value) { m_value = value; }
|
wxVariantDataString(const wxString& value) { m_value = value; }
|
||||||
@@ -866,8 +851,6 @@ bool wxVariantDataString::Read(wxString& str)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataString, wxVariantData)
|
|
||||||
|
|
||||||
// wxVariant ****
|
// wxVariant ****
|
||||||
|
|
||||||
wxVariant::wxVariant(const wxString& val, const wxString& name)
|
wxVariant::wxVariant(const wxString& val, const wxString& name)
|
||||||
@@ -952,7 +935,6 @@ wxString wxVariant::GetString() const
|
|||||||
|
|
||||||
class wxVariantDataWxObjectPtr: public wxVariantData
|
class wxVariantDataWxObjectPtr: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataWxObjectPtr)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataWxObjectPtr() { }
|
wxVariantDataWxObjectPtr() { }
|
||||||
wxVariantDataWxObjectPtr(wxObject* value) { m_value = value; }
|
wxVariantDataWxObjectPtr(wxObject* value) { m_value = value; }
|
||||||
@@ -973,17 +955,14 @@ public:
|
|||||||
virtual wxVariantData* Clone() { return new wxVariantDataWxObjectPtr; }
|
virtual wxVariantData* Clone() { return new wxVariantDataWxObjectPtr; }
|
||||||
|
|
||||||
virtual wxClassInfo* GetValueClassInfo();
|
virtual wxClassInfo* GetValueClassInfo();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxObject* m_value;
|
wxObject* m_value;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxVariantDataWxObjectPtr)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataWxObjectPtr, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataWxObjectPtr::Eq(wxVariantData& data) const
|
bool wxVariantDataWxObjectPtr::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( wxIsKindOf((&data), wxVariantDataWxObjectPtr), wxT("wxVariantDataWxObjectPtr::Eq: argument mismatch") );
|
wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataWxObjectPtr::Eq: argument mismatch") );
|
||||||
|
|
||||||
wxVariantDataWxObjectPtr& otherData = (wxVariantDataWxObjectPtr&) data;
|
wxVariantDataWxObjectPtr& otherData = (wxVariantDataWxObjectPtr&) data;
|
||||||
|
|
||||||
@@ -992,10 +971,14 @@ bool wxVariantDataWxObjectPtr::Eq(wxVariantData& data) const
|
|||||||
|
|
||||||
wxString wxVariantDataWxObjectPtr::GetType() const
|
wxString wxVariantDataWxObjectPtr::GetType() const
|
||||||
{
|
{
|
||||||
wxString returnVal(wxT("wxObject"));
|
wxString returnVal(wxT("wxObject*"));
|
||||||
if (m_value) {
|
|
||||||
|
if (m_value)
|
||||||
|
{
|
||||||
returnVal = m_value->GetClassInfo()->GetClassName();
|
returnVal = m_value->GetClassInfo()->GetClassName();
|
||||||
|
returnVal += wxT("*");
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnVal;
|
return returnVal;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1064,7 +1047,6 @@ void wxVariant::operator= (wxObject* value)
|
|||||||
|
|
||||||
wxObject* wxVariant::GetWxObjectPtr() const
|
wxObject* wxVariant::GetWxObjectPtr() const
|
||||||
{
|
{
|
||||||
wxASSERT(wxIsKindOf(GetData(), wxVariantDataWxObjectPtr));
|
|
||||||
return (wxObject*) ((wxVariantDataWxObjectPtr*) m_data)->GetValue();
|
return (wxObject*) ((wxVariantDataWxObjectPtr*) m_data)->GetValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1074,7 +1056,6 @@ wxObject* wxVariant::GetWxObjectPtr() const
|
|||||||
|
|
||||||
class wxVariantDataVoidPtr: public wxVariantData
|
class wxVariantDataVoidPtr: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataVoidPtr)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataVoidPtr() { }
|
wxVariantDataVoidPtr() { }
|
||||||
wxVariantDataVoidPtr(void* value) { m_value = value; }
|
wxVariantDataVoidPtr(void* value) { m_value = value; }
|
||||||
@@ -1096,15 +1077,11 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void* m_value;
|
void* m_value;
|
||||||
|
|
||||||
DECLARE_NO_COPY_CLASS(wxVariantDataVoidPtr)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataVoidPtr, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataVoidPtr::Eq(wxVariantData& data) const
|
bool wxVariantDataVoidPtr::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("void*")), wxT("wxVariantDataVoidPtr::Eq: argument mismatch") );
|
wxASSERT_MSG( data.GetType() == wxT("void*"), wxT("wxVariantDataVoidPtr::Eq: argument mismatch") );
|
||||||
|
|
||||||
wxVariantDataVoidPtr& otherData = (wxVariantDataVoidPtr&) data;
|
wxVariantDataVoidPtr& otherData = (wxVariantDataVoidPtr&) data;
|
||||||
|
|
||||||
@@ -1161,8 +1138,7 @@ bool wxVariant::operator!= (void* value) const
|
|||||||
|
|
||||||
void wxVariant::operator= (void* value)
|
void wxVariant::operator= (void* value)
|
||||||
{
|
{
|
||||||
if (GetType() == wxT("void*") &&
|
if (GetType() == wxT("void*") && (m_data->GetRefCount() == 1))
|
||||||
m_data->GetRefCount() == 1)
|
|
||||||
{
|
{
|
||||||
((wxVariantDataVoidPtr*)GetData())->SetValue(value);
|
((wxVariantDataVoidPtr*)GetData())->SetValue(value);
|
||||||
}
|
}
|
||||||
@@ -1188,8 +1164,6 @@ void* wxVariant::GetVoidPtr() const
|
|||||||
|
|
||||||
class wxVariantDataDateTime: public wxVariantData
|
class wxVariantDataDateTime: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataDateTime)
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataDateTime() { }
|
wxVariantDataDateTime() { }
|
||||||
wxVariantDataDateTime(const wxDateTime& value) { m_value = value; }
|
wxVariantDataDateTime(const wxDateTime& value) { m_value = value; }
|
||||||
@@ -1223,8 +1197,6 @@ protected:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataDateTime, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataDateTime::Eq(wxVariantData& data) const
|
bool wxVariantDataDateTime::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (data.GetType() == wxT("datetime")), wxT("wxVariantDataDateTime::Eq: argument mismatch") );
|
wxASSERT_MSG( (data.GetType() == wxT("datetime")), wxT("wxVariantDataDateTime::Eq: argument mismatch") );
|
||||||
@@ -1386,12 +1358,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxArrayString m_value;
|
wxArrayString m_value;
|
||||||
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataArrayString)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataArrayString, wxVariantData)
|
|
||||||
|
|
||||||
bool wxVariantDataArrayString::Eq(wxVariantData& data) const
|
bool wxVariantDataArrayString::Eq(wxVariantData& data) const
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataArrayString::Eq: argument mismatch") );
|
wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataArrayString::Eq: argument mismatch") );
|
||||||
@@ -1492,7 +1460,6 @@ wxArrayString wxVariant::GetArrayString() const
|
|||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxVariantDataList: public wxVariantData
|
class WXDLLIMPEXP_BASE wxVariantDataList: public wxVariantData
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxVariantDataList)
|
|
||||||
public:
|
public:
|
||||||
wxVariantDataList() {}
|
wxVariantDataList() {}
|
||||||
wxVariantDataList(const wxList& list);
|
wxVariantDataList(const wxList& list);
|
||||||
@@ -1518,8 +1485,6 @@ protected:
|
|||||||
wxList m_value;
|
wxList m_value;
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataList, wxVariantData)
|
|
||||||
|
|
||||||
wxVariantDataList::wxVariantDataList(const wxList& list)
|
wxVariantDataList::wxVariantDataList(const wxList& list)
|
||||||
{
|
{
|
||||||
SetValue(list);
|
SetValue(list);
|
||||||
|
Reference in New Issue
Block a user