.. 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
.. currentmodule:: wx.lib.agw.flatnotebook
.. highlight:: python
.. _wx.lib.agw.flatnotebook.FNBRenderer:
==========================================================================================================================================
|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
=================================
.. raw:: html

Inheritance diagram for class
FNBRenderer:
|
|sub_classes| Known Subclasses
==============================
:class:`wx.lib.agw.flatnotebook.FNBRendererDefault`, :class:`wx.lib.agw.flatnotebook.FNBRendererFancy`, :class:`wx.lib.agw.flatnotebook.FNBRendererFirefox2`, :class:`wx.lib.agw.flatnotebook.FNBRendererRibbonTabs`, :class:`wx.lib.agw.flatnotebook.FNBRendererVC71`, :class:`wx.lib.agw.flatnotebook.FNBRendererVC8`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.__init__` Default class constructor.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.CalcTabHeight` Calculates the height of the input tab.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.CalcTabWidth` Calculates the width of the input tab.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawArrowAccordingToState` Draws the left and right scrolling arrows.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawDragHint` Draws tab drag hint, the default implementation is to do nothing.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawDropDownArrow` Draws the drop-down arrow in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawFocusRectangle` Draws a focus rectangle like the native :class:`Notebook`.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawLeftArrow` Draws the left navigation arrow.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawRightArrow` Draws the right navigation arrow.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawTabs` Actually draws the tabs in :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawTabsLine` Draws a line over the tabs.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawTabX` Draws the 'X' in the selected tab.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.DrawX` Draw the 'X' navigation button in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.GetButtonsAreaLength` Returns the navigation area width.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.GetDropArrowButtonPos` Returns the drop down button position in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.GetLeftButtonPos` Returns the left button position in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.GetRightButtonPos` Returns the right button position in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.GetXPos` Returns the 'X' button position in the navigation area.
:meth:`~wx.lib.agw.flatnotebook.FNBRenderer.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.
.. method:: __init__(self)
Default class constructor.
.. method:: CalcTabHeight(self, pageContainer)
Calculates the height of the input tab.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: CalcTabWidth(self, pageContainer, tabIdx, tabHeight)
Calculates the width of the input tab.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `tabIdx`: the index of the input tab;
:param `tabHeight`: the height of the tab.
.. method:: DrawArrowAccordingToState(self, dc, pc, rect)
Draws the left and right scrolling arrows.
:param `dc`: an instance of :class:`wx.DC`;
:param `pc`: an instance of :class:`FlatNotebook`;
:param `rect`: the client rectangle containing the scrolling arrows.
.. method:: 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.
:param `pc`: an instance of :class:`FlatNotebook`;
:param `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.
.. method:: DrawDropDownArrow(self, pageContainer, dc)
Draws the drop-down arrow in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`.
.. method:: DrawFocusRectangle(self, dc, pageContainer, page)
Draws a focus rectangle like the native :class:`Notebook`.
:param `dc`: an instance of :class:`wx.DC`;
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `page`: an instance of :class:`PageInfo`, representing a page in the notebook.
.. method:: DrawLeftArrow(self, pageContainer, dc)
Draws the left navigation arrow.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`.
.. method:: DrawRightArrow(self, pageContainer, dc)
Draws the right navigation arrow.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`.
.. method:: DrawTabs(self, pageContainer, dc)
Actually draws the tabs in :class:`FlatNotebook`.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`.
.. method:: DrawTabsLine(self, pageContainer, dc, selTabX1=-1, selTabX2=-1)
Draws a line over the tabs.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`;
:param `selTabX1`: first x coordinate of the tab line;
:param `selTabX2`: second x coordinate of the tab line.
.. method:: DrawTabX(self, pageContainer, dc, rect, tabIdx, btnStatus)
Draws the 'X' in the selected tab.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`;
:param `rect`: the current tab client rectangle;
:param `tabIdx`: the index of the current tab;
:param `btnStatus`: the status of the 'X' button in the current tab.
.. method:: DrawX(self, pageContainer, dc)
Draw the 'X' navigation button in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `dc`: an instance of :class:`wx.DC`.
.. method:: GetButtonsAreaLength(self, pageContainer)
Returns the navigation area width.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: GetDropArrowButtonPos(self, pageContainer)
Returns the drop down button position in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: GetLeftButtonPos(self, pageContainer)
Returns the left button position in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: GetRightButtonPos(self, pageContainer)
Returns the right button position in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: GetXPos(self, pageContainer)
Returns the 'X' button position in the navigation area.
:param `pageContainer`: an instance of :class:`FlatNotebook`.
.. method:: NumberTabsCanFit(self, pageContainer, fr=-1)
Calculates the number of tabs that can fit on the available space on screen.
:param `pageContainer`: an instance of :class:`FlatNotebook`;
:param `fr`: the current first visible tab.