Phoenix Logo

phoenix_title wx.lib.agw.aui.tabart.AuiDefaultTabArt

Tab art provider code - a tab provider provides all drawing functionality to the AuiNotebook. This allows the AuiNotebook to have a plugable look-and-feel.

By default, a AuiNotebook uses an instance of this class called AuiDefaultTabArt which provides bitmap art and a colour scheme that is adapted to the major platforms’ look. You can either derive from that class to alter its behaviour or write a completely new tab art class. Call AuiNotebook.SetArtProvider() to make use this new tab art.


class_hierarchy Class Hierarchy

Inheritance diagram for class AuiDefaultTabArt:

method_summary Methods Summary

__init__ Default class constructor.
Clone Clones the art object.
DrawBackground Draws the tab area background.
DrawButton Draws a button on the tab or on the tab area, depending on the button identifier.
DrawFocusRectangle Draws the focus rectangle on a tab.
DrawTab Draws a single tab.
GetAGWFlags Returns the tab art flags.
GetBestTabCtrlSize Returns the best tab control size.
GetIndentSize Returns the tabs indent size.
GetMeasuringFont Returns the font for calculating text measurements.
GetNormalFont Returns the normal font for drawing tab labels.
GetSelectedFont Returns the selected tab font for drawing tab labels.
GetTabSize Returns the tab size for the given caption, bitmap and button state.
SetAGWFlags Sets the tab art flags.
SetBaseColour Sets a new base colour.
SetCustomButton Sets a custom bitmap for the close, left, right and window list buttons.
SetDefaultColours Sets the default colours, which are calculated from the given base colour.
SetMeasuringFont Sets the font for calculating text measurements.
SetNormalFont Sets the normal font for drawing tab labels.
SetSelectedFont Sets the selected tab font for drawing tab labels.
SetSizingInfo Sets the tab sizing information.
ShowDropDown Shows the drop-down window menu on the tab area.

api Class API



class AuiDefaultTabArt(object)

Tab art provider code - a tab provider provides all drawing functionality to the AuiNotebook. This allows the AuiNotebook to have a plugable look-and-feel.

By default, a AuiNotebook uses an instance of this class called AuiDefaultTabArt which provides bitmap art and a colour scheme that is adapted to the major platforms’ look. You can either derive from that class to alter its behaviour or write a completely new tab art class. Call AuiNotebook.SetArtProvider() to make use this new tab art.


Methods



__init__(self)

Default class constructor.



Clone(self)

Clones the art object.



DrawBackground(self, dc, wnd, rect)

Draws the tab area background.

Parameters:
  • dc – a wx.DC device context;
  • wnd – a wx.Window instance object;
  • rect (wx.Rect) – the tab control rectangle.


DrawButton(self, dc, wnd, in_rect, button, orientation)

Draws a button on the tab or on the tab area, depending on the button identifier.

Parameters:
  • dc – a wx.DC device context;
  • wnd – a wx.Window instance object;
  • in_rect (wx.Rect) – rectangle the tab should be confined to;
  • button – an instance of the button class;
  • orientation (integer) – the tab orientation.


DrawFocusRectangle(self, dc, page, wnd, draw_text, text_offset, bitmap_offset, drawn_tab_yoff, drawn_tab_height, textx, texty)

Draws the focus rectangle on a tab.

Parameters:
  • dc – a wx.DC device context;
  • page – the page associated with the tab;
  • wnd – a wx.Window instance object;
  • draw_text (string) – the text that has been drawn on the tab;
  • text_offset (integer) – the text offset on the tab;
  • bitmap_offset (integer) – the bitmap offset on the tab;
  • drawn_tab_yoff (integer) – the y offset of the tab text;
  • drawn_tab_height (integer) – the height of the tab;
  • textx (integer) – the x text extent;
  • texty (integer) – the y text extent.


DrawTab(self, dc, wnd, page, in_rect, close_button_state, paint_control=False)

Draws a single tab.

Parameters:
  • dc – a wx.DC device context;
  • wnd – a wx.Window instance object;
  • page – the tab control page associated with the tab;
  • in_rect (wx.Rect) – rectangle the tab should be confined to;
  • close_button_state (integer) – the state of the close button on the tab;
  • paint_control (bool) – whether to draw the control inside a tab (if any) on a MemoryDC.


GetAGWFlags(self)

Returns the tab art flags.

See also

SetAGWFlags for a list of possible return values.



GetBestTabCtrlSize(self, wnd, pages, required_bmp_size)

Returns the best tab control size.

Parameters:
  • wnd – a wx.Window instance object;
  • pages (list) – the pages associated with the tabs;
  • required_bmp_size (wx.Size) – the size of the bitmap on the tabs.


GetIndentSize(self)

Returns the tabs indent size.



GetMeasuringFont(self)

Returns the font for calculating text measurements.



GetNormalFont(self)

Returns the normal font for drawing tab labels.



GetSelectedFont(self)

Returns the selected tab font for drawing tab labels.



GetTabSize(self, dc, wnd, caption, bitmap, active, close_button_state, control=None)

Returns the tab size for the given caption, bitmap and button state.

Parameters:
  • dc – a wx.DC device context;
  • wnd – a wx.Window instance object;
  • caption (string) – the tab text caption;
  • bitmap (wx.Bitmap) – the bitmap displayed on the tab;
  • active (bool) – whether the tab is selected or not;
  • close_button_state (integer) – the state of the close button on the tab;
  • control (wx.Window) – a wx.Window instance inside a tab (or None).


SetAGWFlags(self, agwFlags)

Sets the tab art flags.

Parameters:agwFlags (integer) – a combination of the following values:
Flag name Description
AUI_NB_TOP With this style, tabs are drawn along the top of the notebook
AUI_NB_LEFT With this style, tabs are drawn along the left of the notebook. Not implemented yet.
AUI_NB_RIGHT With this style, tabs are drawn along the right of the notebook. Not implemented yet.
AUI_NB_BOTTOM With this style, tabs are drawn along the bottom of the notebook
AUI_NB_TAB_SPLIT Allows the tab control to be split by dragging a tab
AUI_NB_TAB_MOVE Allows a tab to be moved horizontally by dragging
AUI_NB_TAB_EXTERNAL_MOVE Allows a tab to be moved to another tab control
AUI_NB_TAB_FIXED_WIDTH With this style, all tabs have the same width
AUI_NB_SCROLL_BUTTONS With this style, left and right scroll buttons are displayed
AUI_NB_WINDOWLIST_BUTTON With this style, a drop-down list of windows is available
AUI_NB_CLOSE_BUTTON With this style, a close button is available on the tab bar
AUI_NB_CLOSE_ON_ACTIVE_TAB With this style, a close button is available on the active tab
AUI_NB_CLOSE_ON_ALL_TABS With this style, a close button is available on all tabs
AUI_NB_MIDDLE_CLICK_CLOSE Allows to close AuiNotebook tabs by mouse middle button click
AUI_NB_SUB_NOTEBOOK This style is used by AuiManager to create automatic AuiNotebooks
AUI_NB_HIDE_ON_SINGLE_TAB Hides the tab window if only one tab is present
AUI_NB_SMART_TABS Use Smart Tabbing, like Alt + Tab on Windows
AUI_NB_USE_IMAGES_DROPDOWN Uses images on dropdown window list menu instead of check items
AUI_NB_CLOSE_ON_TAB_LEFT Draws the tab close button on the left instead of on the right (a la Camino browser)
AUI_NB_TAB_FLOAT Allows the floating of single tabs. Known limitation: when the notebook is more or less full screen, tabs cannot be dragged far enough outside of the notebook to become floating pages
AUI_NB_DRAW_DND_TAB Draws an image representation of a tab while dragging (on by default)
AUI_NB_ORDER_BY_ACCESS Tab navigation order by last access time for the tabs
AUI_NB_NO_TAB_FOCUS Don’t draw tab focus rectangle


SetBaseColour(self, base_colour)

Sets a new base colour.

Parameters:base_colour – an instance of wx.Colour.


SetCustomButton(self, bitmap_id, button_state, bmp)

Sets a custom bitmap for the close, left, right and window list buttons.

Parameters:
  • bitmap_id (integer) – the button identifier;
  • button_state (integer) – the button state;
  • bmp (wx.Bitmap) – the custom bitmap to use for the button.


SetDefaultColours(self, base_colour=None)

Sets the default colours, which are calculated from the given base colour.

Parameters:base_colour – an instance of wx.Colour. If defaulted to None, a colour is generated accordingly to the platform and theme.


SetMeasuringFont(self, font)

Sets the font for calculating text measurements.

Parameters:font (wx.Font) – the new font to use to measure tab labels text extents.


SetNormalFont(self, font)

Sets the normal font for drawing tab labels.

Parameters:font (wx.Font) – the new font to use to draw tab labels in their normal, un-selected state.


SetSelectedFont(self, font)

Sets the selected tab font for drawing tab labels.

Parameters:font (wx.Font) – the new font to use to draw tab labels in their selected state.


SetSizingInfo(self, tab_ctrl_size, tab_count, minMaxTabWidth)

Sets the tab sizing information.

Parameters:
  • tab_ctrl_size (wx.Size) – the size of the tab control area;
  • tab_count (integer) – the number of tabs;
  • minMaxTabWidth (tuple) – a tuple containing the minimum and maximum tab widths to be used when the AUI_NB_TAB_FIXED_WIDTH style is active.


ShowDropDown(self, wnd, pages, active_idx)

Shows the drop-down window menu on the tab area.

Parameters:
  • wnd – a wx.Window derived window instance;
  • pages (list) – the pages associated with the tabs;
  • active_idx (integer) – the active tab index.