.. 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.aui.AuiNotebook: ========================================================================================================================================== |phoenix_title| **wx.aui.AuiNotebook** ========================================================================================================================================== :ref:`wx.aui.AuiNotebook` is part of the ``AUI`` class framework, which represents a notebook control, managing multiple windows with associated tabs. See also :ref:`AUI Overview `. :ref:`wx.aui.AuiNotebook` is a notebook control which implements many features common in applications with dockable panes. Specifically, :ref:`wx.aui.AuiNotebook` implements functionality which allows the user to rearrange tab order via drag-and-drop, split the tab window into many different splitter configurations, and toggle through different themes to customize the control's look and feel. The default theme that is used is :ref:`wx.aui.AuiDefaultTabArt`, which provides a modern, glossy look and feel. The theme can be changed by calling :meth:`wx.aui.AuiNotebook.SetArtProvider` . ^^ .. _AuiNotebook-styles: |styles| Window Styles ================================ This class supports the following styles: - ``wx.aui.AUI_NB_DEFAULT_STYLE``: Defined as ``wx.aui.AUI_NB_TOP`` | ``wx.aui.AUI_NB_TAB_SPLIT`` | ``wx.aui.AUI_NB_TAB_MOVE`` | ``wx.aui.AUI_NB_SCROLL_BUTTONS`` | ``wx.aui.AUI_NB_CLOSE_ON_ACTIVE_TAB`` | ``wx.aui.AUI_NB_MIDDLE_CLICK_CLOSE``. - ``wx.aui.AUI_NB_TAB_SPLIT``: Allows the tab control to be split by dragging a tab. - ``wx.aui.AUI_NB_TAB_MOVE``: Allows a tab to be moved horizontally by dragging. - ``wx.aui.AUI_NB_TAB_EXTERNAL_MOVE``: Allows a tab to be moved to another tab control. - ``wx.aui.AUI_NB_TAB_FIXED_WIDTH``: With this style, all tabs have the same width. - ``wx.aui.AUI_NB_SCROLL_BUTTONS``: With this style, left and right scroll buttons are displayed. - ``wx.aui.AUI_NB_WINDOWLIST_BUTTON``: With this style, a drop-down list of windows is available. - ``wx.aui.AUI_NB_CLOSE_BUTTON``: With this style, a close button is available on the tab bar. - ``wx.aui.AUI_NB_CLOSE_ON_ACTIVE_TAB``: With this style, the close button is visible on the active tab. - ``wx.aui.AUI_NB_CLOSE_ON_ALL_TABS``: With this style, the close button is visible on all tabs. - ``wx.aui.AUI_NB_MIDDLE_CLICK_CLOSE``: With this style, middle click on a tab closes the tab. - ``wx.aui.AUI_NB_TOP``: With this style, tabs are drawn along the top of the notebook. - ``wx.aui.AUI_NB_BOTTOM``: With this style, tabs are drawn along the bottom of the notebook. ^^ ^^ .. _AuiNotebook-events: |events| Events Emitted by this Class ===================================== Handlers bound for the following event types will receive a :ref:`wx.aui.AuiNotebookEvent` parameter. - EVT_AUINOTEBOOK_PAGE_CLOSE: A page is about to be closed. Processes a ``wxEVT_AUINOTEBOOK_PAGE_CLOSE`` event. - EVT_AUINOTEBOOK_PAGE_CLOSED(winid, fn): A page has been closed. Processes a ``wxEVT_AUINOTEBOOK_PAGE_CLOSED`` event. - EVT_AUINOTEBOOK_PAGE_CHANGED: The page selection was changed. Processes a ``wxEVT_AUINOTEBOOK_PAGE_CHANGED`` event. - EVT_AUINOTEBOOK_PAGE_CHANGING: The page selection is about to be changed. Processes a ``wxEVT_AUINOTEBOOK_PAGE_CHANGING`` event. This event can be vetoed. - EVT_AUINOTEBOOK_BUTTON: The window list button has been pressed. Processes a ``wxEVT_AUINOTEBOOK_BUTTON`` event. - EVT_AUINOTEBOOK_BEGIN_DRAG: Dragging is about to begin. Processes a ``wxEVT_AUINOTEBOOK_BEGIN_DRAG`` event. - EVT_AUINOTEBOOK_END_DRAG: Dragging has ended. Processes a ``wxEVT_AUINOTEBOOK_END_DRAG`` event. - EVT_AUINOTEBOOK_DRAG_MOTION: Emitted during a drag and drop operation. Processes a ``wxEVT_AUINOTEBOOK_DRAG_MOTION`` event. - EVT_AUINOTEBOOK_ALLOW_DND: Whether to allow a tab to be dropped. Processes a ``wxEVT_AUINOTEBOOK_ALLOW_DND`` event. This event must be specially allowed. - EVT_AUINOTEBOOK_DRAG_DONE(winid, fn): Notify that the tab has been dragged. Processes a ``wxEVT_AUINOTEBOOK_DRAG_DONE`` event. - EVT_AUINOTEBOOK_TAB_MIDDLE_DOWN(winid, fn): The middle mouse button is pressed on a tab. Processes a ``wxEVT_AUINOTEBOOK_TAB_MIDDLE_DOWN`` event. - EVT_AUINOTEBOOK_TAB_MIDDLE_UP(winid, fn): The middle mouse button is released on a tab. Processes a ``wxEVT_AUINOTEBOOK_TAB_MIDDLE_UP`` event. - EVT_AUINOTEBOOK_TAB_RIGHT_DOWN(winid, fn): The right mouse button is pressed on a tab. Processes a ``wxEVT_AUINOTEBOOK_TAB_RIGHT_DOWN`` event. - EVT_AUINOTEBOOK_TAB_RIGHT_UP(winid, fn): The right mouse button is released on a tab. Processes a ``wxEVT_AUINOTEBOOK_TAB_RIGHT_UP`` event. - EVT_AUINOTEBOOK_BG_DCLICK(winid, fn): Double clicked on the tabs background area. Processes a ``wxEVT_AUINOTEBOOK_BG_DCLICK`` event. ^^ | |class_hierarchy| Class Hierarchy ================================= .. raw:: html
Inheritance diagram for class AuiNotebook:
| |sub_classes| Known Subclasses ============================== :ref:`wx.aui.AuiMDIClientWindow` | |method_summary| Methods Summary ================================ ================================================================================ ================================================================================ :meth:`~wx.aui.AuiNotebook.__init__` Default constructor. :meth:`~wx.aui.AuiNotebook.AddPage` Adds a page. :meth:`~wx.aui.AuiNotebook.AdvanceSelection` Sets the selection to the next or previous page. :meth:`~wx.aui.AuiNotebook.ChangeSelection` Changes the selection for the given page, returning the previous selection. :meth:`~wx.aui.AuiNotebook.Create` Creates the notebook window. :meth:`~wx.aui.AuiNotebook.DeleteAllPages` Deletes all pages. :meth:`~wx.aui.AuiNotebook.DeletePage` Deletes a page at the given index. :meth:`~wx.aui.AuiNotebook.FindTab` Finds tab control associated with a given window and its tab index. :meth:`~wx.aui.AuiNotebook.GetActiveTabCtrl` Returns active tab control for this notebook. :meth:`~wx.aui.AuiNotebook.GetArtProvider` Returns the associated art provider. :meth:`~wx.aui.AuiNotebook.GetClassDefaultAttributes` :meth:`~wx.aui.AuiNotebook.GetCurrentPage` Returns the currently selected page or ``None``. :meth:`~wx.aui.AuiNotebook.GetHeightForPageHeight` Returns the desired height of the notebook for the given page height. :meth:`~wx.aui.AuiNotebook.GetPage` Returns the page specified by the given index. :meth:`~wx.aui.AuiNotebook.GetPageBitmap` Returns the tab bitmap for the page. :meth:`~wx.aui.AuiNotebook.GetPageCount` Returns the number of pages in the notebook. :meth:`~wx.aui.AuiNotebook.GetPageImage` Returns the image index for the given page. :meth:`~wx.aui.AuiNotebook.GetPageIndex` Returns the page index for the specified window. :meth:`~wx.aui.AuiNotebook.GetPageText` Returns the tab label for the page. :meth:`~wx.aui.AuiNotebook.GetPageToolTip` Returns the tooltip for the tab label of the page. :meth:`~wx.aui.AuiNotebook.GetSelection` Returns the currently selected page. :meth:`~wx.aui.AuiNotebook.GetTabCtrlFromPoint` Returns tab control based on point coordinates inside the tab frame. :meth:`~wx.aui.AuiNotebook.GetTabCtrlHeight` Returns the height of the tab control. :meth:`~wx.aui.AuiNotebook.InsertPage` :meth:`~AuiNotebook.InsertPage` is similar to AddPage, but allows the ability to specify the insert location. :meth:`~wx.aui.AuiNotebook.RemovePage` Removes a page, without deleting the window pointer. :meth:`~wx.aui.AuiNotebook.SetArtProvider` Sets the art provider to be used by the notebook. :meth:`~wx.aui.AuiNotebook.SetFont` Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels. :meth:`~wx.aui.AuiNotebook.SetMeasuringFont` Sets the font for measuring tab labels. :meth:`~wx.aui.AuiNotebook.SetNormalFont` Sets the font for drawing unselected tab labels. :meth:`~wx.aui.AuiNotebook.SetPageBitmap` Sets the bitmap for the page. :meth:`~wx.aui.AuiNotebook.SetPageImage` Sets the image index for the given page. :meth:`~wx.aui.AuiNotebook.SetPageText` Sets the tab label for the page. :meth:`~wx.aui.AuiNotebook.SetPageToolTip` Sets the tooltip displayed when hovering over the tab label of the page. :meth:`~wx.aui.AuiNotebook.SetSelectedFont` Sets the font for drawing selected tab labels. :meth:`~wx.aui.AuiNotebook.SetSelection` Sets the page selection. :meth:`~wx.aui.AuiNotebook.SetTabCtrlHeight` Sets the tab height. :meth:`~wx.aui.AuiNotebook.SetUniformBitmapSize` Ensure that all tabs have the same height, even if some of them don't have bitmaps. :meth:`~wx.aui.AuiNotebook.ShowWindowMenu` Shows the window menu for the active tab control associated with this notebook, and returns ``True`` if a selection was made. :meth:`~wx.aui.AuiNotebook.Split` Split performs a split operation programmatically. ================================================================================ ================================================================================ | |property_summary| Properties Summary ===================================== ================================================================================ ================================================================================ :attr:`~wx.aui.AuiNotebook.ActiveTabCtrl` See :meth:`~wx.aui.AuiNotebook.GetActiveTabCtrl` :attr:`~wx.aui.AuiNotebook.ArtProvider` See :meth:`~wx.aui.AuiNotebook.GetArtProvider` and :meth:`~wx.aui.AuiNotebook.SetArtProvider` :attr:`~wx.aui.AuiNotebook.CurrentPage` See :meth:`~wx.aui.AuiNotebook.GetCurrentPage` :attr:`~wx.aui.AuiNotebook.PageCount` See :meth:`~wx.aui.AuiNotebook.GetPageCount` :attr:`~wx.aui.AuiNotebook.Selection` See :meth:`~wx.aui.AuiNotebook.GetSelection` and :meth:`~wx.aui.AuiNotebook.SetSelection` :attr:`~wx.aui.AuiNotebook.TabCtrlHeight` See :meth:`~wx.aui.AuiNotebook.GetTabCtrlHeight` and :meth:`~wx.aui.AuiNotebook.SetTabCtrlHeight` ================================================================================ ================================================================================ | |api| Class API =============== .. class:: wx.aui.AuiNotebook(BookCtrlBase) **Possible constructors**:: AuiNotebook() AuiNotebook(parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=AUI_NB_DEFAULT_STYLE) AuiNotebook is part of the ``AUI`` class framework, which represents a notebook control, managing multiple windows with associated tabs. .. 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=AUI_NB_DEFAULT_STYLE)` Constructor. Creates a AuiNotebok control. :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 :html:`

` .. method:: AddPage(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **AddPage** `(self, page, caption, select=False, bitmap=BitmapBundle())` Adds a page. If the `select` parameter is ``True``, calling this will generate a page change event. :param `page`: :type `page`: wx.Window :param `caption`: :type `caption`: string :param `select`: :type `select`: bool :param `bitmap`: :type `bitmap`: wx.BitmapBundle :rtype: `bool` :html:`

` **AddPage** `(self, page, text, select, imageId)` Adds a new page. The page must have the book control itself as the parent and must not have been added to this control previously. The call to this function may generate the page changing events. :param `page`: Specifies the new page. :type `page`: wx.Window :param `text`: Specifies the text for the new page. :type `text`: string :param `select`: Specifies whether the page should be selected. :type `select`: bool :param `imageId`: Specifies the optional image index for the new page. :type `imageId`: int :rtype: `bool` :returns: ``True`` if successful, ``False`` otherwise. .. versionadded:: 2.9.3 .. note:: Do not delete the page, it will be deleted by the book control. .. seealso:: :meth:`InsertPage` :html:`

` .. method:: AdvanceSelection(self, forward=True) Sets the selection to the next or previous page. :param `forward`: :type `forward`: bool .. method:: ChangeSelection(self, n) Changes the selection for the given page, returning the previous selection. This function behaves as :meth:`SetSelection` but does `not` generate the page changing events. See :ref:`User Generated Events vs Programmatically Generated Events ` for more information. :param `n`: :type `n`: int :rtype: `int` .. versionadded:: 2.9.3 .. method:: Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0) Creates the notebook window. :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 :rtype: `bool` .. method:: DeleteAllPages(self) Deletes all pages. :rtype: `bool` .. versionadded:: 2.9.3 .. method:: DeletePage(self, page) Deletes a page at the given index. Calling this method will generate a page change event. :param `page`: :type `page`: int :rtype: `bool` .. method:: FindTab(self, page, ctrl, idx) Finds tab control associated with a given window and its tab index. :param `page`: :type `page`: wx.Window :param `ctrl`: :type `ctrl`: AuiTabCtrl :param `idx`: :type `idx`: int :rtype: `bool` :returns: ``True`` when the tab control is found, ``False`` otherwise. .. versionadded:: 4.1/wxWidgets-3.1.4 .. method:: GetActiveTabCtrl(self) Returns active tab control for this notebook. :rtype: :ref:`wx.aui.AuiTabCtrl` .. versionadded:: 4.1/wxWidgets-3.1.4 .. method:: GetArtProvider(self) Returns the associated art provider. :rtype: :ref:`wx.aui.AuiTabArt` .. staticmethod:: GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) :param `variant`: :type `variant`: wx.WindowVariant :rtype: `VisualAttributes` .. method:: GetCurrentPage(self) Returns the currently selected page or ``None``. :rtype: `Window` .. versionadded:: 2.9.3 .. method:: GetHeightForPageHeight(self, pageHeight) Returns the desired height of the notebook for the given page height. Use this to fit the notebook to a given page size. :param `pageHeight`: :type `pageHeight`: int :rtype: `int` .. method:: GetPage(self, page_idx) Returns the page specified by the given index. :param `page_idx`: :type `page_idx`: int :rtype: `Window` .. method:: GetPageBitmap(self, page) Returns the tab bitmap for the page. :param `page`: :type `page`: int :rtype: `Bitmap` .. method:: GetPageCount(self) Returns the number of pages in the notebook. :rtype: `int` .. method:: GetPageImage(self, nPage) Returns the image index for the given page. :param `nPage`: :type `nPage`: int :rtype: `int` .. method:: GetPageIndex(self, page_wnd) Returns the page index for the specified window. If the window is not found in the notebook, ``wx.NOT_FOUND`` is returned. This is AUI-specific equivalent to `BookCtrl.FindPage()` and it is recommended to use that generic method instead of this one. :param `page_wnd`: :type `page_wnd`: wx.Window :rtype: `int` .. method:: GetPageText(self, page) Returns the tab label for the page. :param `page`: :type `page`: int :rtype: `string` .. method:: GetPageToolTip(self, pageIdx) Returns the tooltip for the tab label of the page. :param `pageIdx`: :type `pageIdx`: int :rtype: `string` .. versionadded:: 2.9.4 .. method:: GetSelection(self) Returns the currently selected page. :rtype: `int` .. method:: GetTabCtrlFromPoint(self, pt) Returns tab control based on point coordinates inside the tab frame. :param `pt`: :type `pt`: wx.Point :rtype: :ref:`wx.aui.AuiTabCtrl` .. versionadded:: 4.1/wxWidgets-3.1.4 .. method:: GetTabCtrlHeight(self) Returns the height of the tab control. :rtype: `int` .. method:: InsertPage(self, *args, **kw) |overload| Overloaded Implementations: :html:`

` **InsertPage** `(self, page_idx, page, caption, select=False, bitmap=BitmapBundle())` :meth:`InsertPage` is similar to AddPage, but allows the ability to specify the insert location. If the `select` parameter is ``True``, calling this will generate a page change event. :param `page_idx`: :type `page_idx`: int :param `page`: :type `page`: wx.Window :param `caption`: :type `caption`: string :param `select`: :type `select`: bool :param `bitmap`: :type `bitmap`: wx.BitmapBundle :rtype: `bool` :html:`

` **InsertPage** `(self, index, page, text, select, imageId)` Inserts a new page at the specified position. :param `index`: Specifies the position for the new page. :type `index`: int :param `page`: Specifies the new page. :type `page`: wx.Window :param `text`: Specifies the text for the new page. :type `text`: string :param `select`: Specifies whether the page should be selected. :type `select`: bool :param `imageId`: Specifies the optional image index for the new page. :type `imageId`: int :rtype: `bool` :returns: ``True`` if successful, ``False`` otherwise. .. versionadded:: 2.9.3 .. note:: Do not delete the page, it will be deleted by the book control. .. seealso:: :meth:`AddPage` :html:`

` .. method:: RemovePage(self, page) Removes a page, without deleting the window pointer. :param `page`: :type `page`: int :rtype: `bool` .. method:: SetArtProvider(self, art) Sets the art provider to be used by the notebook. :param `art`: :type `art`: wx.aui.AuiTabArt .. method:: SetFont(self, font) Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels. :param `font`: :type `font`: wx.Font :rtype: `bool` .. method:: SetMeasuringFont(self, font) Sets the font for measuring tab labels. :param `font`: :type `font`: wx.Font .. method:: SetNormalFont(self, font) Sets the font for drawing unselected tab labels. :param `font`: :type `font`: wx.Font .. method:: SetPageBitmap(self, page, bitmap) Sets the bitmap for the page. To remove a bitmap from the tab caption, pass an empty :ref:`wx.BitmapBundle`. :param `page`: :type `page`: int :param `bitmap`: :type `bitmap`: wx.BitmapBundle :rtype: `bool` .. method:: SetPageImage(self, n, imageId) Sets the image index for the given page. `image` is an index into the image list which was set with :meth:`SetImageList` . :param `n`: :type `n`: int :param `imageId`: :type `imageId`: int :rtype: `bool` .. versionadded:: 2.9.3 .. method:: SetPageText(self, page, text) Sets the tab label for the page. :param `page`: :type `page`: int :param `text`: :type `text`: string :rtype: `bool` .. method:: SetPageToolTip(self, page, text) Sets the tooltip displayed when hovering over the tab label of the page. :param `page`: :type `page`: int :param `text`: :type `text`: string :rtype: `bool` :returns: ``True`` if tooltip was updated, ``False`` if it failed, e.g. because the page index is invalid. .. versionadded:: 2.9.4 .. method:: SetSelectedFont(self, font) Sets the font for drawing selected tab labels. :param `font`: :type `font`: wx.Font .. method:: SetSelection(self, new_page) Sets the page selection. Calling this method will generate a page change event. :param `new_page`: :type `new_page`: int :rtype: `int` .. method:: SetTabCtrlHeight(self, height) Sets the tab height. By default, the tab control height is calculated by measuring the text height and bitmap sizes on the tab captions. Calling this method will override that calculation and set the tab control to the specified height parameter. A call to this method will override any call to :meth:`SetUniformBitmapSize` . Specifying -1 as the height will return the control to its default auto-sizing behaviour. :param `height`: :type `height`: int .. method:: SetUniformBitmapSize(self, size) Ensure that all tabs have the same height, even if some of them don't have bitmaps. Passing `wx.DefaultSize` as `size` undoes the effect of a previous call to this function and instructs the control to use dynamic tab height. :param `size`: :type `size`: wx.Size .. method:: ShowWindowMenu(self) Shows the window menu for the active tab control associated with this notebook, and returns ``True`` if a selection was made. :rtype: `bool` .. method:: Split(self, page, direction) Split performs a split operation programmatically. The argument `page` indicates the page that will be split off. This page will also become the active page after the split. The `direction` argument specifies where the pane should go, it should be one of the following: ``wx.TOP``, ``wx.BOTTOM``, ``wx.LEFT``, or ``wx.RIGHT``. :param `page`: :type `page`: int :param `direction`: :type `direction`: int .. attribute:: ActiveTabCtrl See :meth:`~wx.aui.AuiNotebook.GetActiveTabCtrl` .. attribute:: ArtProvider See :meth:`~wx.aui.AuiNotebook.GetArtProvider` and :meth:`~wx.aui.AuiNotebook.SetArtProvider` .. attribute:: CurrentPage See :meth:`~wx.aui.AuiNotebook.GetCurrentPage` .. attribute:: PageCount See :meth:`~wx.aui.AuiNotebook.GetPageCount` .. attribute:: Selection See :meth:`~wx.aui.AuiNotebook.GetSelection` and :meth:`~wx.aui.AuiNotebook.SetSelection` .. attribute:: TabCtrlHeight See :meth:`~wx.aui.AuiNotebook.GetTabCtrlHeight` and :meth:`~wx.aui.AuiNotebook.SetTabCtrlHeight`