]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixes to comparison operators for wxDVC classes.
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Oct 2009 17:00:28 +0000 (17:00 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 14 Oct 2009 17:00:28 +0000 (17:00 +0000)
Comparison operators for wxDataViewItem and wxDataViewIconText were not inline
and not exported, resulting in linking errors for any code using them in
shared wx build. Fix this by making them inline.

Also correct wxDataViewIconText operator==() implementation to compare icons
as well and to return true when comparing the object with itself.

Finally add operator!=() matching existing operator==() as a class having one
of these operators is supposed to have the other one as well and it costs
nothing to define it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dataview.h
src/common/datavcmn.cpp

index 29c1f55d00117db9665f9a3ca9932404727f231a..9c6205d95eb66642d1f5ef7162e5c3926086a37a 100644 (file)
@@ -85,7 +85,17 @@ private:
     void* m_id;
 };
 
-bool operator == (const wxDataViewItem &left, const wxDataViewItem &right);
+inline
+bool operator==(const wxDataViewItem& left, const wxDataViewItem& right)
+{
+    return left.GetID() == right.GetID();
+}
+
+inline
+bool operator!=(const wxDataViewItem& left, const wxDataViewItem& right)
+{
+    return !(left == right);
+}
 
 WX_DEFINE_ARRAY(wxDataViewItem, wxDataViewItemArray);
 
@@ -482,7 +492,18 @@ private:
     DECLARE_DYNAMIC_CLASS(wxDataViewIconText)
 };
 
-bool operator == (const wxDataViewIconText &one, const wxDataViewIconText &two);
+inline
+bool operator==(const wxDataViewIconText& left, const wxDataViewIconText& right)
+{
+    return left.GetText() == right.GetText() &&
+             left.GetIcon().IsSameAs(right.GetIcon());
+}
+
+inline
+bool operator!=(const wxDataViewIconText& left, const wxDataViewIconText& right)
+{
+    return !(left == right);
+}
 
 DECLARE_VARIANT_OBJECT_EXPORTED(wxDataViewIconText, WXDLLIMPEXP_ADV)
 
index 66982abf7a2b18c8ad52a6fa3092e1f417e9735e..fd3ccde0b82fdc30851e21e9efc05e62351166c1 100644 (file)
 
 const char wxDataViewCtrlNameStr[] = "dataviewCtrl";
 
-
-bool operator == (const wxDataViewItem &left, const wxDataViewItem &right)
-{
-    return (left.GetID() == right.GetID() );
-}
-
 // ---------------------------------------------------------
 // wxDataViewModelNotifier
 // ---------------------------------------------------------
@@ -642,13 +636,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxDataViewIconText,wxObject)
 
 IMPLEMENT_VARIANT_OBJECT_EXPORTED(wxDataViewIconText, WXDLLIMPEXP_ADV)
 
-bool operator == (const wxDataViewIconText &one, const wxDataViewIconText &two)
-{
-    if (one.GetText() != two.GetText()) return false;
-    if (one.IsSameAs(two)) return false;
-    return true;
-}
-
 // ---------------------------------------------------------
 // wxDataViewRendererBase
 // ---------------------------------------------------------