- // insert a new item in as the first child of the parent
- wxTreeItemId PrependItem(const wxTreeItemId& parent,
- const wxString& text,
- int image = -1, int selectedImage = -1,
- wxTreeItemData *data = NULL);
-
- // insert a new item after a given one
- wxTreeItemId InsertItem(const wxTreeItemId& parent,
- const wxTreeItemId& idPrevious,
- const wxString& text,
- int image = -1, int selectedImage = -1,
- wxTreeItemData *data = NULL);
-
- // insert a new item in as the last child of the parent
- wxTreeItemId AppendItem(const wxTreeItemId& parent,
- const wxString& text,
- int image = -1, int selectedImage = -1,
- wxTreeItemData *data = NULL);
-
- // delete this item and associated data if any
- void Delete(const wxTreeItemId& item);
- // delete all items from the tree
- void DeleteAllItems();
-
- // expand this item
- void Expand(const wxTreeItemId& item);
- // collapse the item without removing its children
- void Collapse(const wxTreeItemId& item);
- // collapse the item and remove all children
- void CollapseAndReset(const wxTreeItemId& item);
- // toggles the current state
- void Toggle(const wxTreeItemId& item);
-
- // remove the selection from currently selected item (if any)
- void Unselect();
- // select this item
- void SelectItem(const wxTreeItemId& item);
- // make sure this item is visible (expanding the parent item and/or
- // scrolling to this item if necessary)
- void EnsureVisible(const wxTreeItemId& item);
- // scroll to this item (but don't expand its parent)
- void ScrollTo(const wxTreeItemId& item);
-
- // start editing the item label: this (temporarily) replaces the item
- // with a one line edit control. The item will be selected if it hadn't
- // been before. textCtrlClass parameter allows you to create an edit
- // control of arbitrary user-defined class deriving from wxTextCtrl.
- wxTextCtrl* EditLabel(const wxTreeItemId& item,
- wxClassInfo* textCtrlClass = CLASSINFO(wxTextCtrl));
- // returns the same pointer as StartEdit() if the item is being edited,
- // NULL otherwise (it's assumed that no more than one item may be
- // edited simultaneously)
- wxTextCtrl* GetEditControl() const;
- // end editing and accept or discard the changes to item label
- void EndEditLabel(const wxTreeItemId& item, bool discardChanges = FALSE);
-
- // sort the children of this item using the specified callback function
- // (it should return -1, 0 or +1 as usual), if it's not specified
- // alphabetical comparaison is performed.
- //
- // NB: this function is not reentrant!
- void SortChildren(const wxTreeItemId& item,
- wxTreeItemCmpFunc *cmpFunction = NULL);
-
- // helpers
- // -------
-
- // @@@ do we really need to expose these functions to the application?
-
- // get the bounding rectangle of the item (or of its label only)
- void GetBoundingRect(const wxTreeItemId& item,
- wxRectangle& rect,
- bool textOnly = FALSE) const;
-
- // determine to which item (if any) belongs the given point (the
- // coordinates specified are relative to the client area of tree ctrl)
- // and fill the flags parameter with a bitmask of wxTREE_HITTEST_xxx
- // constants
- wxTreeItemId HitTest(const wxPoint& point, int& flags);
-
- // deprecated
- // ----------