Version: 3.3.0
wxTreeCtrl Class Reference

#include <wx/treectrl.h>

+ Inheritance diagram for wxTreeCtrl:

Detailed Description

A tree control presents information as a hierarchy, with items that may be expanded to show further items.

Items in a tree control are referenced by wxTreeItemId handles, which may be tested for validity by calling wxTreeItemId::IsOk().

A similar control with a fully native implementation for GTK+ and macOS as well is wxDataViewTreeCtrl.

Images in wxTreeCtrl

wxTreeCtrl inherits from wxWithImages classes providing the functions for associating images with the control items. Each item refers to its image using an index, which can possibly by wxWithImages::NO_IMAGE to indicate that the item doesn't use any image at all, and the corresponding image is taken either from the vector passed to wxWithImages::SetImages() or from the image list passed to wxWithImages::SetImageList() or wxWithImages::AssignImageList() functions.

In addition to normal images, handled with the methods mentioned above, wxTreeCtrl also provides optional state images that may be used to indicate some additional state of the item, e.g. checked or unchecked status. These images can be set using SetStateImages() (preferred, as they allow to specify high resolution versions of the state images too) or legacy SetStateImageList() and AssignStateImageList() functions that behave in the same way as the corresponding methods of wxWithImages. Note that state images are currently not supported in the native wxQt version.

Finally, in the generic version of this control (wxGenericTreeCtrl), also provides SetButtonsImageList() and AssignButtonsImageList(), which can be used to change the images used for the control buttons, used to expand or collapse its branches. These methods are not available in the native wxMSW and wxQt implementations.

Events

To intercept events from a tree control, use the event table macros described in wxTreeEvent.

Styles

This class supports the following styles:

  • wxTR_EDIT_LABELS:
    Use this style if you wish the user to be able to edit labels in the tree control.
  • wxTR_NO_BUTTONS:
    For convenience to document that no buttons are to be drawn.
  • wxTR_HAS_BUTTONS:
    Use this style to show + and - buttons to the left of parent items.
  • wxTR_TWIST_BUTTONS:
    Selects alternative style of +/- buttons and shows rotating ("twisting") arrows instead. Currently this style is only implemented in wxMSW and is ignored under the other platforms as enabling it is equivalent to using wxSystemThemedControl::EnableSystemTheme().
  • wxTR_NO_LINES:
    Use this style to hide vertical level connectors.
  • wxTR_FULL_ROW_HIGHLIGHT:
    Use this style to have the background colour and the selection highlight extend over the entire horizontal row of the tree control window. (This flag is ignored under Windows unless you specify wxTR_NO_LINES as well.)
  • wxTR_LINES_AT_ROOT:
    Use this style to show lines leading to the root nodes (unless no wxTR_NO_LINES is also used, in which case no lines are shown). Note that in the MSW version, if this style is omitted, not only the lines, but also the button used for expanding the root item is not shown, which can be unexpected, so it is recommended to always use it.
  • wxTR_HIDE_ROOT:
    Use this style to suppress the display of the root node, effectively causing the first-level nodes to appear as a series of root nodes. Note that in wxMSW this style must be set when creating the control and can't be changed later.
  • wxTR_ROW_LINES:
    Use this style to draw a contrasting border between displayed rows.
  • wxTR_HAS_VARIABLE_ROW_HEIGHT:
    Use this style to cause row heights to be just big enough to fit the content. If not set, all rows use the largest row height. The default is that this flag is unset. Generic only.
  • wxTR_SINGLE:
    For convenience to document that only one item may be selected at a time. Selecting another item causes the current selection, if any, to be deselected. This is the default.
  • wxTR_MULTIPLE:
    Use this style to allow a range of items to be selected. If a second range is selected, the current range, if any, is deselected.
  • wxTR_DEFAULT_STYLE:
    The set of flags that are closest to the defaults for the native control for a particular toolkit.

Events emitted by this class

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

void handlerFuncName(wxTreeEvent& event)

Event macros for events emitted by this class:

  • EVT_TREE_BEGIN_DRAG(id, func):
    Begin dragging with the left mouse button. If you want to enable left-dragging you need to intercept this event and explicitly call wxTreeEvent::Allow(), as it's vetoed by default. Processes a wxEVT_TREE_BEGIN_DRAG event type.
  • EVT_TREE_BEGIN_RDRAG(id, func):
    Begin dragging with the right mouse button. If you want to enable right-dragging you need to intercept this event and explicitly call wxTreeEvent::Allow(), as it's vetoed by default. Processes a wxEVT_TREE_BEGIN_RDRAG event type.
  • EVT_TREE_END_DRAG(id, func):
    End dragging with the left or right mouse button. Processes a wxEVT_TREE_END_DRAG event type.
  • EVT_TREE_BEGIN_LABEL_EDIT(id, func):
    Begin editing a label. This can be prevented by calling Veto(). Processes a wxEVT_TREE_BEGIN_LABEL_EDIT event type.
  • EVT_TREE_END_LABEL_EDIT(id, func):
    Finish editing a label. This can be prevented by calling Veto(). Processes a wxEVT_TREE_END_LABEL_EDIT event type.
  • EVT_TREE_DELETE_ITEM(id, func):
    An item was deleted. Processes a wxEVT_TREE_DELETE_ITEM event type.
  • EVT_TREE_GET_INFO(id, func):
    Request information from the application. Processes a wxEVT_TREE_GET_INFO event type.
  • EVT_TREE_SET_INFO(id, func):
    Information is being supplied. Processes a wxEVT_TREE_SET_INFO event type.
  • EVT_TREE_ITEM_ACTIVATED(id, func):
    The item has been activated, i.e. chosen by double clicking it with mouse or from keyboard. Processes a wxEVT_TREE_ITEM_ACTIVATED event type.
  • EVT_TREE_ITEM_COLLAPSED(id, func):
    The item has been collapsed. Processes a wxEVT_TREE_ITEM_COLLAPSED event type.
  • EVT_TREE_ITEM_COLLAPSING(id, func):
    The item is being collapsed. This can be prevented by calling Veto(). Processes a wxEVT_TREE_ITEM_COLLAPSING event type.
  • EVT_TREE_ITEM_EXPANDED(id, func):
    The item has been expanded. Processes a wxEVT_TREE_ITEM_EXPANDED event type.
  • EVT_TREE_ITEM_EXPANDING(id, func):
    The item is being expanded. This can be prevented by calling Veto(). Processes a wxEVT_TREE_ITEM_EXPANDING event type.
  • EVT_TREE_ITEM_RIGHT_CLICK(id, func):
    The user has clicked the item with the right mouse button. Processes a wxEVT_TREE_ITEM_RIGHT_CLICK event type.
  • EVT_TREE_ITEM_MIDDLE_CLICK(id, func):
    The user has clicked the item with the middle mouse button. This is only supported by the generic control. Processes a wxEVT_TREE_ITEM_MIDDLE_CLICK event type.
  • EVT_TREE_SEL_CHANGED(id, func):
    Selection has changed. Processes a wxEVT_TREE_SEL_CHANGED event type.
  • EVT_TREE_SEL_CHANGING(id, func):
    Selection is changing. This can be prevented by calling Veto(). Processes a wxEVT_TREE_SEL_CHANGING event type.
  • EVT_TREE_KEY_DOWN(id, func):
    A key has been pressed. Processes a wxEVT_TREE_KEY_DOWN event type.
  • EVT_TREE_ITEM_GETTOOLTIP(id, func):
    The opportunity to set the item tooltip is being given to the application (call wxTreeEvent::SetToolTip). Windows only. Processes a wxEVT_TREE_ITEM_GETTOOLTIP event type.
  • EVT_TREE_ITEM_MENU(id, func):
    The context menu for the selected item has been requested, either by a right click or by using the menu key. Notice that these events always carry a valid tree item and so are not generated when (right) clicking outside of the items area. If you need to handle such events, consider using wxEVT_CONTEXT_MENU instead. Processes a wxEVT_TREE_ITEM_MENU event type.
  • EVT_TREE_STATE_IMAGE_CLICK(id, func):
    The state image has been clicked. Processes a wxEVT_TREE_STATE_IMAGE_CLICK event type.

See also Window Styles.

Library:  wxCore
Category:  Controls

Appearance:

wxMSW Appearance

wxGTK Appearance

wxOSX Appearance

See also
wxDataViewTreeCtrl, wxTreeEvent, wxTreeItemData, wxTreeCtrl Overview, wxListBox, wxListCtrl, wxWithImages

Public Member Functions

 wxTreeCtrl ()
 Default Constructor. More...
 
 wxTreeCtrl (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTR_DEFAULT_STYLE, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxTreeCtrlNameStr)
 Constructor, creating and showing a tree control. More...
 
virtual ~wxTreeCtrl ()
 Destructor, destroying the tree control. More...
 
virtual wxTreeItemId AddRoot (const wxString &text, int image=-1, int selImage=-1, wxTreeItemData *data=nullptr)
 Adds the root node to the tree, returning the new item. More...
 
wxTreeItemId AppendItem (const wxTreeItemId &parent, const wxString &text, int image=-1, int selImage=-1, wxTreeItemData *data=nullptr)
 Appends an item to the end of the branch identified by parent, return a new item id. More...
 
void AssignButtonsImageList (wxImageList *imageList)
 Sets the buttons image list. More...
 
void AssignStateImageList (wxImageList *imageList)
 Sets the state image list. More...
 
virtual void Collapse (const wxTreeItemId &item)
 Collapses the given item. More...
 
void CollapseAll ()
 Collapses the root item. More...
 
void CollapseAllChildren (const wxTreeItemId &item)
 Collapses this item and all of its children, recursively. More...
 
virtual void CollapseAndReset (const wxTreeItemId &item)
 Collapses the given item and removes all children. More...
 
bool Create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTR_DEFAULT_STYLE, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxTreeCtrlNameStr)
 Creates the tree control. More...
 
virtual void Delete (const wxTreeItemId &item)
 Deletes the specified item. More...
 
virtual void DeleteAllItems ()
 Deletes all items in the control. More...
 
virtual void DeleteChildren (const wxTreeItemId &item)
 Deletes all children of the given item (but not the item itself). More...
 
virtual wxTextCtrlEditLabel (const wxTreeItemId &item, wxClassInfo *textCtrlClass=wxCLASSINFO(wxTextCtrl))
 Starts editing the label of the given item. More...
 
void EnableBellOnNoMatch (bool on=true)
 Enable or disable a beep if there is no match for the currently entered text when searching for the item from keyboard. More...
 
virtual void EndEditLabel (const wxTreeItemId &item, bool discardChanges=false)
 Ends label editing. More...
 
virtual void EnsureVisible (const wxTreeItemId &item)
 Scrolls and/or expands items to ensure that the given item is visible. More...
 
virtual void Expand (const wxTreeItemId &item)
 Expands the given item. More...
 
void ExpandAll ()
 Expands all items in the tree. More...
 
void ExpandAllChildren (const wxTreeItemId &item)
 Expands the given item and all its children recursively. More...
 
virtual bool GetBoundingRect (const wxTreeItemId &item, wxRect &rect, bool textOnly=false) const
 Retrieves the rectangle bounding the item. More...
 
wxImageListGetButtonsImageList () const
 Returns the buttons image list (from which application-defined button images are taken). More...
 
virtual size_t GetChildrenCount (const wxTreeItemId &item, bool recursively=true) const
 Returns the number of items in the branch. More...
 
virtual unsigned int GetCount () const
 Returns the number of items in the control. More...
 
virtual wxTextCtrlGetEditControl () const
 Returns the edit control being currently used to edit a label. More...
 
virtual wxTreeItemId GetFirstChild (const wxTreeItemId &item, wxTreeItemIdValue &cookie) const
 Returns the first child; call GetNextChild() for the next child. More...
 
virtual wxTreeItemId GetFirstVisibleItem () const
 Returns the first visible item. More...
 
virtual wxTreeItemId GetFocusedItem () const
 Returns the item last clicked or otherwise selected. More...
 
virtual void ClearFocusedItem ()
 Clears the currently focused item. More...
 
virtual void SetFocusedItem (const wxTreeItemId &item)
 Sets the currently focused item. More...
 
virtual unsigned int GetIndent () const
 Returns the current tree control indentation. More...
 
unsigned int GetSpacing () const
 Returns the current tree control spacing. More...
 
virtual wxColour GetItemBackgroundColour (const wxTreeItemId &item) const
 Returns the background colour of the item. More...
 
virtual wxTreeItemDataGetItemData (const wxTreeItemId &item) const
 Returns the tree item data associated with the item. More...
 
virtual wxFont GetItemFont (const wxTreeItemId &item) const
 Returns the font of the item label. More...
 
virtual int GetItemImage (const wxTreeItemId &item, wxTreeItemIcon which=wxTreeItemIcon_Normal) const
 Gets the specified item image. More...
 
virtual wxTreeItemId GetItemParent (const wxTreeItemId &item) const
 Returns the item's parent. More...
 
int GetItemState (const wxTreeItemId &item) const
 Gets the specified item state. More...
 
virtual wxString GetItemText (const wxTreeItemId &item) const
 Returns the item label. More...
 
virtual wxColour GetItemTextColour (const wxTreeItemId &item) const
 Returns the colour of the item label. More...
 
virtual wxTreeItemId GetLastChild (const wxTreeItemId &item) const
 Returns the last child of the item (or an invalid tree item if this item has no children). More...
 
virtual wxTreeItemId GetNextChild (const wxTreeItemId &item, wxTreeItemIdValue &cookie) const
 Returns the next child; call GetFirstChild() for the first child. More...
 
virtual wxTreeItemId GetNextSibling (const wxTreeItemId &item) const
 Returns the next sibling of the specified item; call GetPrevSibling() for the previous sibling. More...
 
virtual wxTreeItemId GetNextVisible (const wxTreeItemId &item) const
 Returns the next visible item or an invalid item if this item is the last visible one. More...
 
virtual wxTreeItemId GetPrevSibling (const wxTreeItemId &item) const
 Returns the previous sibling of the specified item; call GetNextSibling() for the next sibling. More...
 
virtual wxTreeItemId GetPrevVisible (const wxTreeItemId &item) const
 Returns the previous visible item or an invalid item if this item is the first visible one. More...
 
bool GetQuickBestSize () const
 Returns true if the control will use a quick calculation for the best size, looking only at the first and last items. More...
 
virtual wxTreeItemId GetRootItem () const
 Returns the root item for the tree control. More...
 
virtual wxTreeItemId GetSelection () const
 Returns the selection, or an invalid item if there is no selection. More...
 
virtual size_t GetSelections (wxArrayTreeItemIds &selection) const
 Fills the array of tree items passed in with the currently selected items. More...
 
int GetStateImageCount () const
 Returns the number of state images used by the control. More...
 
wxImageListGetStateImageList () const
 Returns the state image list (from which application-defined state images are taken). More...
 
bool HasStateImages () const
 Returns true if the control uses any state images. More...
 
wxTreeItemId HitTest (const wxPoint &point, int &flags) const
 Calculates which (if any) item is under the given point, returning the tree item id at this point plus extra information flags. More...
 
wxTreeItemId InsertItem (const wxTreeItemId &parent, const wxTreeItemId &previous, const wxString &text, int image=-1, int selImage=-1, wxTreeItemData *data=nullptr)
 Inserts an item after a given one (previous). More...
 
wxTreeItemId InsertItem (const wxTreeItemId &parent, size_t pos, const wxString &text, int image=-1, int selImage=-1, wxTreeItemData *data=nullptr)
 Inserts an item before one identified by its position (pos). More...
 
virtual bool IsBold (const wxTreeItemId &item) const
 Returns true if the given item is in bold state. More...
 
bool IsEmpty () const
 Returns true if the control is empty (i.e. has no items, even no root one). More...
 
virtual bool IsExpanded (const wxTreeItemId &item) const
 Returns true if the item is expanded (only makes sense if it has children). More...
 
virtual bool IsSelected (const wxTreeItemId &item) const
 Returns true if the item is selected. More...
 
virtual bool IsVisible (const wxTreeItemId &item) const
 Returns true if the item is visible on the screen. More...
 
virtual bool ItemHasChildren (const wxTreeItemId &item) const
 Returns true if the item has children. More...
 
virtual int OnCompareItems (const wxTreeItemId &item1, const wxTreeItemId &item2)
 Override this function in the derived class to change the sort order of the items in the tree control. More...
 
wxTreeItemId PrependItem (const wxTreeItemId &parent, const wxString &text, int image=-1, int selImage=-1, wxTreeItemData *data=nullptr)
 Appends an item as the first child of parent, return a new item id. More...
 
virtual void ScrollTo (const wxTreeItemId &item)
 Scrolls the specified item into view. More...
 
virtual void SelectItem (const wxTreeItemId &item, bool select=true)
 Selects the given item. More...
 
void SetButtonsImageList (wxImageList *imageList)
 Sets the buttons image list (from which application-defined button images are taken). More...
 
virtual void SetIndent (unsigned int indent)
 Sets the indentation for the tree control. More...
 
void SetSpacing (unsigned int spacing)
 Sets the spacing for the tree control. More...
 
virtual void SetItemBackgroundColour (const wxTreeItemId &item, const wxColour &col)
 Sets the colour of the item's background. More...
 
virtual void SetItemBold (const wxTreeItemId &item, bool bold=true)
 Makes item appear in bold font if bold parameter is true or resets it to the normal state. More...
 
virtual void SetItemData (const wxTreeItemId &item, wxTreeItemData *data)
 Sets the item client data. More...
 
virtual void SetItemDropHighlight (const wxTreeItemId &item, bool highlight=true)
 Gives the item the visual feedback for Drag'n'Drop actions, which is useful if something is dragged from the outside onto the tree control (as opposed to a DnD operation within the tree control, which already is implemented internally). More...
 
virtual void SetItemFont (const wxTreeItemId &item, const wxFont &font)
 Sets the item's font. More...
 
virtual void SetItemHasChildren (const wxTreeItemId &item, bool hasChildren=true)
 Force appearance of the button next to the item. More...
 
virtual void SetItemImage (const wxTreeItemId &item, int image, wxTreeItemIcon which=wxTreeItemIcon_Normal)
 Sets the specified item's image. More...
 
void SetItemState (const wxTreeItemId &item, int state)
 Sets the specified item state. More...
 
virtual void SetItemText (const wxTreeItemId &item, const wxString &text)
 Sets the item label. More...
 
virtual void SetItemTextColour (const wxTreeItemId &item, const wxColour &col)
 Sets the colour of the item's text. More...
 
void SetQuickBestSize (bool quickBestSize)
 If true is passed, specifies that the control will use a quick calculation for the best size, looking only at the first and last items. More...
 
virtual void SetStateImageList (wxImageList *imageList)
 Sets the state image list (from which application-defined state images are taken). More...
 
virtual void SetStateImages (const wxVector< wxBitmapBundle > &images)
 Sets the images to use for the application-defined item states. More...
 
void SetWindowStyle (long styles)
 Sets the mode flags associated with the display of the tree control. More...
 
virtual void SortChildren (const wxTreeItemId &item)
 Sorts the children of the given item using OnCompareItems(). More...
 
virtual void Toggle (const wxTreeItemId &item)
 Toggles the given item between collapsed and expanded states. More...
 
void ToggleItemSelection (const wxTreeItemId &item)
 Toggles the given item between selected and unselected states. More...
 
virtual void Unselect ()
 Removes the selection from the currently selected item (if any). More...
 
virtual void UnselectAll ()
 This function either behaves the same as Unselect() if the control doesn't have wxTR_MULTIPLE style, or removes the selection from all items if it does have this style. More...
 
void UnselectItem (const wxTreeItemId &item)
 Unselects the given item. More...
 
virtual void SelectChildren (const wxTreeItemId &parent)
 Select all the immediate children of the given parent. More...
 
- Public Member Functions inherited from wxControl
 wxControl (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxControlNameStr)
 Constructs a control. More...
 
 wxControl ()
 Default constructor to allow 2-phase creation. More...
 
bool Create (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxControlNameStr)
 
virtual void Command (wxCommandEvent &event)
 Simulates the effect of the user issuing a command to the item. More...
 
wxString GetLabel () const
 Returns the control's label, as it was passed to SetLabel(). More...
 
wxString GetLabelText () const
 Returns the control's label without mnemonics. More...
 
wxSize GetSizeFromTextSize (int xlen, int ylen=-1) const
 Determine the size needed by the control to leave the given area for its text. More...
 
wxSize GetSizeFromTextSize (const wxSize &tsize) 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 GetSizeFromText (const wxString &text) const
 Determine the minimum size needed by the control to display the given text. More...
 
void SetLabel (const wxString &label)
 Sets the control's label. More...
 
void SetLabelText (const wxString &text)
 Sets the control's label to exactly the given string. More...
 
bool SetLabelMarkup (const wxString &markup)
 Sets the controls label to a string using markup. 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 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 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...
 
WXHWND GTKGetWin32Handle () const
 This function is used only with wxGTK when running on Windows, to receive a wxWindow's underlying HWND. 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...
 
virtual void DoPrepareUpdateWindowUI (wxUpdateUIEvent &event) const
 When UpdateWindowUI() runs, it creates instances of wxUpdateUIEvent. 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...
 
- Public Member Functions inherited from wxWithImages
 wxWithImages ()
 
virtual ~wxWithImages ()
 
int GetImageCount () const
 Return the number of images in this control. More...
 
bool HasImages () const
 Return true if the control has any images associated with it. More...
 
void SetImages (const wxVector< wxBitmapBundle > &images)
 Set the images to use for the items in the control. More...
 
void AssignImageList (wxImageList *imageList)
 Sets the image list for the page control and takes ownership of the list. More...
 
virtual void SetImageList (wxImageList *imageList)
 Sets the image list to use. More...
 
wxImageListGetImageList () const
 Returns the associated image list, may be nullptr. More...
 
wxImageListGetUpdatedImageListFor (wxWindow *win)
 Returns the image list updated to reflect the DPI scaling used for the given window if possible. More...
 

Additional Inherited Members

- Public Types inherited from wxWithImages
enum  { NO_IMAGE = -1 }
 
- Static Public Member Functions inherited from wxControl
static wxString GetLabelText (const wxString &label)
 Returns the given label string without mnemonics ("&" characters). More...
 
static wxString RemoveMnemonics (const wxString &str)
 Returns the given str string without mnemonics ("&" characters). More...
 
static wxString EscapeMnemonics (const wxString &text)
 Escapes the special mnemonics characters ("&") in the given string. More...
 
static wxString Ellipsize (const wxString &label, const wxDC &dc, wxEllipsizeMode mode, int maxWidth, int flags=wxELLIPSIZE_FLAGS_DEFAULT)
 Replaces parts of the label string with ellipsis, if needed, so that it fits into maxWidth pixels if possible. More...
 
- 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 Member Functions inherited from wxWithImages
bool HasImageList () const
 Return true if we have a valid image list. More...
 
wxIcon GetImage (int iconIndex) const
 Return the image with the given index from the image list. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxTreeCtrl() [1/2]

wxTreeCtrl::wxTreeCtrl ( )

Default Constructor.

◆ wxTreeCtrl() [2/2]

wxTreeCtrl::wxTreeCtrl ( wxWindow parent,
wxWindowID  id = wxID_ANY,
const wxPoint pos = wxDefaultPosition,
const wxSize size = wxDefaultSize,
long  style = wxTR_DEFAULT_STYLE,
const wxValidator validator = wxDefaultValidator,
const wxString name = wxTreeCtrlNameStr 
)

Constructor, creating and showing a tree control.

Parameters
parentParent window. Must not be nullptr.
idWindow identifier. The value wxID_ANY indicates a default value.
posWindow position. If wxDefaultPosition is specified then a default position is chosen.
sizeWindow size. If wxDefaultSize is specified then the window is sized appropriately.
styleWindow style. See wxTreeCtrl.
validatorWindow validator.
nameWindow name.
See also
Create(), wxValidator

◆ ~wxTreeCtrl()

virtual wxTreeCtrl::~wxTreeCtrl ( )
virtual

Destructor, destroying the tree control.

Member Function Documentation

◆ AddRoot()

virtual wxTreeItemId wxTreeCtrl::AddRoot ( const wxString text,
int  image = -1,
int  selImage = -1,
wxTreeItemData data = nullptr 
)
virtual

Adds the root node to the tree, returning the new item.

The image and selImage parameters are an index within the normal image list specifying the image to use for unselected and selected items, respectively. If image > -1 and selImage is -1, the same image is used for both selected and unselected items.

◆ AppendItem()

wxTreeItemId wxTreeCtrl::AppendItem ( const wxTreeItemId parent,
const wxString text,
int  image = -1,
int  selImage = -1,
wxTreeItemData data = nullptr 
)

Appends an item to the end of the branch identified by parent, return a new item id.

The image and selImage parameters are an index within the normal image list specifying the image to use for unselected and selected items, respectively. If image > -1 and selImage is -1, the same image is used for both selected and unselected items.

◆ AssignButtonsImageList()

void wxTreeCtrl::AssignButtonsImageList ( wxImageList imageList)

Sets the buttons image list.

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

Setting or assigning the button image list enables the display of image buttons. Once enabled, the only way to disable the display of button images is to set the button image list to nullptr.

This function is only available in the generic version.

See also
SetButtonsImageList().

◆ AssignStateImageList()

void wxTreeCtrl::AssignStateImageList ( wxImageList imageList)

Sets the state image list.

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

Note
Prefer using SetStateImages() in the new code.
See also
SetStateImageList().

◆ ClearFocusedItem()

virtual void wxTreeCtrl::ClearFocusedItem ( )
virtual

Clears the currently focused item.

Since
2.9.1

◆ Collapse()

virtual void wxTreeCtrl::Collapse ( const wxTreeItemId item)
virtual

Collapses the given item.

◆ CollapseAll()

void wxTreeCtrl::CollapseAll ( )

Collapses the root item.

See also
ExpandAll()

◆ CollapseAllChildren()

void wxTreeCtrl::CollapseAllChildren ( const wxTreeItemId item)

Collapses this item and all of its children, recursively.

See also
ExpandAllChildren()

◆ CollapseAndReset()

virtual void wxTreeCtrl::CollapseAndReset ( const wxTreeItemId item)
virtual

Collapses the given item and removes all children.

◆ Create()

bool wxTreeCtrl::Create ( wxWindow parent,
wxWindowID  id = wxID_ANY,
const wxPoint pos = wxDefaultPosition,
const wxSize size = wxDefaultSize,
long  style = wxTR_DEFAULT_STYLE,
const wxValidator validator = wxDefaultValidator,
const wxString name = wxTreeCtrlNameStr 
)

Creates the tree control.

See wxTreeCtrl::wxTreeCtrl() for further details.

◆ Delete()

virtual void wxTreeCtrl::Delete ( const wxTreeItemId item)
virtual

Deletes the specified item.

A EVT_TREE_DELETE_ITEM event will be generated.

This function may cause a subsequent call to GetNextChild() to fail.

◆ DeleteAllItems()

virtual void wxTreeCtrl::DeleteAllItems ( )
virtual

Deletes all items in the control.

This function generates wxEVT_TREE_DELETE_ITEM events for each item being deleted, including the root one if it is shown, i.e. unless wxTR_HIDE_ROOT style is used.

◆ DeleteChildren()

virtual void wxTreeCtrl::DeleteChildren ( const wxTreeItemId item)
virtual

Deletes all children of the given item (but not the item itself).

A wxEVT_TREE_DELETE_ITEM event will be generated for every item being deleted.

If you have called SetItemHasChildren(), you may need to call it again since DeleteChildren() does not automatically clear the setting.

◆ EditLabel()

virtual wxTextCtrl* wxTreeCtrl::EditLabel ( const wxTreeItemId item,
wxClassInfo textCtrlClass = wxCLASSINFO(wxTextCtrl) 
)
virtual

Starts editing the label of the given item.

This function generates a EVT_TREE_BEGIN_LABEL_EDIT event which can be vetoed to prevent the editing from starting.

If it does start, a text control, which can be retrieved using GetEditControl(), allowing the user to edit the label interactively is shown. In wxMSW, this text control is created using textCtrlClass, however this parameter is currently ignored in the other ports where a plain wxTextCtrl is always used.

When the editing ends, EVT_TREE_END_LABEL_EDIT event is sent and this event can be vetoed as well to prevent the label from changing. Note that this event is sent both when the user accepts (e.g. by pressing Enter) or cancels (e.g. by pressing Escape) and its handler can use wxTreeEvent::IsEditCancelled() to distinguish between these situations.

See also
EndEditLabel(), wxTreeEvent

◆ EnableBellOnNoMatch()

void wxTreeCtrl::EnableBellOnNoMatch ( bool  on = true)

Enable or disable a beep if there is no match for the currently entered text when searching for the item from keyboard.

The default is to not beep in this case except in wxMSW where the beep is always generated by the native control and cannot be disabled, i.e. calls to this function do nothing there.

Since
2.9.5

◆ EndEditLabel()

virtual void wxTreeCtrl::EndEditLabel ( const wxTreeItemId item,
bool  discardChanges = false 
)
virtual

Ends label editing.

If cancelEdit is true, the edit will be cancelled.

Note
This function is currently supported under Windows only.
See also
EditLabel()

◆ EnsureVisible()

virtual void wxTreeCtrl::EnsureVisible ( const wxTreeItemId item)
virtual

Scrolls and/or expands items to ensure that the given item is visible.

This method can be used, and will work, even while the window is frozen (see wxWindow::Freeze()).

◆ Expand()

virtual void wxTreeCtrl::Expand ( const wxTreeItemId item)
virtual

Expands the given item.

◆ ExpandAll()

void wxTreeCtrl::ExpandAll ( )

Expands all items in the tree.

◆ ExpandAllChildren()

void wxTreeCtrl::ExpandAllChildren ( const wxTreeItemId item)

Expands the given item and all its children recursively.

◆ GetBoundingRect()

virtual bool wxTreeCtrl::GetBoundingRect ( const wxTreeItemId item,
wxRect rect,
bool  textOnly = false 
) const
virtual

Retrieves the rectangle bounding the item.

If textOnly is true, only the rectangle around the item's label will be returned, otherwise the item's image is also taken into account.

The return value is true if the rectangle was successfully retrieved or false if it was not (in this case rect is not changed) – for example, if the item is currently invisible.

Notice that the rectangle coordinates are logical, not physical ones. So, for example, the x coordinate may be negative if the tree has a horizontal scrollbar and its position is not 0.

wxPerl Note: In wxPerl this method only takes the item and textOnly parameters and returns a Wx::Rect (or undef).

◆ GetButtonsImageList()

wxImageList* wxTreeCtrl::GetButtonsImageList ( ) const

Returns the buttons image list (from which application-defined button images are taken).

This function is only available in the generic version.

◆ GetChildrenCount()

virtual size_t wxTreeCtrl::GetChildrenCount ( const wxTreeItemId item,
bool  recursively = true 
) const
virtual

Returns the number of items in the branch.

If recursively is true, returns the total number of descendants, otherwise only one level of children is counted.

◆ GetCount()

virtual unsigned int wxTreeCtrl::GetCount ( ) const
virtual

Returns the number of items in the control.

◆ GetEditControl()

virtual wxTextCtrl* wxTreeCtrl::GetEditControl ( ) const
virtual

Returns the edit control being currently used to edit a label.

Returns nullptr if no label is being edited.

Note
This is currently only implemented for wxMSW.

◆ GetFirstChild()

virtual wxTreeItemId wxTreeCtrl::GetFirstChild ( const wxTreeItemId item,
wxTreeItemIdValue &  cookie 
) const
virtual

Returns the first child; call GetNextChild() for the next child.

For this enumeration function you must pass in a 'cookie' parameter which is opaque for the application but is necessary for the library to make these functions reentrant (i.e. allow more than one enumeration on one and the same object simultaneously). The cookie passed to GetFirstChild() and GetNextChild() should be the same variable.

Returns an invalid tree item (i.e. wxTreeItemId::IsOk() returns false) if there are no further children.

wxPerl Note: In wxPerl this method only takes the item parameter, and returns a 2-element list (item, cookie).

See also
GetNextChild(), GetNextSibling()

◆ GetFirstVisibleItem()

virtual wxTreeItemId wxTreeCtrl::GetFirstVisibleItem ( ) const
virtual

Returns the first visible item.

◆ GetFocusedItem()

virtual wxTreeItemId wxTreeCtrl::GetFocusedItem ( ) const
virtual

Returns the item last clicked or otherwise selected.

Unlike GetSelection(), it can be used whether or not the control has the wxTR_MULTIPLE style.

Since
2.9.1

◆ GetIndent()

virtual unsigned int wxTreeCtrl::GetIndent ( ) const
virtual

Returns the current tree control indentation.

◆ GetItemBackgroundColour()

virtual wxColour wxTreeCtrl::GetItemBackgroundColour ( const wxTreeItemId item) const
virtual

Returns the background colour of the item.

◆ GetItemData()

virtual wxTreeItemData* wxTreeCtrl::GetItemData ( const wxTreeItemId item) const
virtual

Returns the tree item data associated with the item.

See also
wxTreeItemData

wxPerl Note: wxPerl provides the following shortcut method:

  • GetPlData(item): returns the Perl data associated with the Wx::TreeItemData. It is just the same as tree->GetItemData(item)->GetData().

◆ GetItemFont()

virtual wxFont wxTreeCtrl::GetItemFont ( const wxTreeItemId item) const
virtual

Returns the font of the item label.

If the font hadn't been explicitly set for the specified item with SetItemFont(), returns an invalid wxNullFont font. GetFont() can be used to retrieve the global tree control font used for the items without any specific font.

◆ GetItemImage()

virtual int wxTreeCtrl::GetItemImage ( const wxTreeItemId item,
wxTreeItemIcon  which = wxTreeItemIcon_Normal 
) const
virtual

Gets the specified item image.

The value of which may be:

  • wxTreeItemIcon_Normal: to get the normal item image.
  • wxTreeItemIcon_Selected: to get the selected item image (i.e. the image which is shown when the item is currently selected).
  • wxTreeItemIcon_Expanded: to get the expanded image (this only makes sense for items which have children - then this image is shown when the item is expanded and the normal image is shown when it is collapsed).
  • wxTreeItemIcon_SelectedExpanded: to get the selected expanded image (which is shown when an expanded item is currently selected).

◆ GetItemParent()

virtual wxTreeItemId wxTreeCtrl::GetItemParent ( const wxTreeItemId item) const
virtual

Returns the item's parent.

◆ GetItemState()

int wxTreeCtrl::GetItemState ( const wxTreeItemId item) const

Gets the specified item state.

◆ GetItemText()

virtual wxString wxTreeCtrl::GetItemText ( const wxTreeItemId item) const
virtual

Returns the item label.

◆ GetItemTextColour()

virtual wxColour wxTreeCtrl::GetItemTextColour ( const wxTreeItemId item) const
virtual

Returns the colour of the item label.

◆ GetLastChild()

virtual wxTreeItemId wxTreeCtrl::GetLastChild ( const wxTreeItemId item) const
virtual

Returns the last child of the item (or an invalid tree item if this item has no children).

See also
GetFirstChild(), GetNextSibling(), GetLastChild()

◆ GetNextChild()

virtual wxTreeItemId wxTreeCtrl::GetNextChild ( const wxTreeItemId item,
wxTreeItemIdValue &  cookie 
) const
virtual

Returns the next child; call GetFirstChild() for the first child.

For this enumeration function you must pass in a 'cookie' parameter which is opaque for the application but is necessary for the library to make these functions reentrant (i.e. allow more than one enumeration on one and the same object simultaneously). The cookie passed to GetFirstChild() and GetNextChild() should be the same.

Returns an invalid tree item if there are no further children.

wxPerl Note: In wxPerl this method returns a 2-element list (item, cookie) instead of modifying its parameters.

See also
GetFirstChild()

◆ GetNextSibling()

virtual wxTreeItemId wxTreeCtrl::GetNextSibling ( const wxTreeItemId item) const
virtual

Returns the next sibling of the specified item; call GetPrevSibling() for the previous sibling.

Returns an invalid tree item if there are no further siblings.

See also
GetPrevSibling()

◆ GetNextVisible()

virtual wxTreeItemId wxTreeCtrl::GetNextVisible ( const wxTreeItemId item) const
virtual

Returns the next visible item or an invalid item if this item is the last visible one.

Note
The item itself must be visible.

◆ GetPrevSibling()

virtual wxTreeItemId wxTreeCtrl::GetPrevSibling ( const wxTreeItemId item) const
virtual

Returns the previous sibling of the specified item; call GetNextSibling() for the next sibling.

Returns an invalid tree item if there are no further children.

See also
GetNextSibling()

◆ GetPrevVisible()

virtual wxTreeItemId wxTreeCtrl::GetPrevVisible ( const wxTreeItemId item) const
virtual

Returns the previous visible item or an invalid item if this item is the first visible one.

Note
The item itself must be visible.

◆ GetQuickBestSize()

bool wxTreeCtrl::GetQuickBestSize ( ) const

Returns true if the control will use a quick calculation for the best size, looking only at the first and last items.

The default is false.

See also
SetQuickBestSize()

◆ GetRootItem()

virtual wxTreeItemId wxTreeCtrl::GetRootItem ( ) const
virtual

Returns the root item for the tree control.

◆ GetSelection()

virtual wxTreeItemId wxTreeCtrl::GetSelection ( ) const
virtual

Returns the selection, or an invalid item if there is no selection.

This function only works with the controls without wxTR_MULTIPLE style, use GetSelections() for the controls which do have this style or, if a single item is wanted, use GetFocusedItem().

◆ GetSelections()

virtual size_t wxTreeCtrl::GetSelections ( wxArrayTreeItemIds &  selection) const
virtual

Fills the array of tree items passed in with the currently selected items.

This function can be called only if the control has the wxTR_MULTIPLE style.

Returns the number of selected items.

wxPerl Note: In wxPerl this method takes no parameters and returns a list of Wx::TreeItemId.

◆ GetSpacing()

unsigned int wxTreeCtrl::GetSpacing ( ) const

Returns the current tree control spacing.

This is the number of horizontal pixels between the buttons and the state images.

◆ GetStateImageCount()

int wxTreeCtrl::GetStateImageCount ( ) const

Returns the number of state images used by the control.

Returns the number of images passed to the last call to SetStateImages() or 0 if it had been never called.

See also
HasImages()
Since
3.3.0

◆ GetStateImageList()

wxImageList* wxTreeCtrl::GetStateImageList ( ) const

Returns the state image list (from which application-defined state images are taken).

See also
HasStateImages(), GetStateImageCount()

◆ HasStateImages()

bool wxTreeCtrl::HasStateImages ( ) const

Returns true if the control uses any state images.

This is equivalent to comparing GetStateImageCount() return value with 0 but more clear.

See also
SetStateImages(), GetStateImageCount()
Since
3.3.0

◆ HitTest()

wxTreeItemId wxTreeCtrl::HitTest ( const wxPoint point,
int &  flags 
) const

Calculates which (if any) item is under the given point, returning the tree item id at this point plus extra information flags.

flags is a bitlist of the following:

  • wxTREE_HITTEST_ABOVE: Above the client area.
  • wxTREE_HITTEST_BELOW: Below the client area.
  • wxTREE_HITTEST_NOWHERE: In the client area but below the last item.
  • wxTREE_HITTEST_ONITEMBUTTON: On the button associated with an item.
  • wxTREE_HITTEST_ONITEMICON: On the bitmap associated with an item.
  • wxTREE_HITTEST_ONITEMINDENT: In the indentation associated with an item.
  • wxTREE_HITTEST_ONITEMLABEL: On the label (string) associated with an item.
  • wxTREE_HITTEST_ONITEMRIGHT: In the area to the right of an item.
  • wxTREE_HITTEST_ONITEMSTATEICON: On the state icon for a tree view item that is in a user-defined state.
  • wxTREE_HITTEST_TOLEFT: To the right of the client area.
  • wxTREE_HITTEST_TORIGHT: To the left of the client area.

wxPerl Note: In wxPerl this method only takes the point parameter and returns a 2-element list (item, flags).

◆ InsertItem() [1/2]

wxTreeItemId wxTreeCtrl::InsertItem ( const wxTreeItemId parent,
const wxTreeItemId previous,
const wxString text,
int  image = -1,
int  selImage = -1,
wxTreeItemData data = nullptr 
)

Inserts an item after a given one (previous).

The image and selImage parameters are an index within the normal image list specifying the image to use for unselected and selected items, respectively. If image > -1 and selImage is -1, the same image is used for both selected and unselected items.

◆ InsertItem() [2/2]

wxTreeItemId wxTreeCtrl::InsertItem ( const wxTreeItemId parent,
size_t  pos,
const wxString text,
int  image = -1,
int  selImage = -1,
wxTreeItemData data = nullptr 
)

Inserts an item before one identified by its position (pos).

pos must be less than or equal to the number of children.

The image and selImage parameters are an index within the normal image list specifying the image to use for unselected and selected items, respectively. If image > -1 and selImage is -1, the same image is used for both selected and unselected items.

◆ IsBold()

virtual bool wxTreeCtrl::IsBold ( const wxTreeItemId item) const
virtual

Returns true if the given item is in bold state.

See also
SetItemBold()

◆ IsEmpty()

bool wxTreeCtrl::IsEmpty ( ) const

Returns true if the control is empty (i.e. has no items, even no root one).

◆ IsExpanded()

virtual bool wxTreeCtrl::IsExpanded ( const wxTreeItemId item) const
virtual

Returns true if the item is expanded (only makes sense if it has children).

◆ IsSelected()

virtual bool wxTreeCtrl::IsSelected ( const wxTreeItemId item) const
virtual

Returns true if the item is selected.

◆ IsVisible()

virtual bool wxTreeCtrl::IsVisible ( const wxTreeItemId item) const
virtual

Returns true if the item is visible on the screen.

◆ ItemHasChildren()

virtual bool wxTreeCtrl::ItemHasChildren ( const wxTreeItemId item) const
virtual

Returns true if the item has children.

◆ OnCompareItems()

virtual int wxTreeCtrl::OnCompareItems ( const wxTreeItemId item1,
const wxTreeItemId item2 
)
virtual

Override this function in the derived class to change the sort order of the items in the tree control.

The function should return a negative, zero or positive value if the first item is less than, equal to or greater than the second one.

Please note that you must use wxRTTI macros wxDECLARE_DYNAMIC_CLASS() and wxIMPLEMENT_DYNAMIC_CLASS() if you override this function because otherwise the base class considers that it is not overridden and uses the default comparison, i.e. sorts the items alphabetically, which allows it optimize away the calls to the virtual function completely.

See also
SortChildren()

◆ PrependItem()

wxTreeItemId wxTreeCtrl::PrependItem ( const wxTreeItemId parent,
const wxString text,
int  image = -1,
int  selImage = -1,
wxTreeItemData data = nullptr 
)

Appends an item as the first child of parent, return a new item id.

The image and selImage parameters are an index within the normal image list specifying the image to use for unselected and selected items, respectively. If image > -1 and selImage is -1, the same image is used for both selected and unselected items.

◆ ScrollTo()

virtual void wxTreeCtrl::ScrollTo ( const wxTreeItemId item)
virtual

Scrolls the specified item into view.

Note that this method doesn't work while the window is frozen (See wxWindow::Freeze()), at least under MSW.

See also
EnsureVisible()

◆ SelectChildren()

virtual void wxTreeCtrl::SelectChildren ( const wxTreeItemId parent)
virtual

Select all the immediate children of the given parent.

This function can be used with multiselection controls only.

Since
2.9.1

◆ SelectItem()

virtual void wxTreeCtrl::SelectItem ( const wxTreeItemId item,
bool  select = true 
)
virtual

Selects the given item.

In multiple selection controls, can be also used to deselect a currently selected item if the value of select is false.

Notice that calling this method will generate wxEVT_TREE_SEL_CHANGING and wxEVT_TREE_SEL_CHANGED events and that the change could be vetoed by the former event handler.

◆ SetButtonsImageList()

void wxTreeCtrl::SetButtonsImageList ( wxImageList imageList)

Sets the buttons image list (from which application-defined button images are taken).

The button images assigned with this method will not be deleted by wxTreeCtrl's destructor, you must delete it yourself. Setting or assigning the button image list enables the display of image buttons. Once enabled, the only way to disable the display of button images is to set the button image list to nullptr.

Note
This function is only available in the generic version.
See also
AssignButtonsImageList().

◆ SetFocusedItem()

virtual void wxTreeCtrl::SetFocusedItem ( const wxTreeItemId item)
virtual

Sets the currently focused item.

Parameters
itemThe item to make the current one. It must be valid.
Since
2.9.1

◆ SetIndent()

virtual void wxTreeCtrl::SetIndent ( unsigned int  indent)
virtual

Sets the indentation for the tree control.

◆ SetItemBackgroundColour()

virtual void wxTreeCtrl::SetItemBackgroundColour ( const wxTreeItemId item,
const wxColour col 
)
virtual

Sets the colour of the item's background.

◆ SetItemBold()

virtual void wxTreeCtrl::SetItemBold ( const wxTreeItemId item,
bool  bold = true 
)
virtual

Makes item appear in bold font if bold parameter is true or resets it to the normal state.

See also
IsBold()

◆ SetItemData()

virtual void wxTreeCtrl::SetItemData ( const wxTreeItemId item,
wxTreeItemData data 
)
virtual

Sets the item client data.

Notice that the client data previously associated with the item (if any) is not freed by this function and so calling this function multiple times for the same item will result in memory leaks unless you delete the old item data pointer yourself.

wxPerl Note: wxPerl provides the following shortcut method:

  • SetPlData(item, data): sets the Perl data associated with the Wx::TreeItemData. It is just the same as tree->GetItemData(item)->SetData(data).

◆ SetItemDropHighlight()

virtual void wxTreeCtrl::SetItemDropHighlight ( const wxTreeItemId item,
bool  highlight = true 
)
virtual

Gives the item the visual feedback for Drag'n'Drop actions, which is useful if something is dragged from the outside onto the tree control (as opposed to a DnD operation within the tree control, which already is implemented internally).

◆ SetItemFont()

virtual void wxTreeCtrl::SetItemFont ( const wxTreeItemId item,
const wxFont font 
)
virtual

Sets the item's font.

All items in the tree should have the same height to avoid text clipping, so the fonts height should be the same for all of them, although font attributes may vary.

See also
SetItemBold()

◆ SetItemHasChildren()

virtual void wxTreeCtrl::SetItemHasChildren ( const wxTreeItemId item,
bool  hasChildren = true 
)
virtual

Force appearance of the button next to the item.

This is useful to allow the user to expand the items which don't have any children now, but instead adding them only when needed, thus minimizing memory usage and loading time.

◆ SetItemImage()

virtual void wxTreeCtrl::SetItemImage ( const wxTreeItemId item,
int  image,
wxTreeItemIcon  which = wxTreeItemIcon_Normal 
)
virtual

Sets the specified item's image.

See GetItemImage() for the description of the which parameter.

◆ SetItemState()

void wxTreeCtrl::SetItemState ( const wxTreeItemId item,
int  state 
)

Sets the specified item state.

The value of state may be an index into the state image list, or one of the special values:

  • wxTREE_ITEMSTATE_NONE: to disable the item state (the state image will be not displayed).
  • wxTREE_ITEMSTATE_NEXT: to set the next item state.
  • wxTREE_ITEMSTATE_PREV: to set the previous item state.

◆ SetItemText()

virtual void wxTreeCtrl::SetItemText ( const wxTreeItemId item,
const wxString text 
)
virtual

Sets the item label.

◆ SetItemTextColour()

virtual void wxTreeCtrl::SetItemTextColour ( const wxTreeItemId item,
const wxColour col 
)
virtual

Sets the colour of the item's text.

◆ SetQuickBestSize()

void wxTreeCtrl::SetQuickBestSize ( bool  quickBestSize)

If true is passed, specifies that the control will use a quick calculation for the best size, looking only at the first and last items.

Otherwise, it will look at all items. The default is false.

See also
GetQuickBestSize()

◆ SetSpacing()

void wxTreeCtrl::SetSpacing ( unsigned int  spacing)

Sets the spacing for the tree control.

Spacing is the number of horizontal pixels between the buttons and the state images. This has no effect under wxMSW.

◆ SetStateImageList()

virtual void wxTreeCtrl::SetStateImageList ( wxImageList imageList)
virtual

Sets the state image list (from which application-defined state images are taken).

Image list assigned with this method will not be deleted by wxTreeCtrl's destructor, you must delete it yourself.

Note
Prefer using SetStateImages() in the new code.
See also
AssignStateImageList()

◆ SetStateImages()

virtual void wxTreeCtrl::SetStateImages ( const wxVector< wxBitmapBundle > &  images)
virtual

Sets the images to use for the application-defined item states.

This function takes a vector of wxBitmapBundle objects which can specify multiple versions of the same icon for different display resolutions for each state. If the vector is empty, no state images are shown.

See also
HasStateImages(), GetStateImageCount()
Since
3.3.0

◆ SetWindowStyle()

void wxTreeCtrl::SetWindowStyle ( long  styles)

Sets the mode flags associated with the display of the tree control.

The new mode takes effect immediately.

Note
Generic only; MSW ignores changes.

◆ SortChildren()

virtual void wxTreeCtrl::SortChildren ( const wxTreeItemId item)
virtual

Sorts the children of the given item using OnCompareItems().

You should override that method to change the sort order (the default is ascending case-sensitive alphabetical order).

See also
wxTreeItemData, OnCompareItems()

◆ Toggle()

virtual void wxTreeCtrl::Toggle ( const wxTreeItemId item)
virtual

Toggles the given item between collapsed and expanded states.

◆ ToggleItemSelection()

void wxTreeCtrl::ToggleItemSelection ( const wxTreeItemId item)

Toggles the given item between selected and unselected states.

For multiselection controls only.

◆ Unselect()

virtual void wxTreeCtrl::Unselect ( )
virtual

Removes the selection from the currently selected item (if any).

◆ UnselectAll()

virtual void wxTreeCtrl::UnselectAll ( )
virtual

This function either behaves the same as Unselect() if the control doesn't have wxTR_MULTIPLE style, or removes the selection from all items if it does have this style.

◆ UnselectItem()

void wxTreeCtrl::UnselectItem ( const wxTreeItemId item)

Unselects the given item.

This works in multiselection controls only.