wxWidgets: wxTreeListCtrl Class Reference

| Version: 3.0.2

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
wxTreeListCtrl Class Reference
Controls

`#include <wx/treelist.h>`

Inheritance diagram for wxTreeListCtrl:
[legend]

## Detailed Description

A control combining wxTreeCtrl and wxListCtrl features.

This is a multi-column tree control optionally supporting images and checkboxes for the items in the first column.

It is currently implemented using wxDataViewCtrl internally but provides a much simpler interface for the common use case it addresses. Thus, one of the design principles for this control is simplicity and intentionally doesn't provide all the features of wxDataViewCtrl. Most importantly, this class stores all its data internally and doesn't require you to define a custom model for it.

Instead, this controls works like wxTreeCtrl or non-virtual wxListCtrl and allows you to simply add items to it using wxTreeListCtrl::AppendItem() and related methods. Typically, you start by setting up the columns (you must have at least one) by calling wxTreeListCtrl::AppendColumn() and then add the items. While only the text of the first column can be specified when adding them, you can use wxTreeListCtrl::SetItemText() to set the text of the other columns.

Unlike wxTreeCtrl or wxListCtrl this control can sort its items on its own. To allow user to sort the control contents by clicking on some column you should use wxCOL_SORTABLE flag when adding that column to the control. When a column with this flag is clicked, the control resorts itself using the values in this column. By default the sort is done using alphabetical order comparison of the items text, which is not always correct (e.g. this doesn't work for the numeric columns). To change this you may use SetItemComparator() method to provide a custom comparator, i.e. simply an object that implements comparison between the two items. The treelist sample shows an example of doing this. And if you need to sort the control programmatically, you can call SetSortColumn() method.

Here are the styles supported by this control. Notice that using wxTL_USER_3STATE implies wxTL_3STATE and wxTL_3STATE in turn implies wxTL_CHECKBOX.

## Styles

This class supports the following styles:

- wxTL_SINGLE:
  Single selection, this is the default.
- wxTL_MULTIPLE:
  Allow multiple selection, see GetSelections().
- wxTL_CHECKBOX:
  Show the usual, 2 state, checkboxes for the items in the first column.
- wxTL_3STATE:
  Show the checkboxes that can possibly be set by the program, but not the user, to a third, undetermined, state, for the items in the first column. Implies wxTL_CHECKBOX.
- wxTL_USER_3STATE:
  Same as wxTL_3STATE but the user can also set the checkboxes to the undetermined state. Implies wxTL_3STATE.
- wxTL_DEFAULT_STYLE:
  Style used by the control by default, just wxTL_SINGLE currently.

## Events using this class

The following event handler macros redirect the events to member function handlers 'func' with prototypes like:

void handlerFuncName(wxTreeListEvent& event)

Event macros:

- EVT_TREELIST_SELECTION_CHANGED(id, func):
  Process `wxEVT_TREELIST_SELECTION_CHANGED` event and notifies about the selection change in the control. In the single selection case the item indicated by the event has been selected and previously selected item, if any, was deselected. In multiple selection case, the selection of this item has just changed (it may have been either selected or deselected) but notice that the selection of other items could have changed as well, use wxTreeListCtrl::GetSelections() to retrieve the new selection if necessary.
- EVT_TREELIST_ITEM_EXPANDING(id, func):
  Process `wxEVT_TREELIST_ITEM_EXPANDING` event notifying about the given branch being expanded. This event is sent before the expansion occurs and can be vetoed to prevent it from happening.
- EVT_TREELIST_ITEM_EXPANDED(id, func):
  Process `wxEVT_TREELIST_ITEM_EXPANDED` event notifying about the expansion of the given branch. This event is sent after the expansion occurs and can't be vetoed.
- EVT_TREELIST_ITEM_CHECKED(id, func):
  Process `wxEVT_TREELIST_ITEM_CHECKED` event notifying about the user checking or unchecking the item. You can use wxTreeListCtrl::GetCheckedState() to retrieve the new item state and wxTreeListEvent::GetOldCheckedState() to get the previous one.
- EVT_TREELIST_ITEM_ACTIVATED(id, func):
  Process `wxEVT_TREELIST_ITEM_ACTIVATED` event notifying about the user double clicking the item or activating it from keyboard.
- EVT_TREELIST_ITEM_CONTEXT_MENU(id, func):
  Process `wxEVT_TREELIST_ITEM_CONTEXT_MENU` event indicating that the popup menu for the given item should be displayed.
- EVT_TREELIST_COLUMN_SORTED(id, func):
  Process `wxEVT_TREELIST_COLUMN_SORTED` event indicating that the control contents has just been resorted using the specified column. The event doesn't carry the sort direction, use GetSortColumn() method if you need to know it.

##

Library: wxAdvanced
Category: Controls

Since
  2.9.3

See Also
  wxTreeCtrl, wxDataViewCtrl

static const int | NO_IMAGE = -1
| Image list methods.
void | AssignImageList (wxImageList *imageList)
| Sets the image list and gives its ownership to the control.
void | SetImageList (wxImageList *imageList)
| Sets the image list.

## Public Member Functions
| wxTreeListCtrl ()
| Default constructor, call Create() later.
| wxTreeListCtrl (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTL_DEFAULT_STYLE, const wxString &name=wxTreeListCtrlNameStr)
| Full constructing, creating the object and its window.
bool | Create (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTL_DEFAULT_STYLE, const wxString &name=wxTreeListCtrlNameStr)
| Create the control window.
int | AppendColumn (const wxString &title, int width=wxCOL_WIDTH_AUTOSIZE, wxAlignment align=wxALIGN_LEFT, int flags=wxCOL_RESIZABLE)
| Column methods.
unsigned | GetColumnCount () const
| Return the total number of columns.
bool | DeleteColumn (unsigned col)
| Delete the column with the given index.
void | ClearColumns ()
| Delete all columns.
void | SetColumnWidth (unsigned col, int width)
| Change the width of the given column.
int | GetColumnWidth (unsigned col) const
| Get the current width of the given column in pixels.
int | WidthFor (const wxString &text) const
| Get the width appropriate for showing the given text.
wxTreeListItem | AppendItem (wxTreeListItem parent, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=NULL)
| Adding and removing items.
wxTreeListItem | InsertItem (wxTreeListItem parent, wxTreeListItem previous, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=NULL)
| Insert a new item into the tree.
wxTreeListItem | PrependItem (wxTreeListItem parent, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=NULL)
| Same as InsertItem() with wxTLI_FIRST.
void | DeleteItem (wxTreeListItem item)
| Delete the specified item.
void | DeleteAllItems ()
| Delete all tree items.
wxTreeListItem | GetRootItem () const
| Methods for the tree navigation.
wxTreeListItem | GetItemParent (wxTreeListItem item) const
| Return the parent of the given item.
wxTreeListItem | GetFirstChild (wxTreeListItem item) const
| Return the first child of the given item.
wxTreeListItem | GetNextSibling (wxTreeListItem item) const
| Return the next sibling of the given item.
wxTreeListItem | GetFirstItem () const
| Return the first item in the tree.
wxTreeListItem | GetNextItem (wxTreeListItem item) const
| Get item after the given one in the depth-first tree-traversal order.
const wxString & | GetItemText (wxTreeListItem item, unsigned col=0) const
| Items attributes.
void | SetItemText (wxTreeListItem item, unsigned col, const wxString &text)
| Set the text of the specified column of the given item.
void | SetItemText (wxTreeListItem item, const wxString &text)
| Set the text of the first column of the given item.
void | SetItemImage (wxTreeListItem item, int closed, int opened=NO_IMAGE)
| Set the images for the given item.
wxClientData * | GetItemData (wxTreeListItem item) const
| Get the data associated with the given item.
void | SetItemData (wxTreeListItem item, wxClientData *data)
| Set the data associated with the given item.
void | Expand (wxTreeListItem item)
| Expanding and collapsing tree branches.
void | Collapse (wxTreeListItem item)
| Collapse the given tree branch.
bool | IsExpanded (wxTreeListItem item) const
| Return whether the given item is expanded.
wxTreeListItem | GetSelection () const
| Selection methods.
unsigned | GetSelections (wxTreeListItems &selections) const
| Fill in the provided array with all the selected items.
void | Select (wxTreeListItem item)
| Select the given item.
void | Unselect (wxTreeListItem item)
| Deselect the given item.
bool | IsSelected (wxTreeListItem item) const
| Return true if the item is selected.
void | SelectAll ()
| Select all the control items.
void | UnselectAll ()
| Deselect all the control items.
void | CheckItem (wxTreeListItem item, wxCheckBoxState state=wxCHK_CHECKED)
| Checkbox handling.
void | CheckItemRecursively (wxTreeListItem item, wxCheckBoxState state=wxCHK_CHECKED)
| Change the checked state of the given item and all its children.
void | UncheckItem (wxTreeListItem item)
| Uncheck the given item.
void | UpdateItemParentStateRecursively (wxTreeListItem item)
| Update the state of the parent item to reflect the checked state of its children.
wxCheckBoxState | GetCheckedState (wxTreeListItem item) const
| Return the checked state of the item.
bool | AreAllChildrenInState (wxTreeListItem item, wxCheckBoxState state) const
| Return true if all children of the given item are in the specified state.
void | SetSortColumn (unsigned col, bool ascendingOrder=true)
| Sorting.
bool | GetSortColumn (unsigned *col, bool *ascendingOrder=NULL)
| Return the column currently used for sorting, if any.
void | SetItemComparator (wxTreeListItemComparator *comparator)
| Set the object to use for comparing the items.
wxWindow * | GetView () const
| View window.
wxDataViewCtrl * | GetDataView () const
| Return the view part of this control as wxDataViewCtrl.
Public Member Functions inherited from wxWindow
| wxWindow ()
| Default constructor.
| wxWindow (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
| Constructs a window, which can be a child of a frame, dialog or any other non-control window.
virtual | ~wxWindow ()
| Destructor.
bool | Create (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
virtual bool | AcceptsFocus () const
| This method may be overridden in the derived classes to return false to indicate that this control doesn't accept input at all (i.e. behaves like e.g. wxStaticText) and so doesn't need focus.
virtual bool | AcceptsFocusFromKeyboard () const
| This method may be overridden in the derived classes to return false to indicate that while this control can, in principle, have focus if the user clicks it with the mouse, it shouldn't be included in the TAB traversal chain when using the keyboard.
virtual bool | AcceptsFocusRecursively () const
| Overridden to indicate whether this window or one of its children accepts focus.
bool | IsFocusable () const
| Can this window itself have focus?
bool | CanAcceptFocus () const
| Can this window have focus right now?
bool | CanAcceptFocusFromKeyboard () const
| Can this window be assigned focus from keyboard right now?
virtual bool | HasFocus () const
| Returns true if the window (or in case of composite controls, its main child window) has focus.
virtual void | SetCanFocus (bool canFocus)
| This method is only implemented by ports which have support for native TAB traversal (such as GTK+ 2.0).
virtual void | SetFocus ()
| This sets the window to receive keyboard input.
virtual void | SetFocusFromKbd ()
| This function is called by wxWidgets keyboard navigation code when the user gives the focus to this window from keyboard (e.g.
virtual void | AddChild (wxWindow *child)
| Adds a child window.
bool | DestroyChildren ()
| Destroys all children of a window.
wxWindow * | FindWindow (long id) const
| Find a child of this window, by id.
wxWindow * | FindWindow (const wxString &name) const
| Find a child of this window, by name.
wxWindowList & | GetChildren ()
| Returns a reference to the list of the window's children.
const wxWindowList & | GetChildren () const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual void | RemoveChild (wxWindow *child)
| Removes a child window.
wxWindow * | GetGrandParent () const
| Returns the grandparent of a window, or NULL if there isn't one.
wxWindow * | GetNextSibling () const
| Returns the next window after this one among the parent's children or NULL if this window is the last child.
wxWindow * | GetParent () const
| Returns the parent of the window, or NULL if there is no parent.
wxWindow * | GetPrevSibling () const
| Returns the previous window before this one among the parent's children or `` NULL if this window is the first child.
bool | IsDescendant (wxWindowBase *win) const
| Check if the specified window is a descendant of this one.
virtual bool | Reparent (wxWindow *newParent)
| Reparents the window, i.e. the window will be removed from its current parent window (e.g.
virtual void | AlwaysShowScrollbars (bool hflag=true, bool vflag=true)
| Call this function to force one or both scrollbars to be always shown, even if the window is big enough to show its entire contents without scrolling.
virtual int | GetScrollPos (int orientation) const
| Returns the built-in scrollbar position.
virtual int | GetScrollRange (int orientation) const
| Returns the built-in scrollbar range.
virtual int | GetScrollThumb (int orientation) const
| Returns the built-in scrollbar thumb size.
bool | CanScroll (int orient) const
| Returns true if this window can have a scroll bar in this orientation.
bool | HasScrollbar (int orient) const
| Returns true if this window currently has a scroll bar for this orientation.
virtual bool | IsScrollbarAlwaysShown (int orient) const
| Return whether a scrollbar is always shown.
virtual bool | ScrollLines (int lines)
| Scrolls the window by the given number of lines down (if lines is positive) or up.
virtual bool | ScrollPages (int pages)
| Scrolls the window by the given number of pages down (if pages is positive) or up.
virtual void | ScrollWindow (int dx, int dy, const wxRect *rect=NULL)
| Physically scrolls the pixels in the window and move child windows accordingly.
bool | LineUp ()
| Same as ScrollLines (-1).
bool | LineDown ()
| Same as ScrollLines (1).
bool | PageUp ()
| Same as ScrollPages (-1).
bool | PageDown ()
| Same as ScrollPages (1).
virtual void | SetScrollPos (int orientation, int pos, bool refresh=true)
| Sets the position of one of the built-in scrollbars.
virtual void | SetScrollbar (int orientation, int position, int thumbSize, int range, bool refresh=true)
| Sets the scrollbar properties of a built-in scrollbar.
bool | BeginRepositioningChildren ()
| Prepare for changing positions of multiple child windows.
void | EndRepositioningChildren ()
| Fix child window positions after setting all of them at once.
void | CacheBestSize (const wxSize &size) const
| Sets the cached best size value.
virtual wxSize | ClientToWindowSize (const wxSize &size) const
| Converts client area size size to corresponding window size.
virtual wxSize | WindowToClientSize (const wxSize &size) const
| Converts window size size to corresponding client area size In other words, the returned value is what would GetClientSize() return if this window had given window size.
virtual void | Fit ()
| Sizes the window so that it fits around its subwindows.
virtual void | FitInside ()
| Similar to Fit(), but sizes the interior (virtual) size of a window.
wxSize | GetBestSize () const
| This functions returns the best acceptable minimal size for the window.
int | GetBestHeight (int width) const
| Returns the best height needed by this window if it had the given width.
int | GetBestWidth (int height) const
| Returns the best width needed by this window if it had the given height.
void | GetClientSize (int *width, int *height) const
| Returns the size of the window 'client area' in pixels.
wxSize | GetClientSize () const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual wxSize | GetEffectiveMinSize () const
| Merges the window's best size into the min size and returns the result.
virtual wxSize | GetMaxClientSize () const
| Returns the maximum size of window's client area.
virtual wxSize | GetMaxSize () const
| Returns the maximum size of the window.
virtual wxSize | GetMinClientSize () const
| Returns the minimum size of window's client area, an indication to the sizer layout mechanism that this is the minimum required size of its client area.
virtual wxSize | GetMinSize () const
| Returns the minimum size of the window, an indication to the sizer layout mechanism that this is the minimum required size.
int | GetMinWidth () const
| Returns the horizontal component of window minimal size.
int | GetMinHeight () const
| Returns the vertical component of window minimal size.
int | GetMaxWidth () const
| Returns the horizontal component of window maximal size.
int | GetMaxHeight () const
| Returns the vertical component of window maximal size.
void | GetSize (int *width, int *height) const
| Returns the size of the entire window in pixels, including title bar, border, scrollbars, etc.
wxSize | GetSize () const
| See the GetSize(int*,int*) overload for more info.
wxSize | GetVirtualSize () const
| This gets the virtual size of the window in pixels.
void | GetVirtualSize (int *width, int *height) const
| Like the other GetVirtualSize() overload but uses pointers instead.
virtual wxSize | GetBestVirtualSize () const
| Return the largest of ClientSize and BestSize (as determined by a sizer, interior children, or other means)
virtual double | GetContentScaleFactor () const
| Returns the magnification of the backing store of this window, eg 2.0 for a window on a retina screen.
virtual wxSize | GetWindowBorderSize () const
| Returns the size of the left/right and top/bottom borders of this window in x and y components of the result respectively.
virtual bool | InformFirstDirection (int direction, int size, int availableOtherDir)
| wxSizer and friends use this to give a chance to a component to recalc its min size once one of the final size components is known.
void | InvalidateBestSize ()
| Resets the cached best size value so it will be recalculated the next time it is needed.
void | PostSizeEvent ()
| Posts a size event to the window.
void | PostSizeEventToParent ()
| Posts a size event to the parent of this window.
virtual void | SendSizeEvent (int flags=0)
| This function sends a dummy size event to the window allowing it to re-layout its children positions.
void | SendSizeEventToParent (int flags=0)
| Safe wrapper for GetParent()->SendSizeEvent().
void | SetClientSize (int width, int height)
| This sets the size of the window client area in pixels.
void | SetClientSize (const wxSize &size)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | SetClientSize (const wxRect &rect)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | SetContainingSizer (wxSizer *sizer)
| This normally does not need to be called by user code.
void | SetInitialSize (const wxSize &size=wxDefaultSize)
| A smart SetSize that will fill in default size components with the window's best size values.
virtual void | SetMaxClientSize (const wxSize &size)
| Sets the maximum client size of the window, to indicate to the sizer layout mechanism that this is the maximum possible size of its client area.
virtual void | SetMaxSize (const wxSize &size)
| Sets the maximum size of the window, to indicate to the sizer layout mechanism that this is the maximum possible size.
virtual void | SetMinClientSize (const wxSize &size)
| Sets the minimum client size of the window, to indicate to the sizer layout mechanism that this is the minimum required size of window's client area.
virtual void | SetMinSize (const wxSize &size)
| Sets the minimum size of the window, to indicate to the sizer layout mechanism that this is the minimum required size.
void | SetSize (int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO)
| Sets the size of the window in pixels.
void | SetSize (const wxRect &rect)
| Sets the size of the window in pixels.
void | SetSize (const wxSize &size)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | SetSize (int width, int height)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual void | SetSizeHints (const wxSize &minSize, const wxSize &maxSize=wxDefaultSize, const wxSize &incSize=wxDefaultSize)
| Use of this function for windows which are not toplevel windows (such as wxDialog or wxFrame) is discouraged.
virtual void | SetSizeHints (int minW, int minH, int maxW=-1, int maxH=-1, int incW=-1, int incH=-1)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | SetVirtualSize (int width, int height)
| Sets the virtual size of the window in pixels.
void | SetVirtualSize (const wxSize &size)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | Center (int dir=wxBOTH)
| A synonym for Centre().
void | CenterOnParent (int dir=wxBOTH)
| A synonym for CentreOnParent().
void | Centre (int direction=wxBOTH)
| Centres the window.
void | CentreOnParent (int direction=wxBOTH)
| Centres the window on its parent.
void | GetPosition (int *x, int *y) const
| This gets the position of the window in pixels, relative to the parent window for the child windows or relative to the display origin for the top level windows.
wxPoint | GetPosition () const
| This gets the position of the window in pixels, relative to the parent window for the child windows or relative to the display origin for the top level windows.
wxRect | GetRect () const
| Returns the position and size of the window as a wxRect object.
void | GetScreenPosition (int *x, int *y) const
| Returns the window position in screen coordinates, whether the window is a child window or a top level one.
wxPoint | GetScreenPosition () const
| Returns the window position in screen coordinates, whether the window is a child window or a top level one.
wxRect | GetScreenRect () const
| Returns the position and size of the window on the screen as a wxRect object.
virtual wxPoint | GetClientAreaOrigin () const
| Get the origin of the client area of the window relative to the window top left corner (the client area may be shifted because of the borders, scrollbars, other decorations...)
wxRect | GetClientRect () const
| Get the client rectangle in window (i.e. client) coordinates.
void | Move (int x, int y, int flags=wxSIZE_USE_EXISTING)
| Moves the window to the given position.
void | Move (const wxPoint &pt, int flags=wxSIZE_USE_EXISTING)
| Moves the window to the given position.
void | SetPosition (const wxPoint &pt)
| A synonym for Centre().
void | ClientToScreen (int *x, int *y) const
| Converts to screen coordinates from coordinates relative to this window.
wxPoint | ClientToScreen (const wxPoint &pt) const
| Converts to screen coordinates from coordinates relative to this window.
wxPoint | ConvertDialogToPixels (const wxPoint &pt) const
| Converts a point or size from dialog units to pixels.
wxSize | ConvertDialogToPixels (const wxSize &sz) const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
wxPoint | ConvertPixelsToDialog (const wxPoint &pt) const
| Converts a point or size from pixels to dialog units.
wxSize | ConvertPixelsToDialog (const wxSize &sz) const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | ScreenToClient (int *x, int *y) const
| Converts from screen to client window coordinates.
wxPoint | ScreenToClient (const wxPoint &pt) const
| Converts from screen to client window coordinates.
virtual void | ClearBackground ()
| Clears the window by filling it with the current background colour.
void | Freeze ()
| Freezes the window or, in other words, prevents any updates from taking place on screen, the window is not redrawn at all.
void | Thaw ()
| Re-enables window updating after a previous call to Freeze().
bool | IsFrozen () const
| Returns true if the window is currently frozen by a call to Freeze().
wxColour | GetBackgroundColour () const
| Returns the background colour of the window.
virtual wxBackgroundStyle | GetBackgroundStyle () const
| Returns the background style of the window.
virtual int | GetCharHeight () const
| Returns the character height for this window.
virtual int | GetCharWidth () const
| Returns the average character width for this window.
virtual wxVisualAttributes | GetDefaultAttributes () const
| Currently this is the same as calling wxWindow::GetClassDefaultAttributes(wxWindow::GetWindowVariant()).
wxFont | GetFont () const
| Returns the font for this window.
wxColour | GetForegroundColour () const
| Returns the foreground colour of the window.
void | GetTextExtent (const wxString &string, int *w, int *h, int *descent=NULL, int *externalLeading=NULL, const wxFont *font=NULL) const
| Gets the dimensions of the string as it would be drawn on the window with the currently selected font.
wxSize | GetTextExtent (const wxString &string) const
| Gets the dimensions of the string as it would be drawn on the window with the currently selected font.
const wxRegion & | GetUpdateRegion () const
| Returns the region specifying which parts of the window have been damaged.
wxRect | GetUpdateClientRect () const
| Get the update rectangle bounding box in client coords.
virtual bool | HasTransparentBackground ()
| Returns true if this window background is transparent (as, for example, for wxStaticText) and should show the parent window background.
virtual void | Refresh (bool eraseBackground=true, const wxRect *rect=NULL)
| Causes this window, and all of its children recursively (except under wxGTK1 where this is not implemented), to be repainted.
void | RefreshRect (const wxRect &rect, bool eraseBackground=true)
| Redraws the contents of the given rectangle: only the area inside it will be repainted.
virtual void | Update ()
| Calling this method immediately repaints the invalidated area of the window and all of its children recursively (this normally only happens when the flow of control returns to the event loop).
virtual bool | SetBackgroundColour (const wxColour &colour)
| Sets the background colour of the window.
virtual bool | SetBackgroundStyle (wxBackgroundStyle style)
| Sets the background style of the window.
virtual bool | IsTransparentBackgroundSupported (wxString *reason=NULL) const
| Checks whether using transparent background might work.
virtual bool | SetFont (const wxFont &font)
| Sets the font for this window.
virtual bool | SetForegroundColour (const wxColour &colour)
| Sets the foreground colour of the window.
void | SetOwnBackgroundColour (const wxColour &colour)
| Sets the background colour of the window but prevents it from being inherited by the children of this window.
bool | InheritsBackgroundColour () const
| Return true if this window inherits the background colour from its parent.
bool | UseBgCol () const
| Return true if a background colour has been set for this window.
void | SetOwnFont (const wxFont &font)
| Sets the font of the window but prevents it from being inherited by the children of this window.
void | SetOwnForegroundColour (const wxColour &colour)
| Sets the foreground colour of the window but prevents it from being inherited by the children of this window.
void | SetPalette (const wxPalette &pal)
virtual bool | ShouldInheritColours () const
| Return true from here to allow the colours of this window to be changed by InheritAttributes().
virtual void | SetThemeEnabled (bool enable)
| This function tells a window if it should use the system's "theme" code to draw the windows' background instead of its own background drawing code.
virtual bool | GetThemeEnabled () const
| Clears the window by filling it with the current background colour.
virtual bool | CanSetTransparent ()
| Returns true if the system supports transparent windows and calling SetTransparent() may succeed.
virtual bool | SetTransparent (wxByte alpha)
| Set the transparency of the window.
wxEvtHandler * | GetEventHandler () const
| Returns the event handler for this window.
bool | HandleAsNavigationKey (const wxKeyEvent &event)
| This function will generate the appropriate call to Navigate() if the key event is one normally used for keyboard navigation and return true in this case.
bool | HandleWindowEvent (wxEvent &event) const
| Shorthand for:
bool | ProcessWindowEvent (wxEvent &event)
| Convenient wrapper for ProcessEvent().
bool | ProcessWindowEventLocally (wxEvent &event)
| Wrapper for wxEvtHandler::ProcessEventLocally().
wxEvtHandler * | PopEventHandler (bool deleteHandler=false)
| Removes and returns the top-most event handler on the event handler stack.
void | PushEventHandler (wxEvtHandler *handler)
| Pushes this event handler onto the event stack for the window.
bool | RemoveEventHandler (wxEvtHandler *handler)
| Find the given handler in the windows event handler stack and removes (but does not delete) it from the stack.
void | SetEventHandler (wxEvtHandler *handler)
| Sets the event handler for this window.
virtual void | SetNextHandler (wxEvtHandler *handler)
| wxWindows cannot be used to form event handler chains; this function thus will assert when called.
virtual void | SetPreviousHandler (wxEvtHandler *handler)
| wxWindows cannot be used to form event handler chains; this function thus will assert when called.
long | GetExtraStyle () const
| Returns the extra style bits for the window.
virtual long | GetWindowStyleFlag () const
| Gets the window style that was passed to the constructor or Create() method.
long | GetWindowStyle () const
| See GetWindowStyleFlag() for more info.
bool | HasExtraStyle (int exFlag) const
| Returns true if the window has the given exFlag bit set in its extra styles.
bool | HasFlag (int flag) const
| Returns true if the window has the given flag bit set.
virtual void | SetExtraStyle (long exStyle)
| Sets the extra style bits for the window.
virtual void | SetWindowStyleFlag (long style)
| Sets the style of the window.
void | SetWindowStyle (long style)
| See SetWindowStyleFlag() for more info.
bool | ToggleWindowStyle (int flag)
| Turns the given flag on if it's currently turned off and vice versa.
void | MoveAfterInTabOrder (wxWindow *win)
| Moves this window in the tab navigation order after the specified win.
void | MoveBeforeInTabOrder (wxWindow *win)
| Same as MoveAfterInTabOrder() except that it inserts this window just before win instead of putting it right after it.
bool | Navigate (int flags=wxNavigationKeyEvent::IsForward)
| Performs a keyboard navigation action starting from this window.
bool | NavigateIn (int flags=wxNavigationKeyEvent::IsForward)
| Performs a keyboard navigation action inside this window.
virtual void | Lower ()
| Lowers the window to the bottom of the window hierarchy (Z-order).
virtual void | Raise ()
| Raises the window to the top of the window hierarchy (Z-order).
bool | Hide ()
| Equivalent to calling wxWindow::Show(false).
virtual bool | HideWithEffect (wxShowEffect effect, unsigned int timeout=0)
| This function hides a window, like Hide(), but using a special visual effect if possible.
bool | IsEnabled () const
| Returns true if the window is enabled, i.e. if it accepts user input, false otherwise.
bool | IsExposed (int x, int y) const
| Returns true if the given point or rectangle area has been exposed since the last repaint.
bool | IsExposed (wxPoint &pt) const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool | IsExposed (int x, int y, int w, int h) const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool | IsExposed (wxRect &rect) const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual bool | IsShown () const
| Returns true if the window is shown, false if it has been hidden.
virtual bool | IsShownOnScreen () const
| Returns true if the window is physically visible on the screen, i.e. it is shown and all its parents up to the toplevel window are shown as well.
bool | Disable ()
| Disables the window.
virtual bool | Enable (bool enable=true)
| Enable or disable the window for user input.
virtual bool | Show (bool show=true)
| Shows or hides the window.
virtual bool | ShowWithEffect (wxShowEffect effect, unsigned int timeout=0)
| This function shows a window, like Show(), but using a special visual effect if possible.
wxString | GetHelpText () const
| Gets the help text to be used as context-sensitive help for this window.
void | SetHelpText (const wxString &helpText)
| Sets the help text to be used as context-sensitive help for this window.
virtual wxString | GetHelpTextAtPoint (const wxPoint &point, wxHelpEvent::Origin origin) const
| Gets the help text to be used as context-sensitive help for this window.
wxToolTip * | GetToolTip () const
| Get the associated tooltip or NULL if none.
wxString | GetToolTipText () const
| Get the text of the associated tooltip or empty string if none.
void | SetToolTip (const wxString &tipString)
| Attach a tooltip to the window.
void | SetToolTip (wxToolTip *tip)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
void | UnsetToolTip ()
| Unset any existing tooltip.
int | GetPopupMenuSelectionFromUser (wxMenu &menu, const wxPoint &pos=wxDefaultPosition)
| This function shows a popup menu at the given position in this window and returns the selected id.
int | GetPopupMenuSelectionFromUser (wxMenu &menu, int x, int y)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool | PopupMenu (wxMenu *menu, const wxPoint &pos=wxDefaultPosition)
| Pops up the given menu at the specified coordinates, relative to this window, and returns control when the user has dismissed the menu.
bool | PopupMenu (wxMenu *menu, int x, int y)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual wxValidator * | GetValidator ()
| Validator functions.
virtual void | SetValidator (const wxValidator &validator)
| Deletes the current validator (if any) and sets the window validator, having called wxValidator::Clone to create a new validator of this type.
virtual bool | TransferDataFromWindow ()
| Transfers values from child controls to data areas specified by their validators.
virtual bool | TransferDataToWindow ()
| Transfers values to child controls from data areas specified by their validators.
virtual bool | Validate ()
| Validates the current values of the child controls using their validators.
wxWindowID | GetId () const
| Returns the identifier of the window.
virtual wxString | GetLabel () const
| Generic way of getting a label from any window, for identification purposes.
virtual wxLayoutDirection | GetLayoutDirection () const
| Returns the layout direction for this window, Note that `wxLayout_Default` is returned if layout direction is not supported.
virtual wxCoord | AdjustForLayoutDirection (wxCoord x, wxCoord width, wxCoord widthTotal) const
| Mirror coordinates for RTL layout if this window uses it and if the mirroring is not done automatically like Win32.
virtual wxString | GetName () const
| Returns the window's name.
wxWindowVariant | GetWindowVariant () const
| Returns the value previously passed to SetWindowVariant().
void | SetId (wxWindowID winid)
| Sets the identifier of the window.
virtual void | SetLabel (const wxString &label)
| Sets the window's label.
virtual void | SetLayoutDirection (wxLayoutDirection dir)
| Sets the layout direction for this window.
virtual void | SetName (const wxString &name)
| Sets the window's name.
void | SetWindowVariant (wxWindowVariant variant)
| Chooses a different variant of the window display to use.
wxAcceleratorTable * | GetAcceleratorTable ()
| Gets the accelerator table for this window.
wxAccessible * | GetAccessible ()
| Returns the accessible object for this window, if any.
virtual void | SetAcceleratorTable (const wxAcceleratorTable &accel)
| Sets the accelerator table for this window.
void | SetAccessible (wxAccessible *accessible)
| Sets the accessible for this window.
bool | Close (bool force=false)
| This function simply generates a wxCloseEvent whose handler usually tries to close the window.
virtual bool | Destroy ()
| Destroys the window safely.
bool | IsBeingDeleted () const
| Returns true if this window is in process of being destroyed.
virtual wxDropTarget * | GetDropTarget () const
| Returns the associated drop target, which may be NULL.
virtual void | SetDropTarget (wxDropTarget *target)
| Associates a drop target with this window.
virtual void | DragAcceptFiles (bool accept)
| Enables or disables eligibility for drop file events (OnDropFiles).
wxSizer * | GetContainingSizer () const
| Returns the sizer of which this window is a member, if any, otherwise NULL.
wxSizer * | GetSizer () const
| Returns the sizer associated with the window by a previous call to SetSizer(), or NULL.
void | SetSizer (wxSizer *sizer, bool deleteOld=true)
| Sets the window to have the given layout sizer.
void | SetSizerAndFit (wxSizer *sizer, bool deleteOld=true)
| This method calls SetSizer() and then wxSizer::SetSizeHints which sets the initial window size to the size needed to accommodate all sizer elements and sets the size hints which, if this window is a top level one, prevent the user from resizing it to be less than this minimal size.
wxLayoutConstraints * | GetConstraints () const
| Returns a pointer to the window's layout constraints, or NULL if there are none.
void | SetConstraints (wxLayoutConstraints *constraints)
| Sets the window to have the given layout constraints.
virtual bool | Layout ()
| Invokes the constraint-based layout algorithm or the sizer-based algorithm for this window.
void | SetAutoLayout (bool autoLayout)
| Determines whether the Layout() function will be called automatically when the window is resized.
bool | GetAutoLayout () const
| Returns the sizer of which this window is a member, if any, otherwise NULL.
void | CaptureMouse ()
| Directs all mouse input to this window.
wxCaret * | GetCaret () const
| Returns the caret() associated with the window.
const wxCursor & | GetCursor () const
| Return the cursor associated with this window.
virtual bool | HasCapture () const
| Returns true if this window has the current mouse capture.
void | ReleaseMouse ()
| Releases mouse input captured with CaptureMouse().
void | SetCaret (wxCaret *caret)
| Sets the caret() associated with the window.
virtual bool | SetCursor (const wxCursor &cursor)
| Sets the window's cursor.
virtual void | WarpPointer (int x, int y)
| Moves the pointer to the given position on the window.
wxHitTest | HitTest (wxCoord x, wxCoord y) const
| Get the window border style from the given flags: this is different from simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to translate wxBORDER_DEFAULT to something reasonable.
wxHitTest | HitTest (const wxPoint &pt) const
| Get the window border style from the given flags: this is different from simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to translate wxBORDER_DEFAULT to something reasonable.
wxBorder | GetBorder (long flags) const
| Get the window border style from the given flags: this is different from simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to translate wxBORDER_DEFAULT to something reasonable.
wxBorder | GetBorder () const
| Get border for the flags of this window.
virtual void | DoUpdateWindowUI (wxUpdateUIEvent &event)
| Does the window-specific updating after processing the update event.
virtual WXWidget | GetHandle () const
| Returns the platform-specific handle of the physical window.
virtual bool | HasMultiplePages () const
| This method should be overridden to return true if this window has multiple pages.
virtual void | InheritAttributes ()
| This function is (or should be, in case of custom controls) called during window creation to intelligently set up the window visual attributes, that is the font and the foreground and background colours.
virtual void | InitDialog ()
| Sends an `wxEVT_INIT_DIALOG` event, whose handler usually transfers data to the dialog via validators.
virtual bool | IsDoubleBuffered () const
| Returns true if the window contents is double-buffered by the system, i.e. if any drawing done on the window is really done on a temporary backing surface and transferred to the screen all at once later.
void | SetDoubleBuffered (bool on)
| Turn on or off double buffering of the window if the system supports it.
virtual bool | IsRetained () const
| Returns true if the window is retained, false otherwise.
bool | IsThisEnabled () const
| Returns true if this window is intrinsically enabled, false otherwise, i.e. if Enable() Enable(false) had been called.
virtual bool | IsTopLevel () const
| Returns true if the given window is a top-level one.
virtual void | OnInternalIdle ()
| This virtual function is normally only used internally, but sometimes an application may need it to implement functionality that should not be disabled by an application defining an OnIdle handler in a derived class.
virtual bool | SendIdleEvents (wxIdleEvent &event)
| Send idle event to window and all subwindows.
virtual bool | RegisterHotKey (int hotkeyId, int modifiers, int virtualKeyCode)
| Registers a system wide hotkey.
virtual bool | UnregisterHotKey (int hotkeyId)
| Unregisters a system wide hotkey.
virtual void | UpdateWindowUI (long flags=wxUPDATE_UI_NONE)
| This function sends one or more wxUpdateUIEvent to the window.
Public Member Functions inherited from wxEvtHandler
| wxEvtHandler ()
| Constructor.
virtual | ~wxEvtHandler ()
| Destructor.
template<typename T , typename T1 , ... >
void | CallAfter (void(T::*method)(T1,...), T1 x1,...)
| Asynchronously call the given method.
template<typename T >
void | CallAfter (const T &functor)
| Asynchronously call the given functor.
bool | ProcessEventLocally (wxEvent &event)
| Try to process the event in this handler and all those chained to it.
bool | SafelyProcessEvent (wxEvent &event)
| Processes an event by calling ProcessEvent() and handles any exceptions that occur in the process.
void | ProcessPendingEvents ()
| Processes the pending events previously queued using QueueEvent() or AddPendingEvent(); you must call this function only if you are sure there are pending events for this handler, otherwise a `wxCHECK` will fail.
void | DeletePendingEvents ()
| Deletes all events queued on this event handler using QueueEvent() or AddPendingEvent().
virtual bool | SearchEventTable (wxEventTable &table, wxEvent &event)
| Searches the event table, executing an event handler function if an appropriate one is found.
void | Connect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| Connects the given function dynamically with the event handler, id and event type.
void | Connect (int id, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
void | Connect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
bool | Disconnect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| Disconnects the given function dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed.
bool | Disconnect (int id=wxID_ANY, wxEventType eventType=wxEVT_NULL, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
bool | Disconnect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function=NULL, wxObject *userData=NULL, wxEvtHandler *eventSink=NULL)
| See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info.
template<typename EventTag , typename Functor >
void | Bind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
| Binds the given function, functor or method dynamically with the event.
template<typename EventTag , typename Class , typename EventArg , typename EventHandler >
void | Bind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
| See the Bind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info.
template<typename EventTag , typename Functor >
bool | Unbind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
| Unbinds the given function, functor or method dynamically from the event handler, using the specified parameters as search criteria and returning true if a matching function has been found and removed.
template<typename EventTag , typename Class , typename EventArg , typename EventHandler >
bool | Unbind (const EventTag &eventType, void(Class::*method)(EventArg &), EventHandler *handler, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=NULL)
| See the Unbind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info.
void * | GetClientData () const
| Returns user-supplied client data.
wxClientData * | GetClientObject () const
| Returns a pointer to the user-supplied client data object.
void | SetClientData (void *data)
| Sets user-supplied client data.
void | SetClientObject (wxClientData *data)
| Set the client data object.
bool | GetEvtHandlerEnabled () const
| Returns true if the event handler is enabled, false otherwise.
wxEvtHandler * | GetNextHandler () const
| Returns the pointer to the next handler in the chain.
wxEvtHandler * | GetPreviousHandler () const
| Returns the pointer to the previous handler in the chain.
void | SetEvtHandlerEnabled (bool enabled)
| Enables or disables the event handler.
void | Unlink ()
| Unlinks this event handler from the chain it's part of (if any); then links the "previous" event handler to the "next" one (so that the chain won't be interrupted).
bool | IsUnlinked () const
| Returns true if the next and the previous handler pointers of this event handler instance are NULL.
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data.
| wxObject (const wxObject &other)
| Copy ctor.
virtual | ~wxObject ()
| Destructor.
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar).
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object.
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class.
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj.
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone.
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer.
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data.
void | UnShare ()
| This is the same of AllocExclusive() but this method is public.
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined.
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined.

## Additional Inherited Members
Static Public Member Functions inherited from wxWindow
static wxVisualAttributes | GetClassDefaultAttributes (wxWindowVariant variant=wxWINDOW_VARIANT_NORMAL)
| Returns the default font and colours which are used by the control.
static wxWindow * | FindFocus ()
| Finds the window or control which currently has the keyboard focus.
static wxWindow * | FindWindowById (long id, const wxWindow *parent=0)
| Find the first window with the given id.
static wxWindow * | FindWindowByLabel (const wxString &label, const wxWindow *parent=0)
| Find a window by its label.
static wxWindow * | FindWindowByName (const wxString &name, const wxWindow *parent=0)
| Find a window by its name (as given in a window constructor or Create() function call).
static wxWindow * | GetCapture ()
| Returns the currently captured window.
static wxWindowID | NewControlId (int count=1)
| Create a new ID or range of IDs that are not currently in use.
static void | UnreserveControlId (wxWindowID id, int count=1)
| Unreserve an ID or range of IDs that was reserved by NewControlId().
Protected Member Functions inherited from wxWindow
virtual void | DoCentre (int direction)
| Centres the window.
virtual wxSize | DoGetBestSize () const
| Implementation of GetBestSize() that can be overridden.
virtual wxSize | DoGetBestClientSize () const
| Override this method to return the best size for a custom control.
virtual int | DoGetBestClientHeight (int width) const
| Override this method to implement height-for-width best size calculation.
virtual int | DoGetBestClientWidth (int height) const
| Override this method to implement width-for-height best size calculation.
virtual void | SetInitialBestSize (const wxSize &size)
| Sets the initial window size if none is given (i.e. at least one of the components of the size passed to ctor/Create() is wxDefaultCoord).
void | SendDestroyEvent ()
| Generate wxWindowDestroyEvent for this window.
virtual bool | ProcessEvent (wxEvent &event)
| This function is public in wxEvtHandler but protected in wxWindow because for wxWindows you should always call ProcessEvent() on the pointer returned by GetEventHandler() and not on the wxWindow object itself.
bool | SafelyProcessEvent (wxEvent &event)
| See ProcessEvent() for more info about why you shouldn't use this function and the reason for making this function protected in wxWindow.
virtual void | QueueEvent (wxEvent *event)
| See ProcessEvent() for more info about why you shouldn't use this function and the reason for making this function protected in wxWindow.
virtual void | AddPendingEvent (const wxEvent &event)
| See ProcessEvent() for more info about why you shouldn't use this function and the reason for making this function protected in wxWindow.
void | ProcessPendingEvents ()
| See ProcessEvent() for more info about why you shouldn't use this function and the reason for making this function protected in wxWindow.
bool | ProcessThreadEvent (const wxEvent &event)
| See ProcessEvent() for more info about why you shouldn't use this function and the reason for making this function protected in wxWindow.
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data.

## Constructor & Destructor Documentation

wxTreeListCtrl::wxTreeListCtrl | ( |  | ) |

Default constructor, call Create() later.

This constructor is used during two-part construction process when it is impossible or undesirable to create the window when constructing the object.

wxTreeListCtrl::wxTreeListCtrl | ( | wxWindow * | parent,
|  | wxWindowID | id,
|  | const wxPoint & | pos = `wxDefaultPosition`,
|  | const wxSize & | size = `wxDefaultSize`,
|  | long | style = `wxTL_DEFAULT_STYLE`,
|  | const wxString & | name = `wxTreeListCtrlNameStr`
| ) |  |

Full constructing, creating the object and its window.

See Create() for the parameters description.

## Member Function Documentation

int wxTreeListCtrl::AppendColumn | ( | const wxString & | title,
|  | int | width = `wxCOL_WIDTH_AUTOSIZE`,
|  | wxAlignment | align = `wxALIGN_LEFT`,
|  | int | flags = `wxCOL_RESIZABLE`
| ) |  |

Column methods.

Add a column with the given title and attributes.

Parameters

  title | The column label.
  width | The width of the column in pixels or the special wxCOL_WIDTH_AUTOSIZE value indicating that the column should adjust to its contents. Notice that the first column is special and will be always resized to fill all the space not taken by the other columns, i.e. the width specified here is ignored for it.
  align | Alignment of both the column header and its items.
  flags | Column flags, currently can include wxCOL_RESIZABLE to allow the user to resize the column and wxCOL_SORTABLE to allow the user to resort the control contents by clicking on this column.

Returns
  Index of the new column or -1 on failure.

wxTreeListItem wxTreeListCtrl::AppendItem | ( | wxTreeListItem | parent,
|  | const wxString & | text,
|  | int | imageClosed = `NO_IMAGE`,
|  | int | imageOpened = `NO_IMAGE`,
|  | wxClientData * | data = `NULL`
| ) |  |

Adding and removing items.

When adding items, the parent and text of the first column of the new item must always be specified, the rest is optional.

Each item can have two images: one used for closed state and another for opened one. Only the first one is ever used for the items that don't have children. And both are not set by default.

It is also possible to associate arbitrary client data pointer with the new item. It will be deleted by the control when the item is deleted (either by an explicit DeleteItem() call or because the entire control is destroyed).Same as InsertItem() with wxTLI_LAST.

bool wxTreeListCtrl::AreAllChildrenInState | ( | wxTreeListItem | item,
|  | wxCheckBoxState | state
| ) |  | const

Return true if all children of the given item are in the specified state.

This is especially useful for the controls with `wxTL_3STATE` style to allow to decide whether the parent effective state should be the same state, if all its children are in it, or wxCHK_UNDETERMINED.

See Also
  UpdateItemParentStateRecursively()

void wxTreeListCtrl::AssignImageList | ( | wxImageList * | imageList | ) |

Sets the image list and gives its ownership to the control.

The image list assigned with this method will be automatically deleted by wxTreeCtrl as appropriate (i.e. it takes ownership of the list).

See Also
  SetImageList().

void wxTreeListCtrl::CheckItem | ( | wxTreeListItem | item,
|  | wxCheckBoxState | state = `wxCHK_CHECKED`
| ) |  |

Checkbox handling.

Methods in this section can only be used with the controls created with wxTL_CHECKBOX style. Change the item checked state.

Parameters

  item | Valid non-root tree item.
  state | One of wxCHK_CHECKED, wxCHK_UNCHECKED or, for the controls with wxTL_3STATE or wxTL_USER_3STATE styles, wxCHK_UNDETERMINED.

void wxTreeListCtrl::CheckItemRecursively | ( | wxTreeListItem | item,
|  | wxCheckBoxState | state = `wxCHK_CHECKED`
| ) |  |

Change the checked state of the given item and all its children.

This is the same as CheckItem() but checks or unchecks not only this item itself but all its children recursively as well.

void wxTreeListCtrl::ClearColumns | ( |  | ) |

Delete all columns.

See Also
  DeleteAllItems()

void wxTreeListCtrl::Collapse | ( | wxTreeListItem | item | ) |

Collapse the given tree branch.

bool wxTreeListCtrl::Create | ( | wxWindow * | parent,
|  | wxWindowID | id,
|  | const wxPoint & | pos = `wxDefaultPosition`,
|  | const wxSize & | size = `wxDefaultSize`,
|  | long | style = `wxTL_DEFAULT_STYLE`,
|  | const wxString & | name = `wxTreeListCtrlNameStr`
| ) |  |

Create the control window.

Can be only called for the objects created using the default constructor and exactly once.

Parameters

  parent | The parent window, must be non-NULL.
  id | The window identifier, may be wxID_ANY.
  pos | The initial window position, usually unused.
  size | The initial window size, usually unused.
  style | The window style, see their description in the class documentation.
  name | The name of the window.

void wxTreeListCtrl::DeleteAllItems | ( |  | ) |

Delete all tree items.

bool wxTreeListCtrl::DeleteColumn | ( | unsigned | col | ) |

Delete the column with the given index.

Parameters

  col | Column index in 0 to GetColumnCount() (exclusive) range.

Returns
  True if the column was deleted, false if index is invalid or deleting the column failed for some other reason.

void wxTreeListCtrl::DeleteItem | ( | wxTreeListItem | item | ) |

Delete the specified item.

void wxTreeListCtrl::Expand | ( | wxTreeListItem | item | ) |

Expanding and collapsing tree branches.

Notice that calling neither Expand() nor Collapse() method generates any events. Expand the given tree branch.

wxCheckBoxState wxTreeListCtrl::GetCheckedState | ( | wxTreeListItem | item | ) | const

Return the checked state of the item.

The return value can be wxCHK_CHECKED, wxCHK_UNCHECKED or wxCHK_UNDETERMINED.

unsigned wxTreeListCtrl::GetColumnCount | ( |  | ) | const

Return the total number of columns.

int wxTreeListCtrl::GetColumnWidth | ( | unsigned | col | ) | const

Get the current width of the given column in pixels.

wxDataViewCtrl* wxTreeListCtrl::GetDataView | ( |  | ) | const

Return the view part of this control as wxDataViewCtrl.

This method may return NULL in the future, non wxDataViewCtrl-based, versions of this class, use GetView() unless you really need to use wxDataViewCtrl methods on the returned object.

wxTreeListItem wxTreeListCtrl::GetFirstChild | ( | wxTreeListItem | item | ) | const

Return the first child of the given item.

Item may be the root item.

Return value may be invalid if the item doesn't have any children.

wxTreeListItem wxTreeListCtrl::GetFirstItem | ( |  | ) | const

Return the first item in the tree.

This is the first child of the root item.

See Also
  GetNextItem()

wxClientData* wxTreeListCtrl::GetItemData | ( | wxTreeListItem | item | ) | const

Get the data associated with the given item.

The returned pointer may be NULL.

It must not be deleted by the caller as this will be done by the control itself.

wxTreeListItem wxTreeListCtrl::GetItemParent | ( | wxTreeListItem | item | ) | const

Return the parent of the given item.

All the tree items visible in the tree have valid parent items, only the never shown root item has no parent.

const wxString& wxTreeListCtrl::GetItemText | ( | wxTreeListItem | item,
|  | unsigned | col = `0`
| ) |  | const

Items attributes.

Return the text of the given item.

By default, returns the text of the first column but any other one can be specified using col argument.

wxTreeListItem wxTreeListCtrl::GetNextItem | ( | wxTreeListItem | item | ) | const

Get item after the given one in the depth-first tree-traversal order.

Calling this function starting with the result of GetFirstItem() allows iterating over all items in the tree.

The iteration stops when this function returns an invalid item, i.e.

for ( wxTreeListItem item = tree->GetFirstItem();
item.IsOk();
item = tree->GetNextItem(item) )
{
... Do something with every tree item ...
}

wxTreeListItem wxTreeListCtrl::GetNextSibling | ( | wxTreeListItem | item | ) | const

Return the next sibling of the given item.

Return value may be invalid if there are no more siblings.

wxTreeListItem wxTreeListCtrl::GetRootItem | ( |  | ) | const

Methods for the tree navigation.

The tree has an invisible root item which is the hidden parent of all top-level items in the tree. Starting from it it is possible to iterate over all tree items using GetNextItem().

It is also possible to iterate over just the children of the given item by using GetFirstChild() to get the first of them and then calling GetNextSibling() to retrieve all the others.Return the (never shown) root item.

wxTreeListItem wxTreeListCtrl::GetSelection | ( |  | ) | const

Selection methods.

The behaviour of the control is different in single selection mode (the default) and multi-selection mode (if `wxTL_MULTIPLE` was specified when creating it). Not all methods can be used in both modes and some of those that can don't behave in the same way in two cases. Return the currently selected item.

This method can't be used with multi-selection controls, use GetSelections() instead.

The return value may be invalid if no item has been selected yet. Once an item in a single selection control was selected, it will keep a valid selection.

unsigned wxTreeListCtrl::GetSelections | ( | wxTreeListItems & | selections | ) | const

Fill in the provided array with all the selected items.

This method can be used in both single and multi-selection case.

The previous array contents is destroyed.

Returns the number of selected items.

bool wxTreeListCtrl::GetSortColumn | ( | unsigned * | col,
|  | bool * | ascendingOrder = `NULL`
| ) |  |

Return the column currently used for sorting, if any.

If the control is currently unsorted, the function simply returns false and doesn't modify any of its output parameters.

Parameters

  col | Receives the index of the column used for sorting if non-NULL.
  ascendingOrder | Receives true or false depending on whether the items are sorted in ascending or descending order.

Returns
  true if the control is sorted or false if it isn't sorted at all.

wxWindow* wxTreeListCtrl::GetView | ( |  | ) | const

View window.

This control itself is entirely covered by the "view window" which is currently a wxDataViewCtrl but if you want to avoid relying on this to allow your code to work with later versions which might not be wxDataViewCtrl-based, use GetView() function only and only use GetDataView() if you really need to call wxDataViewCtrl methods on it. Return the view part of this control as a wxWindow.

This method always returns non-NULL pointer once the window was created.

wxTreeListItem wxTreeListCtrl::InsertItem | ( | wxTreeListItem | parent,
|  | wxTreeListItem | previous,
|  | const wxString & | text,
|  | int | imageClosed = `NO_IMAGE`,
|  | int | imageOpened = `NO_IMAGE`,
|  | wxClientData * | data = `NULL`
| ) |  |

Insert a new item into the tree.

Parameters

  parent | The item parent. Must be valid, may be GetRootItem().
  previous | The previous item that this one should be inserted immediately after. It must be valid but may be one of the special values wxTLI_FIRST or wxTLI_LAST indicating that the item should be either inserted before the first child of its parent (if any) or after the last one.
  text | The item text.
  imageClosed | The normal item image, may be NO_IMAGE to not show any image.
  imageOpened | The item image shown when it's in the expanded state.
  data | Optional client data pointer that can be later retrieved using GetItemData() and will be deleted by the tree when the item itself is deleted.

bool wxTreeListCtrl::IsExpanded | ( | wxTreeListItem | item | ) | const

Return whether the given item is expanded.

bool wxTreeListCtrl::IsSelected | ( | wxTreeListItem | item | ) | const

Return true if the item is selected.

This method can be used in both single and multiple selection modes.

wxTreeListItem wxTreeListCtrl::PrependItem | ( | wxTreeListItem | parent,
|  | const wxString & | text,
|  | int | imageClosed = `NO_IMAGE`,
|  | int | imageOpened = `NO_IMAGE`,
|  | wxClientData * | data = `NULL`
| ) |  |

Same as InsertItem() with wxTLI_FIRST.

void wxTreeListCtrl::Select | ( | wxTreeListItem | item | ) |

Select the given item.

In single selection mode, deselects any other selected items, in multi-selection case it adds to the selection.

void wxTreeListCtrl::SelectAll | ( |  | ) |

Select all the control items.

Can be only used in multi-selection mode.

void wxTreeListCtrl::SetColumnWidth | ( | unsigned | col,
|  | int | width
| ) |  |

Change the width of the given column.

Set column width to either the given value in pixels or to the value large enough to fit all of the items if width is wxCOL_WIDTH_AUTOSIZE.

Notice that setting the width of the first column is ignored as this column is always resized to fill the space left by the other columns.

void wxTreeListCtrl::SetImageList | ( | wxImageList * | imageList | ) |

Sets the image list.

The image list assigned with this method will not be deleted by the control itself and you will need to delete it yourself, use AssignImageList() to give the image list ownership to the control.

Parameters

  imageList | Image list to use, may be NULL to not show any images any more.

void wxTreeListCtrl::SetItemComparator | ( | wxTreeListItemComparator * | comparator | ) |

Set the object to use for comparing the items.

This object will be used when the control is being sorted because the user clicked on a sortable column or SetSortColumn() was called.

The provided pointer is stored by the control so the object it points to must have a life-time equal or greater to that of the control itself. In addition, the pointer can be NULL to stop using custom comparator and revert to the default alphabetical comparison.

void wxTreeListCtrl::SetItemData | ( | wxTreeListItem | item,
|  | wxClientData * | data
| ) |  |

Set the data associated with the given item.

Previous client data, if any, is deleted when this function is called so it may be used to delete the current item data object and reset it by passing NULL as data argument.

void wxTreeListCtrl::SetItemImage | ( | wxTreeListItem | item,
|  | int | closed,
|  | int | opened = `NO_IMAGE`
| ) |  |

Set the images for the given item.

See InsertItem() for the images parameters descriptions.

void wxTreeListCtrl::SetItemText | ( | wxTreeListItem | item,
|  | unsigned | col,
|  | const wxString & | text
| ) |  |

Set the text of the specified column of the given item.

void wxTreeListCtrl::SetItemText | ( | wxTreeListItem | item,
|  | const wxString & | text
| ) |  |

Set the text of the first column of the given item.

void wxTreeListCtrl::SetSortColumn | ( | unsigned | col,
|  | bool | ascendingOrder = `true`
| ) |  |

Sorting.

If some control columns were added with wxCOL_SORTABLE flag, clicking on them will automatically resort the control using the custom comparator set by SetItemComparator() or by doing alphabetical comparison by default.

In any case, i.e. even if the user can't sort the control by clicking on its header, you may call SetSortColumn() to sort it programmatically and call GetSortColumn() to determine whether it's sorted now and, if so, by which column and in which order. Set the column to use for sorting and the order in which to sort.

Calling this method resorts the control contents using the values of the items in the specified column. Sorting uses custom comparator set with SetItemComparator() or alphabetical comparison of items texts if none was specified.

Notice that currently there is no way to reset sort order.

Parameters

  col | A valid column index.
  ascendingOrder | Indicates whether the items should be sorted in ascending (A to Z) or descending (Z to A) order.

void wxTreeListCtrl::UncheckItem | ( | wxTreeListItem | item | ) |

Uncheck the given item.

This is synonymous with CheckItem(wxCHK_UNCHECKED).

void wxTreeListCtrl::Unselect | ( | wxTreeListItem | item | ) |

Deselect the given item.

This method can be used in multiple selection mode only.

void wxTreeListCtrl::UnselectAll | ( |  | ) |

Deselect all the control items.

Can be only used in multi-selection mode.

void wxTreeListCtrl::UpdateItemParentStateRecursively | ( | wxTreeListItem | item | ) |

Update the state of the parent item to reflect the checked state of its children.

This method updates the parent of this item recursively: if this item and all its siblings are checked, the parent will become checked as well. If this item and all its siblings are unchecked, the parent will be unchecked. And if the siblings of this item are not all in the same state, the parent will be switched to indeterminate state. And then the same logic will be applied to the parents parent and so on recursively.

This is typically called when the state of the given item has changed from EVT_TREELIST_ITEM_CHECKED() handler in the controls which have wxTL_3STATE flag. Notice that without this flag this function can't work as it would be unable to set the state of a parent with both checked and unchecked items so it's only allowed to call it when this flag is set.

int wxTreeListCtrl::WidthFor | ( | const wxString & | text | ) | const

Get the width appropriate for showing the given text.

This is typically used as second argument for AppendColumn() or with SetColumnWidth().

## Member Data Documentation

const int wxTreeListCtrl::NO_IMAGE = -1
| static

Image list methods.

Like wxTreeCtrl and wxListCtrl this class uses wxImageList so if you intend to use item icons with it, you must construct wxImageList containing them first and then specify the indices of the icons in this image list when adding the items later.A constant indicating that no image should be used for an item.