.. wxPython Phoenix documentation This file was generated by Phoenix's sphinx generator and associated tools, do not edit by hand. Copyright: (c) 2011-2020 by Total Control Software License: wxWindows License .. include:: headings.inc .. _wx.Treebook: ========================================================================================================================================== |phoenix_title| **wx.Treebook** ========================================================================================================================================== This class is an extension of the :ref:`wx.Notebook` class that allows a tree structured set of pages to be shown in a control. A classic example is a netscape preferences dialog that shows a tree of preference sections on the left and select section page on the right. To use the class simply create it and populate with pages using :meth:`~wx.Treebook.InsertPage`, :meth:`~wx.Treebook.InsertSubPage`, :meth:`~wx.Treebook.AddPage`, :meth:`~wx.Treebook.AddSubPage`. If your tree is no more than 1 level in depth then you could simply use :meth:`~wx.Treebook.AddPage` and :meth:`~wx.Treebook.AddSubPage` to sequentially populate your tree by adding at every step a page or a subpage to the end of the tree. ^^ .. _Treebook-events: |events| Events Emitted by this Class ===================================== Handlers bound for the following event types will receive a :ref:`wx.BookCtrlEvent` parameter. - EVT_TREEBOOK_PAGE_CHANGED: The page selection was changed. Processes a ``wxEVT_TREEBOOK_PAGE_CHANGED`` event. - EVT_TREEBOOK_PAGE_CHANGING: The page selection is about to be changed. Processes a ``wxEVT_TREEBOOK_PAGE_CHANGING`` event. This event can be :meth:`~wx.Treebook.vetoed`. - EVT_TREEBOOK_NODE_COLLAPSED: The page node is going to be collapsed. Processes a ``wxEVT_TREEBOOK_NODE_COLLAPSED`` event. - EVT_TREEBOOK_NODE_EXPANDED: The page node is going to be expanded. Processes a ``wxEVT_TREEBOOK_NODE_EXPANDED`` event. ^^ .. seealso:: `wx.BookCtrl` , :ref:`wx.BookCtrlEvent`, :ref:`wx.Notebook`, :ref:`wx.TreeCtrl`, :ref:`wx.ImageList`, :ref:`BookCtrl Overview `, :ref:`Notebook Sample ` | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class Treebook:
| |appearance| Control Appearance =============================== | .. figure:: _static/images/widgets/fullsize/wxmsw/../no_appearance.png :alt: wxMSW :figclass: floatleft **wxMSW** .. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png :alt: wxMAC :figclass: floatright **wxMAC** .. figure:: _static/images/widgets/fullsize/wxgtk/wx.treebook.png :alt: wxGTK :figclass: floatcenter **wxGTK** | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.Treebook.__init__` Default constructor. :meth:`~wx.Treebook.AddPage` Adds a new page. :meth:`~wx.Treebook.AddSubPage` Adds a new child-page to the last top-level page. :meth:`~wx.Treebook.CollapseNode` Shortcut for :meth:`~Treebook.ExpandNode` ( `pageId`, ``False`` ). :meth:`~wx.Treebook.Create` Creates a treebook control. :meth:`~wx.Treebook.DeletePage` Deletes the page at the specified position and all its children. :meth:`~wx.Treebook.ExpandNode` Expands (collapses) the `pageId` node. :meth:`~wx.Treebook.GetClassDefaultAttributes` :meth:`~wx.Treebook.GetPageParent` Returns the parent page of the given one or ``NOT_FOUND`` if this is a top-level page. :meth:`~wx.Treebook.GetSelection` Returns the currently selected page, or ``NOT_FOUND`` if none was selected. :meth:`~wx.Treebook.GetTreeCtrl` Returns the tree control used for selecting pages. :meth:`~wx.Treebook.InsertPage` Inserts a new page just before the page indicated by `pagePos`. :meth:`~wx.Treebook.InsertSubPage` Inserts a sub page under the specified page. :meth:`~wx.Treebook.IsNodeExpanded` Returns ``True`` if the page represented by `pageId` is expanded. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.Treebook.Selection` See :meth:`~wx.Treebook.GetSelection` :attr:`~wx.Treebook.TreeCtrl` See :meth:`~wx.Treebook.GetTreeCtrl` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.Treebook(BookCtrlBase) **Possible constructors**:: Treebook() Treebook(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=BK_DEFAULT, name="") This class is an extension of the Notebook class that allows a tree structured set of pages to be shown in a control. .. method:: __init__(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **__init__** `(self)` Default constructor. :html:`

` **__init__** `(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=BK_DEFAULT, name="")` Creates an empty :ref:`wx.Treebook`. :param `parent`: The parent window. Must be not ``None``. :type `parent`: wx.Window :param `id`: The window identifier. :type `id`: wx.WindowID :param `pos`: The window position. :type `pos`: wx.Point :param `size`: The window size. :type `size`: wx.Size :param `style`: The window style. See :ref:`wx.Notebook`. :type `style`: long :param `name`: The name of the control (used only under Motif). :type `name`: string :html:`

` .. method:: AddPage(self, page, text, bSelect=False, imageId=NOT_FOUND) Adds a new page. The page is placed at the topmost level after all other pages. ``None`` could be specified for page to create an empty page. :param `page`: :type `page`: wx.Window :param `text`: :type `text`: string :param `bSelect`: :type `bSelect`: bool :param `imageId`: :type `imageId`: int :rtype: `bool` .. method:: AddSubPage(self, page, text, bSelect=False, imageId=NOT_FOUND) Adds a new child-page to the last top-level page. ``None`` could be specified for page to create an empty page. :param `page`: :type `page`: wx.Window :param `text`: :type `text`: string :param `bSelect`: :type `bSelect`: bool :param `imageId`: :type `imageId`: int :rtype: `bool` .. method:: CollapseNode(self, pageId) Shortcut for :meth:`ExpandNode` ( `pageId`, ``False`` ). :param `pageId`: :type `pageId`: int :rtype: `bool` .. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=BK_DEFAULT, name="") Creates a treebook control. See :meth:`Treebook.__init__` for the description of the parameters. :param `parent`: :type `parent`: wx.Window :param `id`: :type `id`: wx.WindowID :param `pos`: :type `pos`: wx.Point :param `size`: :type `size`: wx.Size :param `style`: :type `style`: long :param `name`: :type `name`: string :rtype: `bool` .. method:: DeletePage(self, pagePos) Deletes the page at the specified position and all its children. Could trigger page selection change in a case when selected page is removed. In that case its parent is selected (or the next page if no parent). :param `pagePos`: :type `pagePos`: int :rtype: `bool` .. method:: ExpandNode(self, pageId, expand=True) Expands (collapses) the `pageId` node. Returns the previous state. May generate page changing events (if selected page is under the collapsed branch, then its parent is autoselected). :param `pageId`: :type `pageId`: int :param `expand`: :type `expand`: bool :rtype: `bool` .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) :param `variant`: :type `variant`: wx.WindowVariant :rtype: :ref:`wx.VisualAttributes` .. method:: GetPageParent(self, page) Returns the parent page of the given one or ``NOT_FOUND`` if this is a top-level page. :param `page`: :type `page`: int :rtype: `int` .. method:: GetSelection(self) Returns the currently selected page, or ``NOT_FOUND`` if none was selected. :rtype: `int` .. note:: This method may return either the previously or newly selected page when called from the EVT_TREEBOOK_PAGE_CHANGED() handler depending on the platform and so :meth:`wx.BookCtrlEvent.GetSelection` should be used instead in this case. .. method:: GetTreeCtrl(self) Returns the tree control used for selecting pages. :rtype: :ref:`wx.TreeCtrl` .. method:: InsertPage(self, pagePos, page, text, bSelect=False, imageId=NOT_FOUND) Inserts a new page just before the page indicated by `pagePos`. The new page is placed before `pagePos` page and on the same level. ``None`` could be specified for page to create an empty page. :param `pagePos`: :type `pagePos`: int :param `page`: :type `page`: wx.Window :param `text`: :type `text`: string :param `bSelect`: :type `bSelect`: bool :param `imageId`: :type `imageId`: int :rtype: `bool` .. method:: InsertSubPage(self, pagePos, page, text, bSelect=False, imageId=NOT_FOUND) Inserts a sub page under the specified page. ``None`` could be specified for page to create an empty page. :param `pagePos`: :type `pagePos`: int :param `page`: :type `page`: wx.Window :param `text`: :type `text`: string :param `bSelect`: :type `bSelect`: bool :param `imageId`: :type `imageId`: int :rtype: `bool` .. method:: IsNodeExpanded(self, pageId) Returns ``True`` if the page represented by `pageId` is expanded. :param `pageId`: :type `pageId`: int :rtype: `bool` .. attribute:: Selection See :meth:`~wx.Treebook.GetSelection` .. attribute:: TreeCtrl See :meth:`~wx.Treebook.GetTreeCtrl`