]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/treebase.h
Add test for absence of events from wxSpinCtrlDouble ctor.
[wxWidgets.git] / interface / wx / treebase.h
index 4961f6678185098eaa92f8a273efe1de0516816c..b5ffb4e675b28e8f54832bb6ed5b4b61314211f5 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        treebase.h
 // Purpose:     interface of wxTreeItemId
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -31,20 +30,15 @@ public:
     */
     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
 
@@ -72,11 +66,12 @@ 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
+        @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();
 
@@ -92,6 +87,12 @@ public:
 
     /**
         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);
 };
@@ -125,3 +126,64 @@ enum wxTreeItemIcon
     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;
+
+