X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/328f5751e8a06727b137189fe04891a9f43bfc8b..3201a1046ba71ba8e5ef2ed694fde34d12f743f3:/interface/treebase.h diff --git a/interface/treebase.h b/interface/treebase.h index f52b638313..84ffd78598 100644 --- a/interface/treebase.h +++ b/interface/treebase.h @@ -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 @@ -13,19 +13,17 @@ 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 };