.. 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.FlatNotebook:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.flatnotebook.FlatNotebook**
==========================================================================================================================================

The :class:`FlatNotebook` is a full implementation of the :class:`Notebook`, and designed to be
a drop-in replacement for :class:`Notebook`. The API functions are similar so one can
expect the function to behave in the same way.



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>FlatNotebook</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.agw.flatnotebook.FlatNotebook_inheritance.png" alt="Inheritance diagram of FlatNotebook" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.agw.flatnotebook.FlatNotebook.html" title="wx.lib.agw.flatnotebook.FlatNotebook" alt="" coords="5,392,273,421"/> <area shape="rect" id="node2" href="wx.Panel.html" title="wx.Panel" alt="" coords="99,315,179,344"/> <area shape="rect" id="node3" href="wx.Window.html" title="wx.Window" alt="" coords="91,237,188,267"/> <area shape="rect" id="node4" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="75,160,204,189"/> <area shape="rect" id="node5" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="81,83,198,112"/> <area shape="rect" id="node6" href="wx.Object.html" title="wx.Object" alt="" coords="36,5,123,35"/> <area shape="rect" id="node7" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="147,5,254,35"/> </map> 
   </p>
   </div>

|


|appearance| Control Appearance
===============================

|

.. figure:: _static/images/widgets/fullsize/wxmsw/wx.lib.agw.flatnotebook.flatnotebook.png
   :alt: wxMSW
   :figclass: floatleft

   **wxMSW**


.. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png
   :alt: wxMAC
   :figclass: floatright

   **wxMAC**


.. figure:: _static/images/widgets/fullsize/wxgtk/../no_appearance.png
   :alt: wxGTK
   :figclass: floatcenter

   **wxGTK**


|




|sub_classes| Known Subclasses
==============================

:class:`wx.lib.agw.flatnotebook.FlatNotebookCompatible`

|


|super_classes| Known Superclasses
==================================

:class:`wx.Panel`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.__init__`                           Default class constructor.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.AddPage`                            Adds a page to the :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.AdvanceSelection`                   Cycles through the tabs.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.AssignImageList`                    Assigns the image list for the page control.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.DeleteAllPages`                     Deletes all the pages in the :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.DeletePage`                         Deletes the specified page, and the associated window.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.DoGetBestSize`                      Gets the size which best suits the window: for a control, it would be the
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.EnableTab`                          Enables or disables a tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.EnsureVisible`                      Ensures that a tab is visible.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetActiveTabColour`                 Returns the active tab colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetActiveTabTextColour`             Get the active tab text colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetAGWWindowStyleFlag`              Returns the :class:`FlatNotebook` window style.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetBorderColour`                    Returns the border colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetCurrentPage`                     Returns the currently selected notebook page or ``None`` if none is selected.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetCustomPage`                      Returns a custom panel to show when there are no pages left in :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetEnabled`                         Returns whether a tab is enabled or not.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetGradientColourBorder`            Gets the tab border colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetGradientColourFrom`              Gets first gradient colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetGradientColourTo`                Gets second gradient colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetImageList`                       Returns the associated image list.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetNonActiveTabTextColour`          Returns the non active tabs text colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPadding`                         Returns the amount of space around each page's icon and label, in pixels.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPage`                            Returns the window at the given page position, or ``None``.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageBestSize`                    Return the page best size.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageCount`                       Returns the number of pages in the :class:`FlatNotebook` control.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageImage`                       Returns the image index for the given page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageIndex`                       Returns the index at which the window is found.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageShapeAngle`                  Returns the angle associated to a tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageText`                        Returns the string for the given page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPageTextColour`                  Returns the tab text colour if it has been set previously, or ``None`` otherwise.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetPreviousSelection`               Returns the previous selection.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetSelection`                       Returns the currently selected page, or -1 if none was selected.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetTabArea`                         Returns the associated page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetTabAreaColour`                   Returns the area behind the tabs colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.GetTileOrientation`                 Returns the orientation when on tiling mode. This method can return
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.HasAGWFlag`                         Returns whether a flag is present in the :class:`FlatNotebook` style.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.HideTabs`                           Hides the tabs.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.Init`                               Initializes all the class attributes.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.InsertPage`                         Inserts a new page at the specified position.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.OnDropTarget`                       Handles the drop action from a drag and drop operation.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.OnNavigationKey`                    Handles the ``wx.EVT_NAVIGATION_KEY`` event for :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.RemovePage`                         Deletes the specified page, without deleting the associated window.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetActiveTabColour`                 Sets the active tab colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetActiveTabTextColour`             Sets the text colour for the active tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetAGWWindowStyleFlag`              Sets the :class:`FlatNotebook` window style flags.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetAllPagesShapeAngle`              Sets the angle associated to all the tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetCustomPage`                      Sets a custom panel to show when there are no pages left in :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetGradientColourBorder`            Sets the tab border colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetGradientColourFrom`              Sets the starting colour for the gradient.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetGradientColours`                 Sets the gradient colours for the tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetGradientColourTo`                Sets the ending colour for the gradient.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetImageList`                       Sets the image list for the page control.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetNavigatorIcon`                   Set the icon used by the :class:`TabNavigatorWindow`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetNonActiveTabTextColour`          Sets the non active tabs text colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetPadding`                         Sets the amount of space around each page's icon and label, in pixels.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetPageImage`                       Sets the image index for the given page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetPageShapeAngle`                  Sets the angle associated to a tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetPageText`                        Sets the text for the given page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetPageTextColour`                  Sets the tab text colour individually.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetRightClickMenu`                  Sets the popup menu associated to a right click on a tab.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetSelection`                       Sets the selection for the given page.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.SetTabAreaColour`                   Sets the area behind the tabs colour.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.ShowCustomPage`                     Hides the custom panel which is shown when there are no pages left in :class:`FlatNotebook`.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.ShowTabs`                           Shows the tabs if hidden previously.
:meth:`~wx.lib.agw.flatnotebook.FlatNotebook.Tile`                               Shows pages in column/row mode (one panel after the other in columns/rows).
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: FlatNotebook(wx.Panel)

   The :class:`FlatNotebook` is a full implementation of the :class:`Notebook`, and designed to be
   a drop-in replacement for :class:`Notebook`. The API functions are similar so one can
   expect the function to behave in the same way.

   .. method:: __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, agwStyle=0, name="FlatNotebook")

      Default class constructor.
      
      :param `parent`: the :class:`FlatNotebook` parent;
      :param `id`: an identifier for the control: a value of -1 is taken to mean a default;
      :param `pos`: the control position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxPython, depending on platform;
      :param `size`: the control size. A value of (-1, -1) indicates a default size,
       chosen by either the windowing system or wxPython, depending on platform;
      :param `style`: the underlying :class:`Panel` window style;
      :param `agwStyle`: the AGW-specific window style. This can be a combination of the
       following bits:
      
       ================================ =========== ==================================================
       Window Styles                    Hex Value   Description
       ================================ =========== ==================================================
       ``FNB_VC71``                             0x1 Use Visual Studio 2003 (VC7.1) style for tabs.
       ``FNB_FANCY_TABS``                       0x2 Use fancy style - square tabs filled with gradient colouring.
       ``FNB_TABS_BORDER_SIMPLE``               0x4 Draw thin border around the page.
       ``FNB_NO_X_BUTTON``                      0x8 Do not display the 'X' button.
       ``FNB_NO_NAV_BUTTONS``                  0x10 Do not display the right/left arrows.
       ``FNB_MOUSE_MIDDLE_CLOSES_TABS``        0x20 Use the mouse middle button for cloing tabs.
       ``FNB_BOTTOM``                          0x40 Place tabs at bottom - the default is to place them at top.
       ``FNB_NODRAG``                          0x80 Disable dragging of tabs.
       ``FNB_VC8``                            0x100 Use Visual Studio 2005 (VC8) style for tabs.
       ``FNB_X_ON_TAB``                       0x200 Place 'X' close button on the active tab.
       ``FNB_BACKGROUND_GRADIENT``            0x400 Use gradients to paint the tabs background.
       ``FNB_COLOURFUL_TABS``                 0x800 Use colourful tabs (VC8 style only).
       ``FNB_DCLICK_CLOSES_TABS``            0x1000 Style to close tab using double click.
       ``FNB_SMART_TABS``                    0x2000 Use `Smart Tabbing`, like ``Alt`` + ``Tab`` on Windows.
       ``FNB_DROPDOWN_TABS_LIST``            0x4000 Use a dropdown menu on the left in place of the arrows.
       ``FNB_ALLOW_FOREIGN_DND``             0x8000 Allows drag 'n' drop operations between different :class:`FlatNotebook`.
       ``FNB_HIDE_ON_SINGLE_TAB``           0x10000 Hides the Page Container when there is one or fewer tabs.
       ``FNB_DEFAULT_STYLE``                0x10020 :class:`FlatNotebook` default style.
       ``FNB_FF2``                          0x20000 Use Firefox 2 style for tabs.
       ``FNB_NO_TAB_FOCUS``                 0x40000 Does not allow tabs to have focus.
       ``FNB_RIBBON_TABS``                  0x80000 Use the Ribbon Tabs style.
       ``FNB_HIDE_TABS``                   0x100000 Hides the Page Container allowing only keyboard navigation
       ``FNB_NAV_BUTTONS_WHEN_NEEDED``     0x200000 Hides the navigation left/right arrows if all tabs fit
       ================================ =========== ==================================================
      
      :param `name`: the window name.


   .. method:: AddPage(self, page, text, select=False, imageId=-1)

      Adds a page to the :class:`FlatNotebook`.
      
      :param `page`: specifies the new page;
      :param `text`: specifies the text for the new page;
      :param `select`: specifies whether the page should be selected;
      :param `imageId`: specifies the optional image index for the new page.
      
      :return: ``True`` if successful, ``False`` otherwise.


   .. method:: AdvanceSelection(self, forward=True)

      Cycles through the tabs.
      
      :param `forward`: if ``True``, the selection is advanced in ascending order
       (to the right), otherwise the selection is advanced in descending order.
      
      :note: The call to this function generates the page changing events.


   .. method:: AssignImageList(self, imageList)

      Assigns the image list for the page control.
      
      :param `imageList`: an instance of :class:`wx.ImageList`.


   .. method:: DeleteAllPages(self)

      Deletes all the pages in the :class:`FlatNotebook`. 


   .. method:: DeletePage(self, page)

      Deletes the specified page, and the associated window.
      
      :param `page`: an integer specifying the new selected page.
      
      :note: The call to this function generates the page changing events.


   .. method:: DoGetBestSize(self)

      Gets the size which best suits the window: for a control, it would be the
      minimal size which doesn't truncate the control, for a panel - the same
      size as it would have after a call to `Fit()`.
      
      :note: Overridden from :class:`Panel`.


   .. method:: EnableTab(self, page, enabled=True)

      Enables or disables a tab.
      
      :param `page`: an integer specifying the page index;
      :param `enabled`: ``True`` to enable a tab, ``False`` to disable it.


   .. method:: EnsureVisible(self, page)

      Ensures that a tab is visible.
      
      :param `page`: an integer specifying the page index.


   .. method:: GetActiveTabColour(self)

      Returns the active tab colour. 


   .. method:: GetActiveTabTextColour(self)

      Get the active tab text colour. 


   .. method:: GetAGWWindowStyleFlag(self)

      Returns the :class:`FlatNotebook` window style.
      
      :see: :meth:`~FlatNotebook.SetAGWWindowStyleFlag` for a list of valid window styles.


   .. method:: GetBorderColour(self)

      Returns the border colour. 


   .. method:: GetCurrentPage(self)

      Returns the currently selected notebook page or ``None`` if none is selected. 


   .. method:: GetCustomPage(self)

      Returns a custom panel to show when there are no pages left in :class:`FlatNotebook`. 


   .. method:: GetEnabled(self, page)

      Returns whether a tab is enabled or not.
      
      :param `page`: an integer specifying the page index.


   .. method:: GetGradientColourBorder(self)

      Gets the tab border colour. 


   .. method:: GetGradientColourFrom(self)

      Gets first gradient colour. 


   .. method:: GetGradientColourTo(self)

      Gets second gradient colour. 


   .. method:: GetImageList(self)

      Returns the associated image list. 


   .. method:: GetNonActiveTabTextColour(self)

      Returns the non active tabs text colour. 


   .. method:: GetPadding(self)

      Returns the amount of space around each page's icon and label, in pixels. 


   .. method:: GetPage(self, page)

      Returns the window at the given page position, or ``None``. 


   .. method:: GetPageBestSize(self)

      Return the page best size. 


   .. method:: GetPageCount(self)

      Returns the number of pages in the :class:`FlatNotebook` control. 


   .. method:: GetPageImage(self, page)

      Returns the image index for the given page.
      
      :param `page`: an integer specifying the page index.


   .. method:: GetPageIndex(self, win)

      Returns the index at which the window is found.
      
      :param `win`: an instance of :class:`wx.Window`.


   .. method:: GetPageShapeAngle(self, page_index)

      Returns the angle associated to a tab.
      
      :param `page_index`: the index of the tab for which we wish to get the shape angle.


   .. method:: GetPageText(self, page)

      Returns the string for the given page.
      
      :param `page`: an integer specifying the page index.


   .. method:: GetPageTextColour(self, page)

      Returns the tab text colour if it has been set previously, or ``None`` otherwise.
      
      :param `page`: an integer specifying the page index.


   .. method:: GetPreviousSelection(self)

      Returns the previous selection. 


   .. method:: GetSelection(self)

      Returns the currently selected page, or -1 if none was selected. 


   .. method:: GetTabArea(self)

      Returns the associated page. 


   .. method:: GetTabAreaColour(self)

      Returns the area behind the tabs colour. 


   .. method:: GetTileOrientation(self)

      Returns the orientation when on tiling mode. This method can return
      ``wx.VERTICAL`` when the panels are vertically stacked, ``wx.HORIZONTAL``
      when they are horizontally stacked panels or ``None`` when there is no
      stacking and :class:`FlatNotebook` behaves like a normal notebook.


   .. method:: HasAGWFlag(self, flag)

      Returns whether a flag is present in the :class:`FlatNotebook` style.
      
      :param `flag`: one of the possible :class:`FlatNotebook` window styles.
      
      :see: :meth:`~FlatNotebook.SetAGWWindowStyleFlag` for a list of possible window style flags.


   .. method:: HideTabs(self)

      Hides the tabs. 


   .. method:: Init(self)

      Initializes all the class attributes. 


   .. method:: InsertPage(self, indx, page, text, select=True, imageId=-1)

      Inserts a new page at the specified position.
      
      :param `indx`: specifies the position of the new page;
      :param `page`: specifies the new page;
      :param `text`: specifies the text for the new page;
      :param `select`: specifies whether the page should be selected;
      :param `imageId`: specifies the optional image index for the new page.
      
      :return: ``True`` if successful, ``False`` otherwise.


   .. method:: OnDropTarget(self, x, y, nTabPage, wnd_oldContainer)

      Handles the drop action from a drag and drop operation.
      
      :param `x`: the x position of the drop action;
      :param `y`: the y position of the drop action;
      :param `nTabPage`: the index of the tab being dropped;
      :param `wnd_oldContainer`: the :class:`FlatNotebook` to which the dropped tab previously
       belonged to.


   .. method:: OnNavigationKey(self, event)

      Handles the ``wx.EVT_NAVIGATION_KEY`` event for :class:`FlatNotebook`.
      
      :param `event`: a :class:`NavigationKeyEvent` event to be processed.


   .. method:: RemovePage(self, page)

      Deletes the specified page, without deleting the associated window.
      
      :param `page`: an integer specifying the page index.


   .. method:: SetActiveTabColour(self, colour)

      Sets the active tab colour.
      
      :param `colour`: a valid :class:`wx.Colour` object or any typemap supported by wxWidgets/wxPython
       to generate a colour (i.e., a hex string, a colour name, a 3 or 4 integer tuple).


   .. method:: SetActiveTabTextColour(self, textColour)

      Sets the text colour for the active tab.
      
      :param `textColour`: a valid :class:`wx.Colour` object or any typemap supported by wxWidgets/wxPython
       to generate a colour (i.e., a hex string, a colour name, a 3 or 4 integer tuple).


   .. method:: SetAGWWindowStyleFlag(self, agwStyle)

      Sets the :class:`FlatNotebook` window style flags.
      
      :param `agwStyle`: the AGW-specific window style. This can be a combination of the
       following bits:
      
       ================================ =========== ==================================================
       Window Styles                    Hex Value   Description
       ================================ =========== ==================================================
       ``FNB_VC71``                             0x1 Use Visual Studio 2003 (VC7.1) style for tabs.
       ``FNB_FANCY_TABS``                       0x2 Use fancy style - square tabs filled with gradient colouring.
       ``FNB_TABS_BORDER_SIMPLE``               0x4 Draw thin border around the page.
       ``FNB_NO_X_BUTTON``                      0x8 Do not display the 'X' button.
       ``FNB_NO_NAV_BUTTONS``                  0x10 Do not display the right/left arrows.
       ``FNB_MOUSE_MIDDLE_CLOSES_TABS``        0x20 Use the mouse middle button for cloing tabs.
       ``FNB_BOTTOM``                          0x40 Place tabs at bottom - the default is to place them at top.
       ``FNB_NODRAG``                          0x80 Disable dragging of tabs.
       ``FNB_VC8``                            0x100 Use Visual Studio 2005 (VC8) style for tabs.
       ``FNB_X_ON_TAB``                       0x200 Place 'X' close button on the active tab.
       ``FNB_BACKGROUND_GRADIENT``            0x400 Use gradients to paint the tabs background.
       ``FNB_COLOURFUL_TABS``                 0x800 Use colourful tabs (VC8 style only).
       ``FNB_DCLICK_CLOSES_TABS``            0x1000 Style to close tab using double click.
       ``FNB_SMART_TABS``                    0x2000 Use `Smart Tabbing`, like ``Alt`` + ``Tab`` on Windows.
       ``FNB_DROPDOWN_TABS_LIST``            0x4000 Use a dropdown menu on the left in place of the arrows.
       ``FNB_ALLOW_FOREIGN_DND``             0x8000 Allows drag 'n' drop operations between different :class:`FlatNotebook`.
       ``FNB_HIDE_ON_SINGLE_TAB``           0x10000 Hides the Page Container when there is one or fewer tabs.
       ``FNB_DEFAULT_STYLE``                0x10020 :class:`FlatNotebook` default style.
       ``FNB_FF2``                          0x20000 Use Firefox 2 style for tabs.
       ``FNB_NO_TAB_FOCUS``                 0x40000 Does not allow tabs to have focus.
       ``FNB_RIBBON_TABS``                  0x80000 Use the Ribbon Tabs style.
       ``FNB_HIDE_TABS``                   0x100000 Hides the Page Container allowing only keyboard navigation
       ``FNB_NAV_BUTTONS_WHEN_NEEDED``     0x200000 Hides the navigation left/right arrows if all tabs fit
       ================================ =========== ==================================================


   .. method:: SetAllPagesShapeAngle(self, angle)

      Sets the angle associated to all the tab.
      
      :param `angle`: the new shape angle for the tab (must be less than 15 degrees).


   .. method:: SetCustomPage(self, panel)

      Sets a custom panel to show when there are no pages left in :class:`FlatNotebook`.
      
      :param `panel`: any subclass of :class:`wx.Window` will do, as long as it is suitable
       to be used as a notebook page. Examples include :class:`Panel`, :class:`ScrolledWindow`,
       and so on.


   .. method:: SetGradientColourBorder(self, border)

      Sets the tab border colour.
      
      :param `border`: the border colour, an instance of :class:`wx.Colour`.


   .. method:: SetGradientColourFrom(self, fr)

      Sets the starting colour for the gradient.
      
      :param `fr`: the first gradient colour, an instance of :class:`wx.Colour`.


   .. method:: SetGradientColours(self, fr, to, border)

      Sets the gradient colours for the tab.
      
      :param `fr`: the first gradient colour, an instance of :class:`wx.Colour`;
      :param `to`: the second gradient colour, an instance of :class:`wx.Colour`;
      :param `border`: the border colour, an instance of :class:`wx.Colour`.


   .. method:: SetGradientColourTo(self, to)

      Sets the ending colour for the gradient.
      
      :param `to`: the second gradient colour, an instance of :class:`wx.Colour`;


   .. method:: SetImageList(self, imageList)

      Sets the image list for the page control.
      
      :param `imageList`: an instance of :class:`wx.ImageList`.


   .. method:: SetNavigatorIcon(self, bmp)

      Set the icon used by the :class:`TabNavigatorWindow`.
      
      :param `bmp`: a valid :class:`wx.Bitmap` object.


   .. method:: SetNonActiveTabTextColour(self, colour)

      Sets the non active tabs text colour.
      
      :param `colour`: a valid :class:`wx.Colour` object or any typemap supported by wxWidgets/wxPython
       to generate a colour (i.e., a hex string, a colour name, a 3 or 4 integer tuple).


   .. method:: SetPadding(self, padding)

      Sets the amount of space around each page's icon and label, in pixels.
      
      :param `padding`: the amount of space around each page's icon and label,
       in pixels.
      
      :note: Only the horizontal padding is considered.


   .. method:: SetPageImage(self, page, image)

      Sets the image index for the given page.
      
      :param `page`: an integer specifying the page index;
      :param `image`: an index into the image list which was set with :meth:`~FlatNotebook.SetImageList`.


   .. method:: SetPageShapeAngle(self, page_index, angle)

      Sets the angle associated to a tab.
      
      :param `page_index`: the index of the tab for which we wish to get the shape angle;
      :param `angle`: the new shape angle for the tab (must be less than 15 degrees).


   .. method:: SetPageText(self, page, text)

      Sets the text for the given page.
      
      :param `page`: an integer specifying the page index;
      :param `text`: the new tab label.


   .. method:: SetPageTextColour(self, page, colour)

      Sets the tab text colour individually.
      
      :param `page`: an integer specifying the page index;
      :param `colour`: a valid :class:`wx.Colour` object or any typemap supported by wxWidgets/wxPython
       to generate a colour (i.e., a hex string, a colour name, a 3 or 4 integer tuple). You can
       pass ``None`` or :class:`NullColour` to return to the default page text colour.


   .. method:: SetRightClickMenu(self, menu)

      Sets the popup menu associated to a right click on a tab.
      
      :param `menu`: an instance of :class:`wx.Menu`.


   .. method:: SetSelection(self, page)

      Sets the selection for the given page.
      
      :param `page`: an integer specifying the new selected page.
      
      :note: The call to this function **does not** generate the page changing events.


   .. method:: SetTabAreaColour(self, colour)

      Sets the area behind the tabs colour.
      
      :param `colour`: a valid :class:`wx.Colour` object or any typemap supported by wxWidgets/wxPython
       to generate a colour (i.e., a hex string, a colour name, a 3 or 4 integer tuple).


   .. method:: ShowCustomPage(self, show=True)

      Hides the custom panel which is shown when there are no pages left in :class:`FlatNotebook`. 


   .. method:: ShowTabs(self)

      Shows the tabs if hidden previously. 


   .. method:: Tile(self, orient=None)

      Shows pages in column/row mode (one panel after the other in columns/rows).
      
      :param `orient`: this parameter represents the orientation of the stacked
       panels. Pass ``wx.VERTICAL`` to get vertically stacked panels, ``wx.HORIZONTAL``
       to get horizontally stacked panels or ``None`` to return to the default
       :class:`FlatNotebook` behaviour with tabs.


