2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: treebase.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxTreeItemId
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxTreeItemId
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
An opaque reference to a tree item.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
2009-02-20 06:34:52 -05:00
|
|
|
@category{data}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-20 03:48:30 -04:00
|
|
|
@see wxTreeCtrl, wxTreeItemData, @ref overview_treectrl
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
class wxTreeItemId
|
2008-03-08 08:52:38 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
2008-05-20 03:48:30 -04:00
|
|
|
Default constructor. A wxTreeItemId is not meant to be constructed
|
|
|
|
explicitly by the user; only those returned by the wxTreeCtrl functions
|
|
|
|
should be used.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
wxTreeItemId();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns @true if this instance is referencing a valid tree item.
|
|
|
|
*/
|
2008-03-09 12:24:26 -04:00
|
|
|
bool IsOk() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
//@{
|
|
|
|
/**
|
2008-05-20 03:48:30 -04:00
|
|
|
Operators for comparison between wxTreeItemId objects.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-05-20 03:48:30 -04:00
|
|
|
bool operator ==(const wxTreeItemId& item) const;
|
|
|
|
bool operator !=(const wxTreeItemId& item) const;
|
2008-03-08 08:52:38 -05:00
|
|
|
//@}
|
2008-05-20 03:48:30 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
Antonym of IsOk(), i.e. returns @true only if the item is not valid.
|
|
|
|
*/
|
|
|
|
bool operator !() const;
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|
2008-05-20 03:48:30 -04:00
|
|
|
/**
|
|
|
|
@class wxTreeItemData
|
|
|
|
|
|
|
|
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.
|
|
|
|
*/
|
2008-09-27 07:21:10 -04:00
|
|
|
virtual ~wxTreeItemData();
|
2008-05-20 03:48:30 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the item associated with this node.
|
|
|
|
*/
|
2008-10-28 10:29:36 -04:00
|
|
|
const wxTreeItemId& GetId() const;
|
2008-05-20 03:48:30 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the item associated with this node.
|
2009-04-05 09:07:24 -04:00
|
|
|
|
|
|
|
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.
|
2008-05-20 03:48:30 -04:00
|
|
|
*/
|
|
|
|
void SetId(const wxTreeItemId& id);
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
Indicates which type to associate an image with a wxTreeCtrl item.
|
2008-10-28 10:29:36 -04:00
|
|
|
|
2008-05-20 03:48:30 -04:00
|
|
|
@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
|
|
|
|
};
|