// Purpose: interface of wxTreeItemId
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
An opaque reference to a tree item.
@library{wxcore}
- @category{misc}
+ @category{data}
@see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
*/
*/
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
/**
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();
/**
Virtual destructor.
*/
- ~wxTreeItemData();
+ virtual ~wxTreeItemData();
/**
Returns the item associated with this node.
*/
- const wxTreeItemId GetId();
+ const wxTreeItemId& GetId() const;
/**
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.
-
+
@see wxTreeCtrl::GetItemImage(), wxTreeCtrl::SetItemImage()
*/
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;
+
+