X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/12f5e1e78fe906050ff2fee9529476db332633f0..cf737db6572385131ef0d34041566489b631c3f9:/interface/wx/treebase.h diff --git a/interface/wx/treebase.h b/interface/wx/treebase.h index e1122c9c29..35cabc155d 100644 --- a/interface/wx/treebase.h +++ b/interface/wx/treebase.h @@ -3,7 +3,7 @@ // Purpose: interface of wxTreeItemId // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -12,7 +12,7 @@ An opaque reference to a tree item. @library{wxcore} - @category{misc} + @category{data} @see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl */ @@ -31,20 +31,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,33 +67,40 @@ 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(); /** 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 @@ -125,3 +127,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; + +