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
|
||||
when the reference count reaches zero.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/variant.h>
|
||||
|
@@ -59,13 +59,11 @@
|
||||
* overloading wxVariant with unnecessary functionality.
|
||||
*/
|
||||
|
||||
class WXDLLIMPEXP_BASE wxVariantData: public wxObject
|
||||
class WXDLLIMPEXP_BASE wxVariantData
|
||||
{
|
||||
friend class wxVariant;
|
||||
public:
|
||||
wxVariantData()
|
||||
: wxObject(), m_count(1)
|
||||
{ }
|
||||
wxVariantData() : m_count(1) { }
|
||||
|
||||
// Override these to provide common functionality
|
||||
virtual bool Eq(wxVariantData& data) const = 0;
|
||||
@@ -100,9 +98,6 @@ protected:
|
||||
|
||||
private:
|
||||
int m_count;
|
||||
|
||||
private:
|
||||
DECLARE_ABSTRACT_CLASS(wxVariantData)
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -369,13 +364,8 @@ public:\
|
||||
\
|
||||
protected:\
|
||||
classname m_value; \
|
||||
\
|
||||
private: \
|
||||
DECLARE_CLASS(classname##VariantData) \
|
||||
};\
|
||||
\
|
||||
IMPLEMENT_CLASS(classname##VariantData, wxVariantData)\
|
||||
\
|
||||
wxString classname##VariantData::GetType() const\
|
||||
{\
|
||||
return m_value.GetClassInfo()->GetClassName();\
|
||||
@@ -388,7 +378,7 @@ wxClassInfo* classname##VariantData::GetValueClassInfo()\
|
||||
\
|
||||
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();\
|
||||
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 \
|
||||
{\
|
||||
wxASSERT( wxIsKindOf((&data), classname##VariantData) );\
|
||||
wxASSERT( GetType() == data.GetType() );\
|
||||
\
|
||||
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 \
|
||||
{\
|
||||
wxASSERT( wxIsKindOf((&data), classname##VariantData) );\
|
||||
wxASSERT( GetType() == data.GetType() );\
|
||||
\
|
||||
classname##VariantData & otherData = (classname##VariantData &) data;\
|
||||
\
|
||||
|
@@ -49,8 +49,6 @@ using namespace std ;
|
||||
#include "wx/string.h"
|
||||
#include "wx/tokenzr.h"
|
||||
|
||||
IMPLEMENT_ABSTRACT_CLASS(wxVariantData, wxObject)
|
||||
|
||||
wxVariant WXDLLIMPEXP_BASE wxNullVariant;
|
||||
|
||||
|
||||
@@ -206,7 +204,6 @@ bool wxVariant::IsValueKindOf(const wxClassInfo* type) const
|
||||
|
||||
class WXDLLIMPEXP_BASE wxVariantDataLong: public wxVariantData
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataLong)
|
||||
public:
|
||||
wxVariantDataLong() { m_value = 0; }
|
||||
wxVariantDataLong(long value) { m_value = value; }
|
||||
@@ -233,8 +230,6 @@ protected:
|
||||
long m_value;
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataLong, wxVariantData)
|
||||
|
||||
bool wxVariantDataLong::Eq(wxVariantData& data) const
|
||||
{
|
||||
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
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDoubleData)
|
||||
public:
|
||||
wxVariantDoubleData() { m_value = 0.0; }
|
||||
wxVariantDoubleData(double value) { m_value = value; }
|
||||
@@ -384,8 +378,6 @@ protected:
|
||||
double m_value;
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDoubleData, wxVariantData)
|
||||
|
||||
bool wxVariantDoubleData::Eq(wxVariantData& data) const
|
||||
{
|
||||
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
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataBool)
|
||||
public:
|
||||
wxVariantDataBool() { m_value = 0; }
|
||||
wxVariantDataBool(bool value) { m_value = value; }
|
||||
@@ -524,8 +515,6 @@ protected:
|
||||
bool m_value;
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataBool, wxVariantData)
|
||||
|
||||
bool wxVariantDataBool::Eq(wxVariantData& data) const
|
||||
{
|
||||
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
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataChar)
|
||||
public:
|
||||
wxVariantDataChar() { m_value = 0; }
|
||||
wxVariantDataChar(const wxUniChar& value) { m_value = value; }
|
||||
@@ -665,8 +653,6 @@ protected:
|
||||
wxUniChar m_value;
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataChar, wxVariantData)
|
||||
|
||||
bool wxVariantDataChar::Eq(wxVariantData& data) const
|
||||
{
|
||||
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
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataString)
|
||||
public:
|
||||
wxVariantDataString() { }
|
||||
wxVariantDataString(const wxString& value) { m_value = value; }
|
||||
@@ -866,8 +851,6 @@ bool wxVariantDataString::Read(wxString& str)
|
||||
return true;
|
||||
}
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataString, wxVariantData)
|
||||
|
||||
// wxVariant ****
|
||||
|
||||
wxVariant::wxVariant(const wxString& val, const wxString& name)
|
||||
@@ -952,7 +935,6 @@ wxString wxVariant::GetString() const
|
||||
|
||||
class wxVariantDataWxObjectPtr: public wxVariantData
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataWxObjectPtr)
|
||||
public:
|
||||
wxVariantDataWxObjectPtr() { }
|
||||
wxVariantDataWxObjectPtr(wxObject* value) { m_value = value; }
|
||||
@@ -973,17 +955,14 @@ public:
|
||||
virtual wxVariantData* Clone() { return new wxVariantDataWxObjectPtr; }
|
||||
|
||||
virtual wxClassInfo* GetValueClassInfo();
|
||||
|
||||
protected:
|
||||
wxObject* m_value;
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxVariantDataWxObjectPtr)
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataWxObjectPtr, wxVariantData)
|
||||
|
||||
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;
|
||||
|
||||
@@ -992,10 +971,14 @@ bool wxVariantDataWxObjectPtr::Eq(wxVariantData& data) const
|
||||
|
||||
wxString wxVariantDataWxObjectPtr::GetType() const
|
||||
{
|
||||
wxString returnVal(wxT("wxObject"));
|
||||
if (m_value) {
|
||||
wxString returnVal(wxT("wxObject*"));
|
||||
|
||||
if (m_value)
|
||||
{
|
||||
returnVal = m_value->GetClassInfo()->GetClassName();
|
||||
returnVal += wxT("*");
|
||||
}
|
||||
|
||||
return returnVal;
|
||||
}
|
||||
|
||||
@@ -1064,7 +1047,6 @@ void wxVariant::operator= (wxObject* value)
|
||||
|
||||
wxObject* wxVariant::GetWxObjectPtr() const
|
||||
{
|
||||
wxASSERT(wxIsKindOf(GetData(), wxVariantDataWxObjectPtr));
|
||||
return (wxObject*) ((wxVariantDataWxObjectPtr*) m_data)->GetValue();
|
||||
}
|
||||
|
||||
@@ -1074,7 +1056,6 @@ wxObject* wxVariant::GetWxObjectPtr() const
|
||||
|
||||
class wxVariantDataVoidPtr: public wxVariantData
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataVoidPtr)
|
||||
public:
|
||||
wxVariantDataVoidPtr() { }
|
||||
wxVariantDataVoidPtr(void* value) { m_value = value; }
|
||||
@@ -1096,15 +1077,11 @@ public:
|
||||
|
||||
protected:
|
||||
void* m_value;
|
||||
|
||||
DECLARE_NO_COPY_CLASS(wxVariantDataVoidPtr)
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataVoidPtr, wxVariantData)
|
||||
|
||||
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;
|
||||
|
||||
@@ -1161,8 +1138,7 @@ bool wxVariant::operator!= (void* value) const
|
||||
|
||||
void wxVariant::operator= (void* value)
|
||||
{
|
||||
if (GetType() == wxT("void*") &&
|
||||
m_data->GetRefCount() == 1)
|
||||
if (GetType() == wxT("void*") && (m_data->GetRefCount() == 1))
|
||||
{
|
||||
((wxVariantDataVoidPtr*)GetData())->SetValue(value);
|
||||
}
|
||||
@@ -1188,8 +1164,6 @@ void* wxVariant::GetVoidPtr() const
|
||||
|
||||
class wxVariantDataDateTime: public wxVariantData
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataDateTime)
|
||||
|
||||
public:
|
||||
wxVariantDataDateTime() { }
|
||||
wxVariantDataDateTime(const wxDateTime& value) { m_value = value; }
|
||||
@@ -1223,8 +1197,6 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataDateTime, wxVariantData)
|
||||
|
||||
bool wxVariantDataDateTime::Eq(wxVariantData& data) const
|
||||
{
|
||||
wxASSERT_MSG( (data.GetType() == wxT("datetime")), wxT("wxVariantDataDateTime::Eq: argument mismatch") );
|
||||
@@ -1386,12 +1358,8 @@ public:
|
||||
|
||||
protected:
|
||||
wxArrayString m_value;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataArrayString)
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataArrayString, wxVariantData)
|
||||
|
||||
bool wxVariantDataArrayString::Eq(wxVariantData& data) const
|
||||
{
|
||||
wxASSERT_MSG( data.GetType() == GetType(), wxT("wxVariantDataArrayString::Eq: argument mismatch") );
|
||||
@@ -1492,7 +1460,6 @@ wxArrayString wxVariant::GetArrayString() const
|
||||
|
||||
class WXDLLIMPEXP_BASE wxVariantDataList: public wxVariantData
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxVariantDataList)
|
||||
public:
|
||||
wxVariantDataList() {}
|
||||
wxVariantDataList(const wxList& list);
|
||||
@@ -1518,8 +1485,6 @@ protected:
|
||||
wxList m_value;
|
||||
};
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxVariantDataList, wxVariantData)
|
||||
|
||||
wxVariantDataList::wxVariantDataList(const wxList& list)
|
||||
{
|
||||
SetValue(list);
|
||||
|
Reference in New Issue
Block a user