Phoenix Logo

phoenix_title wx.lib.agw.flatnotebook.FNBRenderer

Parent class for the 6 renderers defined: Standard, VC71, Fancy, Firefox 2, VC8 and Ribbon. This class implements the common methods of all 6 renderers.


class_hierarchy Class Hierarchy

Inheritance diagram for class FNBRenderer:

method_summary Methods Summary

__init__ Default class constructor.
CalcTabHeight Calculates the height of the input tab.
CalcTabWidth Calculates the width of the input tab.
DrawArrowAccordingToState Draws the left and right scrolling arrows.
DrawDragHint Draws tab drag hint, the default implementation is to do nothing.
DrawDropDownArrow Draws the drop-down arrow in the navigation area.
DrawFocusRectangle Draws a focus rectangle like the native Notebook.
DrawLeftArrow Draws the left navigation arrow.
DrawRightArrow Draws the right navigation arrow.
DrawTabs Actually draws the tabs in FlatNotebook.
DrawTabsLine Draws a line over the tabs.
DrawTabX Draws the ‘X’ in the selected tab.
DrawX Draw the ‘X’ navigation button in the navigation area.
GetButtonsAreaLength Returns the navigation area width.
GetDropArrowButtonPos Returns the drop down button position in the navigation area.
GetLeftButtonPos Returns the left button position in the navigation area.
GetRightButtonPos Returns the right button position in the navigation area.
GetXPos Returns the ‘X’ button position in the navigation area.
NumberTabsCanFit Calculates the number of tabs that can fit on the available space on screen.

api Class API



class FNBRenderer(object)

Parent class for the 6 renderers defined: Standard, VC71, Fancy, Firefox 2, VC8 and Ribbon. This class implements the common methods of all 6 renderers.


Methods



__init__(self)

Default class constructor.



CalcTabHeight(self, pageContainer)

Calculates the height of the input tab.

Parameters:pageContainer – an instance of FlatNotebook.


CalcTabWidth(self, pageContainer, tabIdx, tabHeight)

Calculates the width of the input tab.

Parameters:
  • pageContainer – an instance of FlatNotebook;
  • tabIdx – the index of the input tab;
  • tabHeight – the height of the tab.


DrawArrowAccordingToState(self, dc, pc, rect)

Draws the left and right scrolling arrows.

Parameters:
  • dc – an instance of wx.DC;
  • pc – an instance of FlatNotebook;
  • rect – the client rectangle containing the scrolling arrows.


DrawDragHint(self, pc, tabIdx)

Draws tab drag hint, the default implementation is to do nothing. You can override this function to provide a nice feedback to user.

Parameters:
  • pc – an instance of FlatNotebook;
  • tabIdx – the index of the tab we are dragging.

Note

To show your own custom drag and drop UI feedback, you must override this method in your derived class.



DrawDropDownArrow(self, pageContainer, dc)

Draws the drop-down arrow in the navigation area.

Parameters:


DrawFocusRectangle(self, dc, pageContainer, page)

Draws a focus rectangle like the native Notebook.

Parameters:
  • dc – an instance of wx.DC;
  • pageContainer – an instance of FlatNotebook;
  • page – an instance of PageInfo, representing a page in the notebook.


DrawLeftArrow(self, pageContainer, dc)

Draws the left navigation arrow.

Parameters:


DrawRightArrow(self, pageContainer, dc)

Draws the right navigation arrow.

Parameters:


DrawTabs(self, pageContainer, dc)

Actually draws the tabs in FlatNotebook.

Parameters:


DrawTabsLine(self, pageContainer, dc, selTabX1=-1, selTabX2=-1)

Draws a line over the tabs.

Parameters:
  • pageContainer – an instance of FlatNotebook;
  • dc – an instance of wx.DC;
  • selTabX1 – first x coordinate of the tab line;
  • selTabX2 – second x coordinate of the tab line.


DrawTabX(self, pageContainer, dc, rect, tabIdx, btnStatus)

Draws the ‘X’ in the selected tab.

Parameters:
  • pageContainer – an instance of FlatNotebook;
  • dc – an instance of wx.DC;
  • rect – the current tab client rectangle;
  • tabIdx – the index of the current tab;
  • btnStatus – the status of the ‘X’ button in the current tab.


DrawX(self, pageContainer, dc)

Draw the ‘X’ navigation button in the navigation area.

Parameters:


GetButtonsAreaLength(self, pageContainer)

Returns the navigation area width.

Parameters:pageContainer – an instance of FlatNotebook.


GetDropArrowButtonPos(self, pageContainer)

Returns the drop down button position in the navigation area.

Parameters:pageContainer – an instance of FlatNotebook.


GetLeftButtonPos(self, pageContainer)

Returns the left button position in the navigation area.

Parameters:pageContainer – an instance of FlatNotebook.


GetRightButtonPos(self, pageContainer)

Returns the right button position in the navigation area.

Parameters:pageContainer – an instance of FlatNotebook.


GetXPos(self, pageContainer)

Returns the ‘X’ button position in the navigation area.

Parameters:pageContainer – an instance of FlatNotebook.


NumberTabsCanFit(self, pageContainer, fr=-1)

Calculates the number of tabs that can fit on the available space on screen.

Parameters:
  • pageContainer – an instance of FlatNotebook;
  • fr – the current first visible tab.