| Version: 3.3.1

Public Member Functions | List of all members
wxAuiTabArt Class Referenceabstract
Class List by Category » Window Docking (wxAUI)

`#include <wx/aui/auibook.h>`

Inheritance diagram for wxAuiTabArt:
[legend]

## Detailed Description

Tab art provider defines all the drawing functions used by wxAuiNotebook.

This allows the wxAuiNotebook to have a pluggable look-and-feel.

By default, a wxAuiNotebook uses an instance of class wxAuiDefaultTabArt, derived from this class, which provides bitmaps 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.

Another example of creating a new wxAuiNotebook tab bar is wxAuiSimpleTabArt.

Call wxAuiNotebook::SetArtProvider() to make use of this new tab art.

##

Library: wxAui
Category: Window Docking (wxAUI)

## Public Member Functions
| wxAuiTabArt ()
| Constructor. More...
virtual wxAuiTabArt * | Clone ()=0
| Clones the art object. More...
virtual void | DrawBackground (wxDC &dc, wxWindow *wnd, const wxRect &rect)=0
| Draws a background on the given area. More...
virtual void | DrawButton (wxDC &dc, wxWindow *wnd, const wxRect &in_rect, int bitmap_id, int button_state, int orientation, wxRect *out_rect)=0
| Draws a button. More...
virtual void | DrawTab (wxDC &dc, wxWindow *wnd, const wxAuiNotebookPage &page, const wxRect &rect, int close_button_state, wxRect *out_tab_rect, wxRect *out_button_rect, int *x_extent)
| Draws a tab. More...
virtual int | DrawPageTab (wxDC &dc, wxWindow *wnd, wxAuiNotebookPage &page, const wxRect &rect)
| Draws a tab for the specified notebook page. More...
virtual int | GetBestTabCtrlSize (wxWindow *, const wxAuiNotebookPageArray &, const wxSize &)=0
| Returns the tab control size. More...
virtual int | GetIndentSize ()=0
| Returns the indent size. More...
virtual wxFont | GetNormalFont () const
| Returns the font to use for normal, non-selected, tabs. More...
virtual wxFont | GetSelectedFont () const
| Returns the font to use for the selected tab. More...
virtual wxSize | GetTabSize (wxReadOnlyDC &dc, wxWindow *wnd, const wxString &caption, const wxBitmapBundle &bitmap, bool active, int close_button_state, int *x_extent)
| Returns the tab size for the given caption, bitmap and state. More...
virtual wxSize | GetPageTabSize (wxReadOnlyDC &dc, wxWindow *wnd, const wxAuiNotebookPage &page, int *xExtent=nullptr)
| Returns the size of the tab for the specified notebook page. More...
virtual int | GetButtonRect (wxReadOnlyDC &dc, wxWindow *wnd, const wxRect &inRect, int bitmapId, int buttonState, int orientation, wxRect *outRect=nullptr)
| Returns the rectangle for the given button. More...
virtual void | SetFlags (unsigned int flags)=0
| Sets flags. More...
virtual void | SetMeasuringFont (const wxFont &font)=0
| Sets the font used for calculating measurements. More...
virtual void | SetNormalFont (const wxFont &font)=0
| Sets the normal font for drawing labels. More...
virtual void | SetSelectedFont (const wxFont &font)=0
| Sets the font for drawing text for selected UI elements. More...
virtual void | SetColour (const wxColour &colour)=0
| Sets the colour of the inactive tabs. More...
virtual void | SetActiveColour (const wxColour &colour)=0
| Sets the colour of the selected tab. More...
virtual void | SetSizingInfo (const wxSize &tab_ctrl_size, size_t tab_count, wxWindow *wnd=nullptr)=0
| Sets sizing information. More...

## Constructor & Destructor Documentation

## ◆ wxAuiTabArt()

wxAuiTabArt::wxAuiTabArt | ( |  | ) |

Constructor.

## Member Function Documentation

## ◆ Clone()

virtual wxAuiTabArt* wxAuiTabArt::Clone | ( |  | ) |
| pure virtual

Clones the art object.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ DrawBackground()

virtual void wxAuiTabArt::DrawBackground | ( | wxDC & | dc,
|  | wxWindow * | wnd,
|  | const wxRect & | rect
| ) |  |
| pure virtual

Draws a background on the given area.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ DrawButton()

virtual void wxAuiTabArt::DrawButton | ( | wxDC & | dc,
|  | wxWindow * | wnd,
|  | const wxRect & | in_rect,
|  | int | bitmap_id,
|  | int | button_state,
|  | int | orientation,
|  | wxRect * | out_rect
| ) |  |
| pure virtual

Draws a button.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ DrawPageTab()

virtual int wxAuiTabArt::DrawPageTab | ( | wxDC & | dc,
|  | wxWindow * | wnd,
|  | wxAuiNotebookPage & | page,
|  | const wxRect & | rect
| ) |  |
| virtual

Draws a tab for the specified notebook page.

This function must be overridden if DrawTab() is not overridden and, also, if pinned tabs are used, as they are not supported by DrawTab().

The pane contains the information about the page to draw, in particular its wxAuiNotebookPage::buttons specifies the buttons to draw if it is not empty and receives the rectangles where they were drawn on output in the wxAuiTabContainerButton::rect fields.

Note that if a button state is wxAUI_BUTTON_STATE_HIDDEN, the effect is the same as not including this button at all, i.e. it is not drawn and the output field is not modified in this case.

The wxAuiNotebookPage::rect field is also updated by this function to contain the bounding rectangle of the tab.

Returns
  The total horizontal span of the tab, which may be greater than the page bounding rectangle.

Since
  3.3.0

## ◆ DrawTab()

virtual void wxAuiTabArt::DrawTab | ( | wxDC & | dc,
|  | wxWindow * | wnd,
|  | const wxAuiNotebookPage & | page,
|  | const wxRect & | rect,
|  | int | close_button_state,
|  | wxRect * | out_tab_rect,
|  | wxRect * | out_button_rect,
|  | int * | x_extent
| ) |  |
| virtual

Draws a tab.

This function used to be pure virtual and so had to be overridden in the derived classes in the previous versions of wxWidgets, however since version 3.3.0 it doesn't have to be overridden if DrawPageTab() is overridden and, moreover, it is recommended to override DrawPageTab() instead of this function in the new code.

Reimplemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ GetBestTabCtrlSize()

virtual int wxAuiTabArt::GetBestTabCtrlSize | ( | wxWindow * | ,
|  | const wxAuiNotebookPageArray & | ,
|  | const wxSize & |
| ) |  |
| pure virtual

Returns the tab control size.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ GetButtonRect()

virtual int wxAuiTabArt::GetButtonRect | ( | wxReadOnlyDC & | dc,
|  | wxWindow * | wnd,
|  | const wxRect & | inRect,
|  | int | bitmapId,
|  | int | buttonState,
|  | int | orientation,
|  | wxRect * | outRect = `nullptr`
| ) |  |
| virtual

Returns the rectangle for the given button.

This function is not pure virtual because it is only for multi-line tabs, but it must be implemented if wxAUI_NB_MULTILINE is used.

If specified, the returned rectangle must be filled with the same value as DrawButton() puts into its outRect but here it can also be null in which case just its width is returned.

Since
  3.3.0

## ◆ GetIndentSize()

virtual int wxAuiTabArt::GetIndentSize | ( |  | ) |
| pure virtual

Returns the indent size.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ GetNormalFont()

virtual wxFont wxAuiTabArt::GetNormalFont | ( |  | ) | const
| virtual

Returns the font to use for normal, non-selected, tabs.

By default, returns an invalid font, meaning that the font set for wxAuiNotebook itself should be used.

This function should be overridden for SetNormalFont() to actually work.

Since
  3.3.0

## ◆ GetPageTabSize()

virtual wxSize wxAuiTabArt::GetPageTabSize | ( | wxReadOnlyDC & | dc,
|  | wxWindow * | wnd,
|  | const wxAuiNotebookPage & | page,
|  | int * | xExtent = `nullptr`
| ) |  |
| virtual

Returns the size of the tab for the specified notebook page.

This function must be overridden if GetTabSize() is not overridden and, also, if pinned tabs are used, as they are not supported by GetTabSize().

Since
  3.3.0

## ◆ GetSelectedFont()

virtual wxFont wxAuiTabArt::GetSelectedFont | ( |  | ) | const
| virtual

Returns the font to use for the selected tab.

By default, returns an invalid font, meaning that the font set for wxAuiNotebook itself should be used.

This function should be overridden for SetSelectedFont() to actually work.

Since
  3.3.0

## ◆ GetTabSize()

virtual wxSize wxAuiTabArt::GetTabSize | ( | wxReadOnlyDC & | dc,
|  | wxWindow * | wnd,
|  | const wxString & | caption,
|  | const wxBitmapBundle & | bitmap,
|  | bool | active,
|  | int | close_button_state,
|  | int * | x_extent
| ) |  |
| virtual

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

This function used to be pure virtual and so had to be overridden in the derived classes in the previous versions of wxWidgets, however since version 3.3.0 it doesn't have to be overridden if GetPageTabSize() is overridden and it is recommended to override GetPageTabSize() instead of this function in the new code.

Reimplemented in wxAuiGenericTabArt.

## ◆ SetActiveColour()

virtual void wxAuiTabArt::SetActiveColour | ( | const wxColour & | colour | ) |
| pure virtual

Sets the colour of the selected tab.

Since
  2.9.2

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetColour()

virtual void wxAuiTabArt::SetColour | ( | const wxColour & | colour | ) |
| pure virtual

Sets the colour of the inactive tabs.

Since
  2.9.2

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetFlags()

virtual void wxAuiTabArt::SetFlags | ( | unsigned int | flags | ) |
| pure virtual

Sets flags.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetMeasuringFont()

virtual void wxAuiTabArt::SetMeasuringFont | ( | const wxFont & | font | ) |
| pure virtual

Sets the font used for calculating measurements.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetNormalFont()

virtual void wxAuiTabArt::SetNormalFont | ( | const wxFont & | font | ) |
| pure virtual

Sets the normal font for drawing labels.

See also
  GetNormalFont()

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetSelectedFont()

virtual void wxAuiTabArt::SetSelectedFont | ( | const wxFont & | font | ) |
| pure virtual

Sets the font for drawing text for selected UI elements.

See also
  GetSelectedFont()

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.

## ◆ SetSizingInfo()

virtual void wxAuiTabArt::SetSizingInfo | ( | const wxSize & | tab_ctrl_size,
|  | size_t | tab_count,
|  | wxWindow * | wnd = `nullptr`
| ) |  |
| pure virtual

Sets sizing information.

The wnd argument is only present in wxWidgets 3.1.6 and newer and is required, it only has nullptr default value for compatibility reasons.

Implemented in wxAuiSimpleTabArt, and wxAuiGenericTabArt.