]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/treebase.h
generate a text event even if SetValue() didn't really chaneg anything
[wxWidgets.git] / include / wx / treebase.h
index 8ef315f8360e2280e2d2066c0596a07a4c6da0d9..6cc27b33d21e06a74ff9c29526710172a0ee01b0 100644 (file)
@@ -38,6 +38,7 @@ typedef void *wxTreeItemIdValue;
 
 class WXDLLEXPORT wxTreeItemId
 {
+    friend bool operator==(const wxTreeItemId&, const wxTreeItemId&);
 public:
     // ctors
         // 0 is invalid value for HTREEITEM
@@ -51,6 +52,8 @@ public:
     // accessors
         // is this a valid tree item?
     bool IsOk() const { return m_pItem != 0; }
+        // return true if this item is not valid
+    bool operator!() const { return !IsOk(); }
 
     // operations
         // invalidate the item
@@ -60,11 +63,23 @@ public:
     // deprecated: only for compatibility, don't work on 64 bit archs
     wxTreeItemId(long item) { m_pItem = (wxTreeItemIdValue)item; }
     operator long() const { return (long)m_pItem; }
-#endif // WXWIN_COMPATIBILITY_2_4
+#else // !WXWIN_COMPATIBILITY_2_4
+    operator bool() const { return IsOk(); }
+#endif // WXWIN_COMPATIBILITY_2_4/!WXWIN_COMPATIBILITY_2_4
 
     wxTreeItemIdValue m_pItem;
 };
 
+inline bool operator==(const wxTreeItemId& i1, const wxTreeItemId& i2)
+{
+    return i1.m_pItem == i2.m_pItem;
+}
+
+inline bool operator!=(const wxTreeItemId& i1, const wxTreeItemId& i2)
+{
+    return i1.m_pItem != i2.m_pItem;
+}
+
 // ----------------------------------------------------------------------------
 // wxTreeItemData is some (arbitrary) user class associated with some item. The
 // main advantage of having this class (compared to old untyped interface) is
@@ -276,7 +291,7 @@ private:
     friend class WXDLLEXPORT wxTreeCtrl;
     friend class WXDLLEXPORT wxGenericTreeCtrl;
 
-    DECLARE_DYNAMIC_CLASS(wxTreeEvent);
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxTreeEvent)
 };
 
 typedef void (wxEvtHandler::*wxTreeEventFunction)(wxTreeEvent&);