]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/treebase.h
Add wxGenericProgressDialog
[wxWidgets.git] / interface / wx / treebase.h
index 84ffd78598027b862e1c26260ffd45f82475f588..e339ca6381428b5e8989d881b5728f490268f9ac 100644 (file)
@@ -3,17 +3,16 @@
 // Purpose:     interface of wxTreeItemId
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxTreeItemId
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxTreeItemId
 /////////////////////////////////////////////////////////////////////////////
 
 /**
     @class wxTreeItemId
-    @wxheader{treebase.h}
 
     An opaque reference to a tree item.
 
     @library{wxcore}
 
     An opaque reference to a tree item.
 
     @library{wxcore}
-    @category{misc}
+    @category{data}
 
     @see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
 */
 
     @see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
 */
@@ -32,23 +31,17 @@ public:
     */
     bool IsOk() const;
 
     */
     bool IsOk() const;
 
-    //@{
-    /**
-         Operators for comparison between wxTreeItemId objects.
-    */
-    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;
+    void* GetID() const;
+    void Unset();
 };
 
 };
 
+bool operator==(const wxTreeItemId& left, const wxTreeItemId& right);
+bool operator!=(const wxTreeItemId& left, const wxTreeItemId& right);
+
+
+
 /**
     @class wxTreeItemData
 /**
     @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
 
     wxTreeItemData is some (arbitrary) user class associated with some item. The
     main advantage of having this class is that wxTreeItemData objects are
@@ -79,28 +72,41 @@ public:
         - GetData(): Returns a reference to the Python Object.
         - SetData(obj): Associates a new Python Object with the wxTreeItemData.
         @endWxPythonOnly
         - GetData(): Returns a reference to the Python Object.
         - SetData(obj): Associates a new Python Object with the wxTreeItemData.
         @endWxPythonOnly
+
+        @beginWxPerlOnly
+        In wxPerl the constructor accepts a scalar as an optional parameter
+        and stores it as client data; use
+        - GetData() to retrieve the value.
+        - SetData(data) to set it.
+        @endWxPerlOnly
     */
     wxTreeItemData();
 
     /**
         Virtual destructor.
     */
     */
     wxTreeItemData();
 
     /**
         Virtual destructor.
     */
-    ~wxTreeItemData();
+    virtual ~wxTreeItemData();
 
     /**
         Returns the item associated with this node.
     */
 
     /**
         Returns the item associated with this node.
     */
-    const wxTreeItemId GetId();
+    const wxTreeItemId& GetId() const;
 
     /**
         Sets the item associated with this node.
 
     /**
         Sets the item associated with this node.
+
+        Notice that this function is automatically called by wxTreeCtrl methods
+        associating an object of this class with a tree control item such as
+        wxTreeCtrl::AppendItem(), wxTreeCtrl::InsertItem() and
+        wxTreeCtrl::SetItemData() so there is usually no need to call it
+        yourself.
     */
     void SetId(const wxTreeItemId& id);
 };
 
 /**
     Indicates which type to associate an image with a wxTreeCtrl item.
     */
     void SetId(const wxTreeItemId& id);
 };
 
 /**
     Indicates which type to associate an image with a wxTreeCtrl item.
-    
+
     @see wxTreeCtrl::GetItemImage(), wxTreeCtrl::SetItemImage()
 */
 enum wxTreeItemIcon
     @see wxTreeCtrl::GetItemImage(), wxTreeCtrl::SetItemImage()
 */
 enum wxTreeItemIcon
@@ -127,3 +133,64 @@ enum wxTreeItemIcon
     wxTreeItemIcon_SelectedExpanded,
     wxTreeItemIcon_Max
 };
     wxTreeItemIcon_SelectedExpanded,
     wxTreeItemIcon_Max
 };
+
+
+/// special values for the 'state' parameter of wxTreeCtrl::SetItemState()
+static const int wxTREE_ITEMSTATE_NONE  = -1;   // not state (no display state image)
+static const int wxTREE_ITEMSTATE_NEXT  = -2;   // cycle to the next state
+static const int wxTREE_ITEMSTATE_PREV  = -3;   // cycle to the previous state
+
+#define wxTR_NO_BUTTONS              0x0000     // for convenience
+#define wxTR_HAS_BUTTONS             0x0001     // draw collapsed/expanded btns
+#define wxTR_NO_LINES                0x0004     // don't draw lines at all
+#define wxTR_LINES_AT_ROOT           0x0008     // connect top-level nodes
+#define wxTR_TWIST_BUTTONS           0x0010     // still used by wxTreeListCtrl
+
+#define wxTR_SINGLE                  0x0000     // for convenience
+#define wxTR_MULTIPLE                0x0020     // can select multiple items
+
+#define wxTR_HAS_VARIABLE_ROW_HEIGHT 0x0080     // what it says
+
+#define wxTR_EDIT_LABELS             0x0200     // can edit item labels
+#define wxTR_ROW_LINES               0x0400     // put border around items
+#define wxTR_HIDE_ROOT               0x0800     // don't display root node
+
+#define wxTR_FULL_ROW_HIGHLIGHT      0x2000     // highlight full horz space
+
+// make the default control appearance look more native-like depending on the
+// platform
+#define wxTR_DEFAULT_STYLE       (wxTR_HAS_BUTTONS | wxTR_LINES_AT_ROOT)
+
+
+// values for the `flags' parameter of wxTreeCtrl::HitTest() which determine
+// where exactly the specified point is situated:
+
+static const int wxTREE_HITTEST_ABOVE            = 0x0001;
+static const int wxTREE_HITTEST_BELOW            = 0x0002;
+static const int wxTREE_HITTEST_NOWHERE          = 0x0004;
+    // on the button associated with an item.
+static const int wxTREE_HITTEST_ONITEMBUTTON     = 0x0008;
+    // on the bitmap associated with an item.
+static const int wxTREE_HITTEST_ONITEMICON       = 0x0010;
+    // on the indent associated with an item.
+static const int wxTREE_HITTEST_ONITEMINDENT     = 0x0020;
+    // on the label (string) associated with an item.
+static const int wxTREE_HITTEST_ONITEMLABEL      = 0x0040;
+    // on the right of the label associated with an item.
+static const int wxTREE_HITTEST_ONITEMRIGHT      = 0x0080;
+    // on the label (string) associated with an item.
+static const int wxTREE_HITTEST_ONITEMSTATEICON  = 0x0100;
+    // on the left of the wxTreeCtrl.
+static const int wxTREE_HITTEST_TOLEFT           = 0x0200;
+    // on the right of the wxTreeCtrl.
+static const int wxTREE_HITTEST_TORIGHT          = 0x0400;
+    // on the upper part (first half) of the item.
+static const int wxTREE_HITTEST_ONITEMUPPERPART  = 0x0800;
+    // on the lower part (second half) of the item.
+static const int wxTREE_HITTEST_ONITEMLOWERPART  = 0x1000;
+
+    // anywhere on the item
+static const int wxTREE_HITTEST_ONITEM  = wxTREE_HITTEST_ONITEMICON |
+                                          wxTREE_HITTEST_ONITEMLABEL;
+
+