]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/treebase.h
mac paths updated
[wxWidgets.git] / interface / treebase.h
index f52b6383138d2867c07d02be478ddecd4c7520e2..84ffd78598027b862e1c26260ffd45f82475f588 100644 (file)
@@ -1,6 +1,6 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        treebase.h
-// Purpose:     documentation for wxTreeItemId class
+// Purpose:     interface of wxTreeItemId
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Licence:     wxWindows license
     An opaque reference to a tree item.
 
     @library{wxcore}
-    @category{FIXME}
+    @category{misc}
 
-    @seealso
-    wxTreeCtrl, wxTreeItemData, @ref overview_wxtreectrloverview "wxTreeCtrl
-    overview"
+    @see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
 */
 class wxTreeItemId
 {
 public:
     /**
-        Default constructor. wxTreemItemIds are not meant to be constructed explicitly
-        by
-        the user; they are returned by the wxTreeCtrl functions instead.
+        Default constructor. A wxTreeItemId is not meant to be constructed
+        explicitly by the user; only those returned by the wxTreeCtrl functions
+        should be used.
     */
     wxTreeItemId();
 
@@ -36,10 +34,96 @@ public:
 
     //@{
     /**
-        Operators for comparison between wxTreeItemId objects.
+         Operators for comparison between wxTreeItemId objects.
     */
-    void operator !() const;
-    const bool operator ==(const wxTreeItemId& item) const;
-    const bool operator !=(const wxTreeItemId& item) const;
+    bool operator ==(const wxTreeItemId& item) const;
+    bool operator !=(const wxTreeItemId& item) const;
     //@}
+
+    /**
+        Antonym of IsOk(), i.e. returns @true only if the item is not valid.
+    */
+    bool operator !() const;
+};
+
+/**
+    @class wxTreeItemData
+    @wxheader{treebase.h}
+
+    wxTreeItemData is some (arbitrary) user class associated with some item. The
+    main advantage of having this class is that wxTreeItemData objects are
+    destroyed automatically by the tree and, as this class has virtual
+    destructor, it means that the memory and any other resources associated with
+    a tree item will be automatically freed when it is deleted. Note that we
+    don't use wxObject as the base class for wxTreeItemData because the size of
+    this class is critical: in many applications, each tree leaf will have
+    wxTreeItemData associated with it and the number of leaves may be quite big.
+
+    Also please note that because the objects of this class are deleted by the
+    tree using the operator @c delete, they must always be allocated on the heap
+    using @c new.
+
+    @library{wxcore}
+    @category{containers}
+
+    @see wxTreeCtrl
+*/
+class wxTreeItemData : public wxClientData
+{
+public:
+    /**
+        Default constructor.
+
+        @beginWxPythonOnly
+        The following methods are added in wxPython for accessing the object:
+        - GetData(): Returns a reference to the Python Object.
+        - SetData(obj): Associates a new Python Object with the wxTreeItemData.
+        @endWxPythonOnly
+    */
+    wxTreeItemData();
+
+    /**
+        Virtual destructor.
+    */
+    ~wxTreeItemData();
+
+    /**
+        Returns the item associated with this node.
+    */
+    const wxTreeItemId GetId();
+
+    /**
+        Sets the item associated with this node.
+    */
+    void SetId(const wxTreeItemId& id);
+};
+
+/**
+    Indicates which type to associate an image with a wxTreeCtrl item.
+    
+    @see wxTreeCtrl::GetItemImage(), wxTreeCtrl::SetItemImage()
+*/
+enum wxTreeItemIcon
+{
+    /**
+        To get/set the item image for when the item is
+        @b not selected and @b not expanded.
+    */
+    wxTreeItemIcon_Normal,
+    /**
+        To get/set the item image for when the item is
+        @b selected and @b not expanded.
+    */
+    wxTreeItemIcon_Selected,
+    /**
+        To get/set the item image for when the item is
+        @b not selected and @b expanded.
+    */
+    wxTreeItemIcon_Expanded,
+    /**
+        To get/set the item image for when the item is
+        @b selected and @b expanded.
+    */
+    wxTreeItemIcon_SelectedExpanded,
+    wxTreeItemIcon_Max
 };