From 2f62094615768c051fec335b9bee4b2c8b7edf88 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Tue, 26 Sep 2006 21:08:23 +0000 Subject: [PATCH] Added wxVariant's =, == and != operators for wxObject* git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/variant.tex | 6 ++++++ include/wx/variant.h | 6 +++++- src/common/variant.cpp | 17 +++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/docs/latex/wx/variant.tex b/docs/latex/wx/variant.tex index 5f233fc1f1..eecefc84b4 100644 --- a/docs/latex/wx/variant.tex +++ b/docs/latex/wx/variant.tex @@ -306,6 +306,8 @@ Sets the internal variant data, deleting the existing data if there is any. \func{void}{operator $=$}{\param{void* }{value}} +\func{void}{operator $=$}{\param{wxObject* }{value}} + \func{void}{operator $=$}{\param{const wxList\& }{value}} \func{void}{operator $=$}{\param{const wxDateTime\& }{value}} @@ -338,6 +340,8 @@ Assignment operators. \constfunc{bool}{operator $==$}{\param{void* }{value}} +\constfunc{bool}{operator $==$}{\param{wxObject* }{value}} + \constfunc{bool}{operator $==$}{\param{const wxList\& }{value}} \constfunc{bool}{operator $==$}{\param{const wxArrayString\& }{value}} @@ -364,6 +368,8 @@ Equality test operators. \constfunc{bool}{operator $!=$}{\param{void* }{value}} +\constfunc{bool}{operator $!=$}{\param{wxObject* }{value}} + \constfunc{bool}{operator $!=$}{\param{const wxList\& }{value}} \constfunc{bool}{operator $!=$}{\param{const wxArrayString\& }{value}} diff --git a/include/wx/variant.h b/include/wx/variant.h index 9388e4b6d8..2086ee3867 100644 --- a/include/wx/variant.h +++ b/include/wx/variant.h @@ -168,7 +168,11 @@ public: void operator= (const wxList& value) ; bool operator== (void* value) const; bool operator!= (void* value) const; - void operator= (void* value) ; + void operator= (void* value); + bool operator== (wxObject* value) const; + bool operator!= (wxObject* value) const; + void operator= (wxObject* value); + // Treat a list variant as an array wxVariant operator[] (size_t idx) const; diff --git a/src/common/variant.cpp b/src/common/variant.cpp index 2ebfcff9d8..b17b2c1f66 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -1628,6 +1628,23 @@ void wxVariant::operator= (void* value) } } +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 { -- 2.47.2