Version: 3.3.0
wxTreeListCtrl Class Reference

#include <wx/treelist.h>

+ Inheritance diagram for wxTreeListCtrl:

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_NO_HEADER:
    Don't show the column headers, that are shown by default. Notice that this style is only available since wxWidgets 2.9.5.
  • 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:  wxCore
Category:  Controls
Since
2.9.3
See also
wxTreeCtrl, wxDataViewCtrl

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.

static const int NO_IMAGE = -1
 A constant indicating that no image should be used for an item. More...
 
void AssignImageList (wxImageList *imageList)
 Sets the image list and gives its ownership to the control. More...
 
void SetImageList (wxImageList *imageList)
 Sets the image list. More...
 

Public Member Functions

 wxTreeListCtrl ()
 Default constructor, call Create() later. More...
 
 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. More...
 
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. More...
 
Column methods.
int AppendColumn (const wxString &title, int width=wxCOL_WIDTH_AUTOSIZE, wxAlignment align=wxALIGN_LEFT, int flags=wxCOL_RESIZABLE)
 Add a column with the given title and attributes. More...
 
unsigned GetColumnCount () const
 Return the total number of columns. More...
 
bool DeleteColumn (unsigned col)
 Delete the column with the given index. More...
 
void ClearColumns ()
 Delete all columns. More...
 
void SetColumnWidth (unsigned col, int width)
 Change the width of the given column. More...
 
int GetColumnWidth (unsigned col) const
 Get the current width of the given column in pixels. More...
 
int WidthFor (const wxString &text) const
 Get the width appropriate for showing the given text. More...
 
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).

wxTreeListItem AppendItem (wxTreeListItem parent, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=nullptr)
 Same as InsertItem() with wxTLI_LAST. More...
 
wxTreeListItem InsertItem (wxTreeListItem parent, wxTreeListItem previous, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=nullptr)
 Insert a new item into the tree. More...
 
wxTreeListItem PrependItem (wxTreeListItem parent, const wxString &text, int imageClosed=NO_IMAGE, int imageOpened=NO_IMAGE, wxClientData *data=nullptr)
 Same as InsertItem() with wxTLI_FIRST. More...
 
void DeleteItem (wxTreeListItem item)
 Delete the specified item. More...
 
void DeleteAllItems ()
 Delete all tree items. More...
 
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 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.

wxTreeListItem GetRootItem () const
 Return the (never shown) root item. More...
 
wxTreeListItem GetItemParent (wxTreeListItem item) const
 Return the parent of the given item. More...
 
wxTreeListItem GetFirstChild (wxTreeListItem item) const
 Return the first child of the given item. More...
 
wxTreeListItem GetNextSibling (wxTreeListItem item) const
 Return the next sibling of the given item. More...
 
wxTreeListItem GetFirstItem () const
 Return the first item in the tree. More...
 
wxTreeListItem GetNextItem (wxTreeListItem item) const
 Get item after the given one in the depth-first tree-traversal order. More...
 
Items attributes
const wxStringGetItemText (wxTreeListItem item, unsigned col=0) const
 Return the text of the given item. More...
 
void SetItemText (wxTreeListItem item, unsigned col, const wxString &text)
 Set the text of the specified column of the given item. More...
 
void SetItemText (wxTreeListItem item, const wxString &text)
 Set the text of the first column of the given item. More...
 
void SetItemImage (wxTreeListItem item, int closed, int opened=NO_IMAGE)
 Set the images for the given item. More...
 
wxClientDataGetItemData (wxTreeListItem item) const
 Get the data associated with the given item. More...
 
void SetItemData (wxTreeListItem item, wxClientData *data)
 Set the data associated with the given item. More...
 
Expanding and collapsing tree branches.

Notice that calling neither Expand() nor Collapse() method generates any events.

void Expand (wxTreeListItem item)
 Expand the given tree branch. More...
 
void Collapse (wxTreeListItem item)
 Collapse the given tree branch. More...
 
bool IsExpanded (wxTreeListItem item) const
 Return whether the given item is expanded. More...
 
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.

wxTreeListItem GetSelection () const
 Return the currently selected item. More...
 
unsigned GetSelections (wxTreeListItems &selections) const
 Fill in the provided array with all the selected items. More...
 
void Select (wxTreeListItem item)
 Select the given item. More...
 
void Unselect (wxTreeListItem item)
 Deselect the given item. More...
 
bool IsSelected (wxTreeListItem item) const
 Return true if the item is selected. More...
 
void SelectAll ()
 Select all the control items. More...
 
void UnselectAll ()
 Deselect all the control items. More...
 
void EnsureVisible (wxTreeListItem item)
 Call this to ensure that the given item is visible. More...
 
Checkbox handling

Methods in this section can only be used with the controls created with wxTL_CHECKBOX style.

void CheckItem (wxTreeListItem item, wxCheckBoxState state=wxCHK_CHECKED)
 Change the item checked state. More...
 
void CheckItemRecursively (wxTreeListItem item, wxCheckBoxState state=wxCHK_CHECKED)
 Change the checked state of the given item and all its children. More...
 
void UncheckItem (wxTreeListItem item)
 Uncheck the given item. More...
 
void UpdateItemParentStateRecursively (wxTreeListItem item)
 Update the state of the parent item to reflect the checked state of its children. More...
 
wxCheckBoxState GetCheckedState (wxTreeListItem item) const
 Return the checked state of the item. More...
 
bool AreAllChildrenInState (wxTreeListItem item, wxCheckBoxState state) const
 Return true if all children of the given item are in the specified state. More...
 
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.

void SetSortColumn (unsigned col, bool ascendingOrder=true)
 Set the column to use for sorting and the order in which to sort. More...
 
bool GetSortColumn (unsigned *col, bool *ascendingOrder=nullptr)
 Return the column currently used for sorting, if any. More...
 
void SetItemComparator (wxTreeListItemComparator *comparator)
 Set the object to use for comparing the items. More...
 
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.

wxWindowGetView () const
 Return the view part of this control as a wxWindow. More...
 
wxDataViewCtrlGetDataView () const
 Return the view part of this control as wxDataViewCtrl. More...
 
- Public Member Functions inherited from wxWindow
 wxWindow ()
 Default constructor. More...
 
 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. More...
 
virtual ~wxWindow ()
 Destructor. More...
 
bool Create (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
 Construct the actual window object after creating the C++ object. More...
 
void MSWDisableComposited ()
 Disable the use native double buffering in wxMSW. More...
 
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. More...
 
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. More...
 
virtual bool AcceptsFocusRecursively () const
 Overridden to indicate whether this window or one of its children accepts focus. More...
 
void DisableFocusFromKeyboard ()
 Disable giving focus to this window using the keyboard navigation keys. More...
 
bool IsFocusable () const
 Can this window itself have focus? More...
 
bool CanAcceptFocus () const
 Can this window have focus right now? More...
 
bool CanAcceptFocusFromKeyboard () const
 Can this window be assigned focus from keyboard right now? More...
 
virtual bool HasFocus () const
 Returns true if the window (or in case of composite controls, its main child window) has focus. More...
 
virtual void SetCanFocus (bool canFocus)
 This method is only implemented by ports which have support for native TAB traversal (such as GTK+ 2.0). More...
 
virtual void EnableVisibleFocus (bool enable)
 Enables or disables visible indication of keyboard focus. More...
 
virtual void SetFocus ()
 This sets the window to receive keyboard input. More...
 
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. using TAB key). More...
 
virtual void AddChild (wxWindow *child)
 Adds a child window. More...
 
template<typename T >
void CallForEachChild (const T &functor)
 Invoke the given functor for all children of the given window recursively. More...
 
bool DestroyChildren ()
 Destroys all children of a window. More...
 
wxWindowFindWindow (long id) const
 Find a child of this window, by id. More...
 
wxWindowFindWindow (const wxString &name) const
 Find a child of this window, by name. More...
 
wxWindowList & GetChildren ()
 Returns a reference to the list of the window's children. More...
 
const wxWindowList & GetChildren () const
 Returns a const reference to the list of the window's children. More...
 
virtual void RemoveChild (wxWindow *child)
 Removes a child window. More...
 
wxWindowGetGrandParent () const
 Returns the grandparent of a window, or nullptr if there isn't one. More...
 
wxWindowGetNextSibling () const
 Returns the next window after this one among the parent's children or nullptr if this window is the last child. More...
 
wxWindowGetParent () const
 Returns the parent of the window, or nullptr if there is no parent. More...
 
wxWindowGetPrevSibling () const
 Returns the previous window before this one among the parent's children or nullptr if this window is the first child. More...
 
bool IsDescendant (wxWindow *win) const
 Check if the specified window is a descendant of this one. More...
 
virtual bool Reparent (wxWindow *newParent)
 Reparents the window, i.e. the window will be removed from its current parent window (e.g. More...
 
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. More...
 
virtual int GetScrollPos (int orientation) const
 Returns the built-in scrollbar position. More...
 
virtual int GetScrollRange (int orientation) const
 Returns the built-in scrollbar range. More...
 
virtual int GetScrollThumb (int orientation) const
 Returns the built-in scrollbar thumb size. More...
 
bool CanScroll (int orient) const
 Returns true if this window can have a scroll bar in this orientation. More...
 
bool HasScrollbar (int orient) const
 Returns true if this window currently has a scroll bar for this orientation. More...
 
virtual bool IsScrollbarAlwaysShown (int orient) const
 Return whether a scrollbar is always shown. More...
 
virtual bool ScrollLines (int lines)
 Scrolls the window by the given number of lines down (if lines is positive) or up. More...
 
virtual bool ScrollPages (int pages)
 Scrolls the window by the given number of pages down (if pages is positive) or up. More...
 
virtual void ScrollWindow (int dx, int dy, const wxRect *rect=nullptr)
 Physically scrolls the pixels in the window and move child windows accordingly. More...
 
bool LineUp ()
 Same as ScrollLines (-1). More...
 
bool LineDown ()
 Same as ScrollLines (1). More...
 
bool PageUp ()
 Same as ScrollPages (-1). More...
 
bool PageDown ()
 Same as ScrollPages (1). More...
 
virtual void SetScrollPos (int orientation, int pos, bool refresh=true)
 Sets the position of one of the built-in scrollbars. More...
 
virtual void SetScrollbar (int orientation, int position, int thumbSize, int range, bool refresh=true)
 Sets the scrollbar properties of a built-in scrollbar. More...
 
void Center (int dir=wxBOTH)
 A synonym for Centre(). More...
 
void CenterOnParent (int dir=wxBOTH)
 A synonym for CentreOnParent(). More...
 
void Centre (int direction=wxBOTH)
 Centres the window. More...
 
void CentreOnParent (int direction=wxBOTH)
 Centres the window on its parent. More...
 
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. More...
 
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. More...
 
wxRect GetRect () const
 Returns the position and size of the window as a wxRect object. More...
 
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. More...
 
wxPoint GetScreenPosition () const
 Returns the window position in screen coordinates, whether the window is a child window or a top level one. More...
 
wxRect GetScreenRect () const
 Returns the position and size of the window on the screen as a wxRect object. More...
 
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...) More...
 
wxRect GetClientRect () const
 Get the client rectangle in window (i.e. client) coordinates. More...
 
void Move (int x, int y, int flags=wxSIZE_USE_EXISTING)
 Moves the window to the given position. More...
 
void Move (const wxPoint &pt, int flags=wxSIZE_USE_EXISTING)
 Moves the window to the given position. More...
 
void SetPosition (const wxPoint &pt)
 Moves the window to the specified position. More...
 
void ClientToScreen (int *x, int *y) const
 Converts to screen coordinates from coordinates relative to this window. More...
 
wxPoint ClientToScreen (const wxPoint &pt) const
 Converts to screen coordinates from coordinates relative to this window. More...
 
wxPoint ConvertDialogToPixels (const wxPoint &pt) const
 Converts a point or size from dialog units to pixels. More...
 
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. More...
 
wxPoint ConvertPixelsToDialog (const wxPoint &pt) const
 Converts a point or size from pixels to dialog units. More...
 
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. More...
 
void ScreenToClient (int *x, int *y) const
 Converts from screen to client window coordinates. More...
 
wxPoint ScreenToClient (const wxPoint &pt) const
 Converts from screen to client window coordinates. More...
 
virtual void ClearBackground ()
 Clears the window by filling it with the current background colour. More...
 
void Freeze ()
 Freezes the window or, in other words, prevents any updates from taking place on screen, the window is not redrawn at all. More...
 
void Thaw ()
 Re-enables window updating after a previous call to Freeze(). More...
 
bool IsFrozen () const
 Returns true if the window is currently frozen by a call to Freeze(). More...
 
wxColour GetBackgroundColour () const
 Returns the background colour of the window. More...
 
virtual wxBackgroundStyle GetBackgroundStyle () const
 Returns the background style of the window. More...
 
virtual int GetCharHeight () const
 Returns the character height for this window. More...
 
virtual int GetCharWidth () const
 Returns the average character width for this window. More...
 
virtual wxVisualAttributes GetDefaultAttributes () const
 Currently this is the same as calling wxWindow::GetClassDefaultAttributes(wxWindow::GetWindowVariant()). More...
 
virtual wxSize GetDPI () const
 Return the DPI of the display used by this window. More...
 
wxFont GetFont () const
 Returns the font for this window. More...
 
wxColour GetForegroundColour () const
 Returns the foreground colour of the window. More...
 
void GetTextExtent (const wxString &string, int *w, int *h, int *descent=nullptr, int *externalLeading=nullptr, const wxFont *font=nullptr) const
 Gets the dimensions of the string as it would be drawn on the window with the currently selected font. More...
 
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. More...
 
const wxRegionGetUpdateRegion () const
 Returns the region specifying which parts of the window have been damaged. More...
 
wxRect GetUpdateClientRect () const
 Get the update rectangle bounding box in client coords. More...
 
virtual bool HasTransparentBackground ()
 Returns true if this window background is transparent (as, for example, for wxStaticText) and should show the parent window background. More...
 
virtual void Refresh (bool eraseBackground=true, const wxRect *rect=nullptr)
 Causes this window, and all of its children recursively, to be repainted. More...
 
void RefreshRect (const wxRect &rect, bool eraseBackground=true)
 Redraws the contents of the given rectangle: only the area inside it will be repainted. More...
 
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). More...
 
virtual bool SetBackgroundColour (const wxColour &colour)
 Sets the background colour of the window. More...
 
virtual bool SetBackgroundStyle (wxBackgroundStyle style)
 Sets the background style of the window. More...
 
virtual bool IsTransparentBackgroundSupported (wxString *reason=nullptr) const
 Checks whether using transparent background might work. More...
 
virtual bool SetFont (const wxFont &font)
 Sets the font for this window. More...
 
virtual bool SetForegroundColour (const wxColour &colour)
 Sets the foreground colour of the window. More...
 
void SetOwnBackgroundColour (const wxColour &colour)
 Sets the background colour of the window but prevents it from being inherited by the children of this window. More...
 
bool InheritsBackgroundColour () const
 Return true if this window inherits the background colour from its parent. More...
 
bool UseBgCol () const
 Return true if a background colour has been set for this window. More...
 
bool UseBackgroundColour () const
 Return true if a background colour has been set for this window. More...
 
void SetOwnFont (const wxFont &font)
 Sets the font of the window but prevents it from being inherited by the children of this window. More...
 
void SetOwnForegroundColour (const wxColour &colour)
 Sets the foreground colour of the window but prevents it from being inherited by the children of this window. More...
 
bool UseForegroundColour () const
 Return true if a foreground colour has been set for this window. More...
 
bool InheritsForegroundColour () const
 Return true if this window inherits the foreground colour from its parent. More...
 
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(). More...
 
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. More...
 
virtual bool GetThemeEnabled () const
 Returns true if the window uses the system theme for drawing its background. More...
 
virtual bool CanSetTransparent ()
 Returns true if the system supports transparent windows and calling SetTransparent() may succeed. More...
 
virtual bool SetTransparent (wxByte alpha)
 Set the transparency of the window. More...
 
wxEvtHandlerGetEventHandler () const
 Returns the event handler for this window. More...
 
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. More...
 
bool HandleWindowEvent (wxEvent &event) const
 Shorthand for: More...
 
bool ProcessWindowEvent (wxEvent &event)
 Convenient wrapper for ProcessEvent(). More...
 
bool ProcessWindowEventLocally (wxEvent &event)
 Wrapper for wxEvtHandler::ProcessEventLocally(). More...
 
wxEvtHandlerPopEventHandler (bool deleteHandler=false)
 Removes and returns the top-most event handler on the event handler stack. More...
 
void PushEventHandler (wxEvtHandler *handler)
 Pushes this event handler onto the event stack for the window. More...
 
bool RemoveEventHandler (wxEvtHandler *handler)
 Find the given handler in the windows event handler stack and removes (but does not delete) it from the stack. More...
 
void SetEventHandler (wxEvtHandler *handler)
 Sets the event handler for this window. More...
 
virtual void SetNextHandler (wxEvtHandler *handler)
 wxWindows cannot be used to form event handler chains; this function thus will assert when called. More...
 
virtual void SetPreviousHandler (wxEvtHandler *handler)
 wxWindows cannot be used to form event handler chains; this function thus will assert when called. More...
 
long GetExtraStyle () const
 Returns the extra style bits for the window. More...
 
virtual long GetWindowStyleFlag () const
 Gets the window style that was passed to the constructor or Create() method. More...
 
long GetWindowStyle () const
 See GetWindowStyleFlag() for more info. More...
 
bool HasExtraStyle (int exFlag) const
 Returns true if the window has the given exFlag bit set in its extra styles. More...
 
bool HasFlag (int flag) const
 Returns true if the window has the given flag bit set. More...
 
virtual void SetExtraStyle (long exStyle)
 Sets the extra style bits for the window. More...
 
virtual void SetWindowStyleFlag (long style)
 Sets the style of the window. More...
 
void SetWindowStyle (long style)
 See SetWindowStyleFlag() for more info. More...
 
bool ToggleWindowStyle (int flag)
 Turns the given flag on if it's currently turned off and vice versa. More...
 
void MoveAfterInTabOrder (wxWindow *win)
 Moves this window in the tab navigation order after the specified win. More...
 
void MoveBeforeInTabOrder (wxWindow *win)
 Same as MoveAfterInTabOrder() except that it inserts this window just before win instead of putting it right after it. More...
 
bool Navigate (int flags=wxNavigationKeyEvent::IsForward)
 Performs a keyboard navigation action starting from this window. More...
 
bool NavigateIn (int flags=wxNavigationKeyEvent::IsForward)
 Performs a keyboard navigation action inside this window. More...
 
virtual void Lower ()
 Lowers the window to the bottom of the window hierarchy (Z-order). More...
 
virtual void Raise ()
 Raises the window to the top of the window hierarchy (Z-order). More...
 
bool Hide ()
 Equivalent to calling wxWindow::Show(false). More...
 
virtual bool HideWithEffect (wxShowEffect effect, unsigned int timeout=0)
 This function hides a window, like Hide(), but using a special visual effect if possible. More...
 
bool IsEnabled () const
 Returns true if the window is enabled, i.e. if it accepts user input, false otherwise. More...
 
bool IsExposed (int x, int y) const
 Returns true if the given point or rectangle area has been exposed since the last repaint. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual bool IsShown () const
 Returns true if the window is shown, false if it has been hidden. More...
 
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. More...
 
bool Disable ()
 Disables the window. More...
 
virtual bool Enable (bool enable=true)
 Enable or disable the window for user input. More...
 
virtual bool Show (bool show=true)
 Shows or hides the window. More...
 
virtual bool ShowWithEffect (wxShowEffect effect, unsigned int timeout=0)
 This function shows a window, like Show(), but using a special visual effect if possible. More...
 
wxString GetHelpText () const
 Gets the help text to be used as context-sensitive help for this window. More...
 
void SetHelpText (const wxString &helpText)
 Sets the help text to be used as context-sensitive help for this window. More...
 
virtual wxString GetHelpTextAtPoint (const wxPoint &point, wxHelpEvent::Origin origin) const
 Gets the help text to be used as context-sensitive help for this window. More...
 
wxToolTipGetToolTip () const
 Get the associated tooltip or nullptr if none. More...
 
wxString GetToolTipText () const
 Get the text of the associated tooltip or empty string if none. More...
 
void SetToolTip (const wxString &tipString)
 Attach a tooltip to the window. More...
 
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. More...
 
void UnsetToolTip ()
 Unset any existing tooltip. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual wxValidatorGetValidator ()
 Validator functions. More...
 
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. More...
 
virtual bool TransferDataFromWindow ()
 Transfers values from child controls to data areas specified by their validators. More...
 
virtual bool TransferDataToWindow ()
 Transfers values to child controls from data areas specified by their validators. More...
 
virtual bool Validate ()
 Validates the current values of the child controls using their validators. More...
 
wxWindowID GetId () const
 Returns the identifier of the window. More...
 
virtual wxString GetLabel () const
 Generic way of getting a label from any window, for identification purposes. More...
 
virtual wxLayoutDirection GetLayoutDirection () const
 Returns the layout direction for this window, Note that wxLayout_Default is returned if layout direction is not supported. More...
 
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. More...
 
virtual wxString GetName () const
 Returns the window's name. More...
 
wxWindowVariant GetWindowVariant () const
 Returns the value previously passed to SetWindowVariant(). More...
 
void SetId (wxWindowID winid)
 Sets the identifier of the window. More...
 
virtual void SetLabel (const wxString &label)
 Sets the window's label. More...
 
virtual void SetLayoutDirection (wxLayoutDirection dir)
 Sets the layout direction for this window. More...
 
virtual void SetName (const wxString &name)
 Sets the window's name. More...
 
void SetWindowVariant (wxWindowVariant variant)
 Chooses a different variant of the window display to use. More...
 
wxAcceleratorTableGetAcceleratorTable ()
 Gets the accelerator table for this window. More...
 
wxAccessibleGetAccessible ()
 Returns the accessible object for this window, if any. More...
 
virtual void SetAcceleratorTable (const wxAcceleratorTable &accel)
 Sets the accelerator table for this window. More...
 
void SetAccessible (wxAccessible *accessible)
 Sets the accessible for this window. More...
 
virtual wxAccessibleCreateAccessible ()
 Override to create a specific accessible object. More...
 
wxAccessibleGetOrCreateAccessible ()
 Returns the accessible object, calling CreateAccessible if necessary. More...
 
bool Close (bool force=false)
 This function simply generates a wxCloseEvent whose handler usually tries to close the window. More...
 
virtual bool Destroy ()
 Destroys the window safely. More...
 
bool IsBeingDeleted () const
 Returns true if this window is in process of being destroyed. More...
 
virtual wxDropTargetGetDropTarget () const
 Returns the associated drop target, which may be nullptr. More...
 
virtual void SetDropTarget (wxDropTarget *target)
 Associates a drop target with this window. More...
 
virtual void DragAcceptFiles (bool accept)
 Enables or disables eligibility for drop file events (OnDropFiles). More...
 
wxSizerGetContainingSizer () const
 Returns the sizer of which this window is a member, if any, otherwise nullptr. More...
 
wxSizerGetSizer () const
 Returns the sizer associated with the window by a previous call to SetSizer(), or nullptr. More...
 
void SetSizer (wxSizer *sizer, bool deleteOld=true)
 Sets the window to have the given layout sizer. More...
 
void SetSizerAndFit (wxSizer *sizer, bool deleteOld=true)
 Associate the sizer with the window and set the window size and minimal size accordingly. More...
 
wxLayoutConstraintsGetConstraints () const
 Returns a pointer to the window's layout constraints, or nullptr if there are none. More...
 
void SetConstraints (wxLayoutConstraints *constraints)
 Sets the window to have the given layout constraints. More...
 
virtual bool Layout ()
 Lays out the children of this window using the associated sizer. More...
 
void SetAutoLayout (bool autoLayout)
 Determines whether the Layout() function will be called automatically when the window is resized. More...
 
bool GetAutoLayout () const
 Returns true if Layout() is called automatically when the window is resized. More...
 
void CaptureMouse ()
 Directs all mouse input to this window. More...
 
wxCaretGetCaret () const
 Returns the caret() associated with the window. More...
 
const wxCursorGetCursor () const
 Return the cursor associated with this window. More...
 
virtual bool HasCapture () const
 Returns true if this window has the current mouse capture. More...
 
void ReleaseMouse ()
 Releases mouse input captured with CaptureMouse(). More...
 
void SetCaret (wxCaret *caret)
 Sets the caret() associated with the window. More...
 
virtual bool SetCursor (const wxCursor &cursor)
 Sets the window's cursor. More...
 
virtual void WarpPointer (int x, int y)
 Moves the pointer to the given position on the window. More...
 
virtual bool EnableTouchEvents (int eventsMask)
 Request generation of touch events for this window. More...
 
wxHitTest HitTest (wxCoord x, wxCoord y) const
 Return where the given point lies, exactly. More...
 
wxHitTest HitTest (const 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. More...
 
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. More...
 
wxBorder GetBorder () const
 Get border for the flags of this window. More...
 
virtual void DoUpdateWindowUI (wxUpdateUIEvent &event)
 Does the window-specific updating after processing the update event. More...
 
virtual WXWidget GetHandle () const
 Returns the platform-specific handle of the physical window. More...
 
virtual bool HasMultiplePages () const
 This method should be overridden to return true if this window has multiple pages. More...
 
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. More...
 
virtual void InitDialog ()
 Sends an wxEVT_INIT_DIALOG event, whose handler usually transfers data to the dialog via validators. More...
 
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. More...
 
void SetDoubleBuffered (bool on)
 Turn on or off double buffering of the window if the system supports it. More...
 
virtual bool IsRetained () const
 Returns true if the window is retained, false otherwise. More...
 
bool IsThisEnabled () const
 Returns true if this window is intrinsically enabled, false otherwise, i.e. if Enable() Enable(false) had been called. More...
 
virtual bool IsTopLevel () const
 Returns true if the given window is a top-level one. More...
 
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. More...
 
virtual bool SendIdleEvents (wxIdleEvent &event)
 Send idle event to window and all subwindows. More...
 
virtual bool RegisterHotKey (int hotkeyId, int modifiers, int virtualKeyCode)
 Registers a system wide hotkey. More...
 
virtual bool UnregisterHotKey (int hotkeyId)
 Unregisters a system wide hotkey. More...
 
virtual void UpdateWindowUI (long flags=wxUPDATE_UI_NONE)
 This function sends one or more wxUpdateUIEvent to the window. More...
 
bool BeginRepositioningChildren ()
 Prepare for changing positions of multiple child windows. More...
 
void EndRepositioningChildren ()
 Fix child window positions after setting all of them at once. More...
 
void CacheBestSize (const wxSize &size) const
 Sets the cached best size value. More...
 
virtual wxSize ClientToWindowSize (const wxSize &size) const
 Converts client area size size to corresponding window size. More...
 
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. More...
 
virtual void Fit ()
 Sizes the window to fit its best size. More...
 
virtual void FitInside ()
 Similar to Fit(), but sizes the interior (virtual) size of a window. More...
 
wxSize FromDIP (const wxSize &sz) const
 Convert DPI-independent pixel values to the value in pixels appropriate for the current toolkit. More...
 
wxPoint FromDIP (const 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. More...
 
int FromDIP (int d) const
 Convert DPI-independent distance in pixels to the value in pixels appropriate for the current toolkit. More...
 
wxSize ToDIP (const wxSize &sz) const
 Convert pixel values of the current toolkit to DPI-independent pixel values. More...
 
wxPoint ToDIP (const 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. More...
 
int ToDIP (int d) const
 Convert pixel values of the current toolkit to DPI-independent pixel values. More...
 
wxSize FromPhys (const wxSize &sz) const
 Convert from physical pixels to logical pixels. More...
 
wxPoint FromPhys (const 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. More...
 
int FromPhys (int d) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
wxSize ToPhys (const wxSize &sz) const
 Convert from logical pixels to physical pixels. More...
 
wxPoint ToPhys (const 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. More...
 
int ToPhys (int d) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
wxSize GetBestSize () const
 This functions returns the best acceptable minimal size for the window. More...
 
int GetBestHeight (int width) const
 Returns the best height needed by this window if it had the given width. More...
 
int GetBestWidth (int height) const
 Returns the best width needed by this window if it had the given height. More...
 
void GetClientSize (int *width, int *height) const
 Returns the size of the window 'client area' in pixels. More...
 
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. More...
 
virtual wxSize GetEffectiveMinSize () const
 Merges the window's best size into the min size and returns the result. More...
 
virtual wxSize GetMaxClientSize () const
 Returns the maximum size of window's client area. More...
 
virtual wxSize GetMaxSize () const
 Returns the maximum size of the window. More...
 
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. More...
 
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. More...
 
int GetMinWidth () const
 Returns the horizontal component of window minimal size. More...
 
int GetMinHeight () const
 Returns the vertical component of window minimal size. More...
 
int GetMaxWidth () const
 Returns the horizontal component of window maximal size. More...
 
int GetMaxHeight () const
 Returns the vertical component of window maximal size. More...
 
void GetSize (int *width, int *height) const
 Returns the size of the entire window in pixels, including title bar, border, scrollbars, etc. More...
 
wxSize GetSize () const
 See the GetSize(int*,int*) overload for more info. More...
 
wxSize GetVirtualSize () const
 This gets the virtual size of the window in pixels. More...
 
void GetVirtualSize (int *width, int *height) const
 Like the other GetVirtualSize() overload but uses pointers instead. More...
 
virtual wxSize GetBestVirtualSize () const
 Return the largest of ClientSize and BestSize (as determined by a sizer, interior children, or other means) More...
 
double GetContentScaleFactor () const
 Returns the factor mapping logical pixels of this window to physical pixels. More...
 
double GetDPIScaleFactor () const
 Returns the ratio of the DPI used by this window to the standard DPI. More...
 
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. More...
 
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. More...
 
void InvalidateBestSize ()
 Resets the cached best size value so it will be recalculated the next time it is needed. More...
 
void PostSizeEvent ()
 Posts a size event to the window. More...
 
void PostSizeEventToParent ()
 Posts a size event to the parent of this window. More...
 
virtual void SendSizeEvent (int flags=0)
 This function sends a dummy size event to the window allowing it to re-layout its children positions. More...
 
void SendSizeEventToParent (int flags=0)
 Safe wrapper for GetParent()->SendSizeEvent(). More...
 
void SetClientSize (int width, int height)
 This sets the size of the window client area in pixels. More...
 
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. More...
 
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. More...
 
void SetContainingSizer (wxSizer *sizer)
 Used by wxSizer internally to notify the window about being managed by the given sizer. More...
 
void SetInitialSize (const wxSize &size=wxDefaultSize)
 A smart SetSize that will fill in default size components with the window's best size values. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void SetSize (int x, int y, int width, int height, int sizeFlags=wxSIZE_AUTO)
 Sets the size of the window in pixels. More...
 
void SetSize (const wxRect &rect)
 Sets the size of the window in pixels. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void SetVirtualSize (int width, int height)
 Sets the virtual size of the window in pixels. More...
 
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. More...
 
- Public Member Functions inherited from wxEvtHandler
 wxEvtHandler ()
 Constructor. More...
 
virtual ~wxEvtHandler ()
 Destructor. More...
 
template<typename T , typename T1 , ... >
void CallAfter (void(T::*method)(T1,...), T1 x1,...)
 Asynchronously call the given method. More...
 
template<typename T >
void CallAfter (const T &functor)
 Asynchronously call the given functor. More...
 
bool ProcessEventLocally (wxEvent &event)
 Try to process the event in this handler and all those chained to it. More...
 
bool SafelyProcessEvent (wxEvent &event)
 Processes an event by calling ProcessEvent() and handles any exceptions that occur in the process. More...
 
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. More...
 
void DeletePendingEvents ()
 Deletes all events queued on this event handler using QueueEvent() or AddPendingEvent(). More...
 
void Connect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 Connects the given function dynamically with the event handler, id and event type. More...
 
void Connect (int id, wxEventType eventType, wxObjectEventFunction function, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
void Connect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 See the Connect(int, int, wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
bool Disconnect (wxEventType eventType, wxObjectEventFunction function, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 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. More...
 
bool Disconnect (int id=wxID_ANY, wxEventType eventType=wxEVT_NULL, wxObjectEventFunction function=nullptr, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
bool Disconnect (int id, int lastId, wxEventType eventType, wxObjectEventFunction function=nullptr, wxObject *userData=nullptr, wxEvtHandler *eventSink=nullptr)
 See the Disconnect(wxEventType, wxObjectEventFunction, wxObject*, wxEvtHandler*) overload for more info. More...
 
template<typename EventTag , typename Functor >
void Bind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=nullptr)
 Binds the given function, functor or method dynamically with the event. More...
 
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=nullptr)
 See the Bind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info. More...
 
template<typename EventTag , typename Functor >
bool Unbind (const EventTag &eventType, Functor functor, int id=wxID_ANY, int lastId=wxID_ANY, wxObject *userData=nullptr)
 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. More...
 
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=nullptr)
 See the Unbind<>(const EventTag&, Functor, int, int, wxObject*) overload for more info. More...
 
void * GetClientData () const
 Returns user-supplied client data. More...
 
wxClientDataGetClientObject () const
 Returns a pointer to the user-supplied client data object. More...
 
void SetClientData (void *data)
 Sets user-supplied client data. More...
 
void SetClientObject (wxClientData *data)
 Set the client data object. More...
 
bool GetEvtHandlerEnabled () const
 Returns true if the event handler is enabled, false otherwise. More...
 
wxEvtHandlerGetNextHandler () const
 Returns the pointer to the next handler in the chain. More...
 
wxEvtHandlerGetPreviousHandler () const
 Returns the pointer to the previous handler in the chain. More...
 
void SetEvtHandlerEnabled (bool enabled)
 Enables or disables the event handler. More...
 
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). More...
 
bool IsUnlinked () const
 Returns true if the next and the previous handler pointers of this event handler instance are nullptr. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

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. More...
 
static wxWindowFindFocus ()
 Finds the window or control which currently has the keyboard focus. More...
 
static wxWindowFindWindowById (long id, const wxWindow *parent=0)
 Find the first window with the given id. More...
 
static wxWindowFindWindowByLabel (const wxString &label, const wxWindow *parent=0)
 Find a window by its label. More...
 
static wxWindowFindWindowByName (const wxString &name, const wxWindow *parent=0)
 Find a window by its name (as given in a window constructor or Create() function call). More...
 
static wxWindowGetCapture ()
 Returns the currently captured window. More...
 
static wxWindowID NewControlId (int count=1)
 Create a new ID or range of IDs that are not currently in use. More...
 
static void UnreserveControlId (wxWindowID id, int count=1)
 Unreserve an ID or range of IDs that was reserved by NewControlId(). More...
 
static wxSize FromDIP (const wxSize &sz, const wxWindow *w)
 Non window-specific DPI-independent pixels conversion functions. More...
 
static wxPoint FromDIP (const wxPoint &pt, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static int FromDIP (int d, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static wxSize ToDIP (const wxSize &sz, const wxWindow *w)
 Non window-specific pixel to DPI-independent pixels conversion functions. More...
 
static wxPoint ToDIP (const wxPoint &pt, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static int ToDIP (int d, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static wxSize FromPhys (const wxSize &sz, const wxWindow *w)
 Convert from physical pixels to logical pixels for any window. More...
 
static wxPoint FromPhys (const wxPoint &pt, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static int FromPhys (int d, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static wxSize ToPhys (const wxSize &sz, const wxWindow *w)
 Convert from logical pixels to physical pixels for any window. More...
 
static wxPoint ToPhys (const wxPoint &pt, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static int ToPhys (int d, const wxWindow *w)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
- Static Public Member Functions inherited from wxEvtHandler
static void AddFilter (wxEventFilter *filter)
 Add an event filter whose FilterEvent() method will be called for each and every event processed by wxWidgets. More...
 
static void RemoveFilter (wxEventFilter *filter)
 Remove a filter previously installed with AddFilter(). More...
 
- Protected Member Functions inherited from wxWindow
virtual void DoCentre (int direction)
 Centres the window. More...
 
virtual wxSize DoGetBestSize () const
 Implementation of GetBestSize() that can be overridden. More...
 
virtual wxSize DoGetBestClientSize () const
 Override this method to return the best size for a custom control. More...
 
virtual int DoGetBestClientHeight (int width) const
 Override this method to implement height-for-width best size calculation. More...
 
virtual int DoGetBestClientWidth (int height) const
 Override this method to implement width-for-height best size calculation. More...
 
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). More...
 
void SendDestroyEvent ()
 Generate wxWindowDestroyEvent for this window. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
- Protected Member Functions inherited from wxEvtHandler
virtual bool TryBefore (wxEvent &event)
 Method called by ProcessEvent() before examining this object event tables. More...
 
virtual bool TryAfter (wxEvent &event)
 Method called by ProcessEvent() as last resort. More...
 
- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxTreeListCtrl() [1/2]

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() [2/2]

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

◆ AppendColumn()

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

Add a column with the given title and attributes.

Parameters
titleThe column label.
widthThe 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 last 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.
alignAlignment of both the column header and its items.
flagsColumn 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.

◆ AppendItem()

wxTreeListItem wxTreeListCtrl::AppendItem ( wxTreeListItem  parent,
const wxString text,
int  imageClosed = NO_IMAGE,
int  imageOpened = NO_IMAGE,
wxClientData data = nullptr 
)

Same as InsertItem() with wxTLI_LAST.

◆ AreAllChildrenInState()

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()

◆ AssignImageList()

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().

◆ CheckItem()

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

Change the item checked state.

Parameters
itemValid non-root tree item.
stateOne of wxCHK_CHECKED, wxCHK_UNCHECKED or, for the controls with wxTL_3STATE or wxTL_USER_3STATE styles, wxCHK_UNDETERMINED.

◆ CheckItemRecursively()

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.

◆ ClearColumns()

void wxTreeListCtrl::ClearColumns ( )

Delete all columns.

See also
DeleteAllItems()

◆ Collapse()

void wxTreeListCtrl::Collapse ( wxTreeListItem  item)

Collapse the given tree branch.

◆ Create()

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
parentThe parent window, must be non-null.
idThe window identifier, may be wxID_ANY.
posThe initial window position, usually unused.
sizeThe initial window size, usually unused.
styleThe window style, see their description in the class documentation.
nameThe name of the window.

◆ DeleteAllItems()

void wxTreeListCtrl::DeleteAllItems ( )

Delete all tree items.

◆ DeleteColumn()

bool wxTreeListCtrl::DeleteColumn ( unsigned  col)

Delete the column with the given index.

Parameters
colColumn 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.

◆ DeleteItem()

void wxTreeListCtrl::DeleteItem ( wxTreeListItem  item)

Delete the specified item.

◆ EnsureVisible()

void wxTreeListCtrl::EnsureVisible ( wxTreeListItem  item)

Call this to ensure that the given item is visible.

Since
3.1.0

◆ Expand()

void wxTreeListCtrl::Expand ( wxTreeListItem  item)

Expand the given tree branch.

◆ GetCheckedState()

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.

◆ GetColumnCount()

unsigned wxTreeListCtrl::GetColumnCount ( ) const

Return the total number of columns.

◆ GetColumnWidth()

int wxTreeListCtrl::GetColumnWidth ( unsigned  col) const

Get the current width of the given column in pixels.

◆ GetDataView()

wxDataViewCtrl* wxTreeListCtrl::GetDataView ( ) const

Return the view part of this control as wxDataViewCtrl.

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

◆ GetFirstChild()

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.

◆ GetFirstItem()

wxTreeListItem wxTreeListCtrl::GetFirstItem ( ) const

Return the first item in the tree.

This is the first child of the root item.

See also
GetNextItem()

◆ GetItemData()

wxClientData* wxTreeListCtrl::GetItemData ( wxTreeListItem  item) const

Get the data associated with the given item.

The returned pointer may be nullptr.

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

◆ GetItemParent()

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.

◆ GetItemText()

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

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.

◆ GetNextItem()

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 ...
}
Unique identifier of an item in wxTreeListCtrl.
Definition: treelist.h:59
bool IsOk() const
Return true if the item is valid.

◆ GetNextSibling()

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.

◆ GetRootItem()

wxTreeListItem wxTreeListCtrl::GetRootItem ( ) const

Return the (never shown) root item.

◆ GetSelection()

wxTreeListItem wxTreeListCtrl::GetSelection ( ) const

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.

◆ GetSelections()

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.

◆ GetSortColumn()

bool wxTreeListCtrl::GetSortColumn ( unsigned *  col,
bool *  ascendingOrder = nullptr 
)

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
colReceives the index of the column used for sorting if non-null.
ascendingOrderReceives 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.

◆ GetView()

wxWindow* wxTreeListCtrl::GetView ( ) const

Return the view part of this control as a wxWindow.

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

◆ InsertItem()

wxTreeListItem wxTreeListCtrl::InsertItem ( wxTreeListItem  parent,
wxTreeListItem  previous,
const wxString text,
int  imageClosed = NO_IMAGE,
int  imageOpened = NO_IMAGE,
wxClientData data = nullptr 
)

Insert a new item into the tree.

Parameters
parentThe item parent. Must be valid, may be GetRootItem().
previousThe 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.
textThe item text.
imageClosedThe normal item image, may be NO_IMAGE to not show any image.
imageOpenedThe item image shown when it's in the expanded state.
dataOptional client data pointer that can be later retrieved using GetItemData() and will be deleted by the tree when the item itself is deleted.

◆ IsExpanded()

bool wxTreeListCtrl::IsExpanded ( wxTreeListItem  item) const

Return whether the given item is expanded.

◆ IsSelected()

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.

◆ PrependItem()

wxTreeListItem wxTreeListCtrl::PrependItem ( wxTreeListItem  parent,
const wxString text,
int  imageClosed = NO_IMAGE,
int  imageOpened = NO_IMAGE,
wxClientData data = nullptr 
)

Same as InsertItem() with wxTLI_FIRST.

◆ Select()

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.

◆ SelectAll()

void wxTreeListCtrl::SelectAll ( )

Select all the control items.

Can be only used in multi-selection mode.

◆ SetColumnWidth()

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 last column is ignored as this column is always resized to fill the space left by the other columns.

◆ SetImageList()

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
imageListImage list to use, may be nullptr to not show any images any more.

◆ SetItemComparator()

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 nullptr to stop using custom comparator and revert to the default alphabetical comparison.

◆ SetItemData()

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 nullptr as data argument.

◆ SetItemImage()

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.

◆ SetItemText() [1/2]

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

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

◆ SetItemText() [2/2]

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

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

◆ SetSortColumn()

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

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
colA valid column index.
ascendingOrderIndicates whether the items should be sorted in ascending (A to Z) or descending (Z to A) order.

◆ UncheckItem()

void wxTreeListCtrl::UncheckItem ( wxTreeListItem  item)

Uncheck the given item.

This is synonymous with CheckItem(wxCHK_UNCHECKED).

◆ Unselect()

void wxTreeListCtrl::Unselect ( wxTreeListItem  item)

Deselect the given item.

This method can be used in multiple selection mode only.

◆ UnselectAll()

void wxTreeListCtrl::UnselectAll ( )

Deselect all the control items.

Can be only used in multi-selection mode.

◆ UpdateItemParentStateRecursively()

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.

◆ WidthFor()

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

◆ NO_IMAGE

const int wxTreeListCtrl::NO_IMAGE = -1
static

A constant indicating that no image should be used for an item.