phoenix_title wx.aui.AuiNotebook

wx.aui.AuiNotebook is part of the AUI class framework, which represents a notebook control, managing multiple windows with associated tabs.

See also AUI Overview.

wx.aui.AuiNotebook is a notebook control which implements many features common in applications with dockable panes. Specifically, 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 wx.aui.AuiDefaultTabArt, which provides a modern, glossy look and feel. The theme can be changed by calling wx.aui.AuiNotebook.SetArtProvider .

^^

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. ^^

^^

events Events Emitted by this Class

Handlers bound for the following event types will receive a 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

Inheritance diagram for class AuiNotebook:

sub_classes Known Subclasses

wx.aui.AuiMDIClientWindow


method_summary Methods Summary

__init__

Default constructor.

AddPage

Adds a page.

AdvanceSelection

Sets the selection to the next or previous page.

ChangeSelection

Changes the selection for the given page, returning the previous selection.

Create

Creates the notebook window.

DeleteAllPages

Deletes all pages.

DeletePage

Deletes a page at the given index.

FindTab

Finds tab control associated with a given window and its tab index.

GetActiveTabCtrl

Returns active tab control for this notebook.

GetArtProvider

Returns the associated art provider.

GetClassDefaultAttributes

GetCurrentPage

Returns the currently selected page or None.

GetHeightForPageHeight

Returns the desired height of the notebook for the given page height.

GetPage

Returns the page specified by the given index.

GetPageBitmap

Returns the tab bitmap for the page.

GetPageCount

Returns the number of pages in the notebook.

GetPageImage

Returns the image index for the given page.

GetPageIndex

Returns the page index for the specified window.

GetPageText

Returns the tab label for the page.

GetPageToolTip

Returns the tooltip for the tab label of the page.

GetSelection

Returns the currently selected page.

GetTabCtrlFromPoint

Returns tab control based on point coordinates inside the tab frame.

GetTabCtrlHeight

Returns the height of the tab control.

InsertPage

InsertPage is similar to AddPage, but allows the ability to specify the insert location.

RemovePage

Removes a page, without deleting the window pointer.

SetArtProvider

Sets the art provider to be used by the notebook.

SetFont

Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels.

SetMeasuringFont

Sets the font for measuring tab labels.

SetNormalFont

Sets the font for drawing unselected tab labels.

SetPageBitmap

Sets the bitmap for the page.

SetPageImage

Sets the image index for the given page.

SetPageText

Sets the tab label for the page.

SetPageToolTip

Sets the tooltip displayed when hovering over the tab label of the page.

SetSelectedFont

Sets the font for drawing selected tab labels.

SetSelection

Sets the page selection.

SetTabCtrlHeight

Sets the tab height.

SetUniformBitmapSize

Ensure that all tabs have the same height, even if some of them don’t have bitmaps.

ShowWindowMenu

Shows the window menu for the active tab control associated with this notebook, and returns True if a selection was made.

Split

Split performs a split operation programmatically.


property_summary Properties Summary

ActiveTabCtrl

See GetActiveTabCtrl

ArtProvider

See GetArtProvider and SetArtProvider

CurrentPage

See GetCurrentPage

PageCount

See GetPageCount

Selection

See GetSelection and SetSelection

TabCtrlHeight

See GetTabCtrlHeight and 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.


Methods

__init__(self, *args, **kw)

overload Overloaded Implementations:



__init__ (self)

Default constructor.



__init__ (self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=AUI_NB_DEFAULT_STYLE)

Constructor.

Creates a AuiNotebok control.

Parameters:





AddPage(self, *args, **kw)

overload Overloaded Implementations:



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.

Parameters:
Return type:

bool



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.

Parameters:
  • page (wx.Window) – Specifies the new page.

  • text (string) – Specifies the text for the new page.

  • select (bool) – Specifies whether the page should be selected.

  • imageId (int) – Specifies the optional image index for the new page.

Return type:

bool

Returns:

True if successful, False otherwise.

New in version 2.9.3.

Note

Do not delete the page, it will be deleted by the book control.

See also

InsertPage





AdvanceSelection(self, forward=True)

Sets the selection to the next or previous page.

Parameters:

forward (bool) –



ChangeSelection(self, n)

Changes the selection for the given page, returning the previous selection.

This function behaves as SetSelection but does not generate the page changing events.

See User Generated Events vs Programmatically Generated Events for more information.

Parameters:

n (int) –

Return type:

int

New in version 2.9.3.



Create(self, parent, id=ID_ANY, pos=DefaultPosition, size=DefaultSize, style=0)

Creates the notebook window.

Parameters:
Return type:

bool



DeleteAllPages(self)

Deletes all pages.

Return type:

bool

New in version 2.9.3.



DeletePage(self, page)

Deletes a page at the given index.

Calling this method will generate a page change event.

Parameters:

page (int) –

Return type:

bool



FindTab(self, page, ctrl, idx)

Finds tab control associated with a given window and its tab index.

Parameters:
Return type:

bool

Returns:

True when the tab control is found, False otherwise.

New in version 4.1/wxWidgets-3.1.4.



GetActiveTabCtrl(self)

Returns active tab control for this notebook.

Return type:

wx.aui.AuiTabCtrl

New in version 4.1/wxWidgets-3.1.4.



GetArtProvider(self)

Returns the associated art provider.

Return type:

wx.aui.AuiTabArt



static GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL)
Parameters:

variant (WindowVariant) –

Return type:

VisualAttributes



GetCurrentPage(self)

Returns the currently selected page or None.

Return type:

Window

New in version 2.9.3.



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.

Parameters:

pageHeight (int) –

Return type:

int



GetPage(self, page_idx)

Returns the page specified by the given index.

Parameters:

page_idx (int) –

Return type:

Window



GetPageBitmap(self, page)

Returns the tab bitmap for the page.

Parameters:

page (int) –

Return type:

Bitmap



GetPageCount(self)

Returns the number of pages in the notebook.

Return type:

int



GetPageImage(self, nPage)

Returns the image index for the given page.

Parameters:

nPage (int) –

Return type:

int



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.

Parameters:

page_wnd (wx.Window) –

Return type:

int



GetPageText(self, page)

Returns the tab label for the page.

Parameters:

page (int) –

Return type:

string



GetPageToolTip(self, pageIdx)

Returns the tooltip for the tab label of the page.

Parameters:

pageIdx (int) –

Return type:

string

New in version 2.9.4.



GetSelection(self)

Returns the currently selected page.

Return type:

int



GetTabCtrlFromPoint(self, pt)

Returns tab control based on point coordinates inside the tab frame.

Parameters:

pt (wx.Point) –

Return type:

wx.aui.AuiTabCtrl

New in version 4.1/wxWidgets-3.1.4.



GetTabCtrlHeight(self)

Returns the height of the tab control.

Return type:

int



InsertPage(self, *args, **kw)

overload Overloaded Implementations:



InsertPage (self, page_idx, page, caption, select=False, bitmap=BitmapBundle())

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.

Parameters:
Return type:

bool



InsertPage (self, index, page, text, select, imageId)

Inserts a new page at the specified position.

Parameters:
  • index (int) – Specifies the position for the new page.

  • page (wx.Window) – Specifies the new page.

  • text (string) – Specifies the text for the new page.

  • select (bool) – Specifies whether the page should be selected.

  • imageId (int) – Specifies the optional image index for the new page.

Return type:

bool

Returns:

True if successful, False otherwise.

New in version 2.9.3.

Note

Do not delete the page, it will be deleted by the book control.

See also

AddPage





RemovePage(self, page)

Removes a page, without deleting the window pointer.

Parameters:

page (int) –

Return type:

bool



SetArtProvider(self, art)

Sets the art provider to be used by the notebook.

Parameters:

art (wx.aui.AuiTabArt) –



SetFont(self, font)

Sets the font for drawing the tab labels, using a bold version of the font for selected tab labels.

Parameters:

font (wx.Font) –

Return type:

bool



SetMeasuringFont(self, font)

Sets the font for measuring tab labels.

Parameters:

font (wx.Font) –



SetNormalFont(self, font)

Sets the font for drawing unselected tab labels.

Parameters:

font (wx.Font) –



SetPageBitmap(self, page, bitmap)

Sets the bitmap for the page.

To remove a bitmap from the tab caption, pass an empty wx.BitmapBundle.

Parameters:
Return type:

bool



SetPageImage(self, n, imageId)

Sets the image index for the given page.

image is an index into the image list which was set with SetImageList .

Parameters:
  • n (int) –

  • imageId (int) –

Return type:

bool

New in version 2.9.3.



SetPageText(self, page, text)

Sets the tab label for the page.

Parameters:
  • page (int) –

  • text (string) –

Return type:

bool



SetPageToolTip(self, page, text)

Sets the tooltip displayed when hovering over the tab label of the page.

Parameters:
  • page (int) –

  • text (string) –

Return type:

bool

Returns:

True if tooltip was updated, False if it failed, e.g. because the page index is invalid.

New in version 2.9.4.



SetSelectedFont(self, font)

Sets the font for drawing selected tab labels.

Parameters:

font (wx.Font) –



SetSelection(self, new_page)

Sets the page selection.

Calling this method will generate a page change event.

Parameters:

new_page (int) –

Return type:

int



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 SetUniformBitmapSize .

Specifying -1 as the height will return the control to its default auto-sizing behaviour.

Parameters:

height (int) –



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.

Parameters:

size (wx.Size) –



ShowWindowMenu(self)

Shows the window menu for the active tab control associated with this notebook, and returns True if a selection was made.

Return type:

bool



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.

Parameters:
  • page (int) –

  • direction (int) –


Properties

ActiveTabCtrl

See GetActiveTabCtrl



ArtProvider

See GetArtProvider and SetArtProvider



CurrentPage

See GetCurrentPage



PageCount

See GetPageCount



Selection

See GetSelection and SetSelection



TabCtrlHeight

See GetTabCtrlHeight and SetTabCtrlHeight