.. wxPython Phoenix documentation
   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.
   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.agw.labelbook
.. highlight:: python
.. _wx.lib.agw.labelbook.ImageContainerBase:
==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.labelbook.ImageContainerBase**
==========================================================================================================================================
Base class for :class:`FlatImageBook` image container.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html
   
   
   Inheritance diagram for class 
ImageContainerBase:
   
 
   
   
|
|sub_classes| Known Subclasses
==============================
:class:`wx.lib.agw.labelbook.ImageContainer`, :class:`wx.lib.agw.labelbook.LabelContainer`
|
|super_classes| Known Superclasses
==================================
:class:`wx.Panel`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.__init__`                        Default class constructor.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.AddPage`                         Adds a page to the container.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.AssignImageList`                 Assigns an image list to the :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.CanDoBottomStyle`                Allows the parent to examine the children type. Some implementation
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.ClearAll`                        Deletes all the pages in the container.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.ClearFlag`                       Removes flag from the style.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.DoDeletePage`                    Does the actual page deletion.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.DrawPin`                         Draw a pin button, that allows collapsing of the image panel.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.EnableTab`                       Enables or disables a tab.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.FixTextSize`                     Fixes the text, to fit `maxWidth` value. If the text length exceeds
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.GetEnabled`                      Returns whether a tab is enabled or not.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.GetImageList`                    Return the image list for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.GetImageSize`                    Returns the image size inside the :class:`wx.ImageContainerBase` image list.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.GetPageImage`                    Returns the image index for the given page.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.GetPageText`                     Returns the tab caption for the given page.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.HasAGWFlag`                      Tests for existence of flag in the style.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.HitTest`                         Returns the index of the tab at the specified position or ``wx.NOT_FOUND``
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.InsertPage`                      Inserts a page into the container at the specified position.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnEraseBackground`               Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnMouseLeaveWindow`              Handles the ``wx.EVT_LEAVE_WINDOW`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnMouseLeftDown`                 Handles the ``wx.EVT_LEFT_DOWN`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnMouseLeftUp`                   Handles the ``wx.EVT_LEFT_UP`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnMouseMove`                     Handles the ``wx.EVT_MOTION`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.OnSize`                          Handles the ``wx.EVT_SIZE`` event for :class:`wx.ImageContainerBase`.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.PointOnSash`                     Tests whether pt is located on the sash.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.SetPageImage`                    Sets the image for the given page.
:meth:`~wx.lib.agw.labelbook.ImageContainerBase.SetPageText`                     Sets the tab caption for the given page.
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: ImageContainerBase(wx.Panel)
   Base class for :class:`FlatImageBook` image container.
   .. method:: __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, agwStyle=0, name="ImageContainerBase")
      Default class constructor.
      
      :param `parent`: parent window. Must not be ``None``;
      :param `id`: window identifier. A value of -1 indicates a default value;
      :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
       =========================== =========== ==================================================
       ``INB_BOTTOM``                      0x1 Place labels below the page area. Available only for :class:`FlatImageBook`.
       ``INB_LEFT``                        0x2 Place labels on the left side. Available only for :class:`FlatImageBook`.
       ``INB_RIGHT``                       0x4 Place labels on the right side.
       ``INB_TOP``                         0x8 Place labels above the page area.
       ``INB_BORDER``                     0x10 Draws a border around :class:`LabelBook` or :class:`FlatImageBook`.
       ``INB_SHOW_ONLY_TEXT``             0x20 Shows only text labels and no images. Available only for :class:`LabelBook`.
       ``INB_SHOW_ONLY_IMAGES``           0x40 Shows only tab images and no label texts. Available only for :class:`LabelBook`.
       ``INB_FIT_BUTTON``                 0x80 Displays a pin button to show/hide the book control.
       ``INB_DRAW_SHADOW``               0x100 Draw shadows below the book tabs. Available only for :class:`LabelBook`.
       ``INB_USE_PIN_BUTTON``            0x200 Displays a pin button to show/hide the book control.
       ``INB_GRADIENT_BACKGROUND``       0x400 Draws a gradient shading on the tabs background. Available only for :class:`LabelBook`.
       ``INB_WEB_HILITE``                0x800 On mouse hovering, tabs behave like html hyperlinks. Available only for :class:`LabelBook`.
       ``INB_NO_RESIZE``                0x1000 Don't allow resizing of the tab area.
       ``INB_FIT_LABELTEXT``            0x2000 Will fit the tab area to the longest text (or text+image if you have images) in all the tabs.
       ``INB_BOLD_TAB_SELECTION``       0x4000 Show the selected tab text using a bold font.
       =========================== =========== ==================================================
      
      :param `name`: the window name.
   .. method:: AddPage(self, caption, selected=False, imgIdx=-1)
      Adds a page to the container.
      
      :param `caption`: specifies the text for the new tab;
      :param `selected`: specifies whether the page should be selected;
      :param `imgIdx`: specifies the optional image index for the new tab.
   .. method:: AssignImageList(self, imglist)
      Assigns an image list to the :class:`wx.ImageContainerBase`.
      
      :param `imglist`: an instance of :class:`wx.ImageList`.
   .. method:: CanDoBottomStyle(self)
      Allows the parent to examine the children type. Some implementation
      (such as :class:`LabelBook`), does not support top/bottom images, only left/right.
   .. method:: ClearAll(self)
      Deletes all the pages in the container. 
   .. method:: ClearFlag(self, flag)
      Removes flag from the style.
      
      :param `flag`: a window style flag.
      
      .. seealso:: :meth:`~ImageContainerBase.HasAGWFlag` for a list of possible window style flags.
   .. method:: DoDeletePage(self, page)
      Does the actual page deletion.
      
      :param `page`: the index of the tab.
   .. method:: DrawPin(self, dc, rect, downPin)
      Draw a pin button, that allows collapsing of the image panel.
      
      :param `dc`: an instance of :class:`wx.DC`;
      :param `rect`: the pin button client rectangle;
      :param `downPin`: ``True`` if the pin button is facing downwards, ``False``
       if it is facing leftwards.
   .. 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:: FixTextSize(self, dc, text, maxWidth)
      Fixes the text, to fit `maxWidth` value. If the text length exceeds
      `maxWidth` value this function truncates it and appends two dots at
      the end. ("Long Long Long Text" might become "Long Long...").
      
      :param `dc`: an instance of :class:`wx.DC`;
      :param `text`: the text to fix/truncate;
      :param `maxWidth`: the maximum allowed width for the text, in pixels.
   .. method:: GetEnabled(self, page)
      Returns whether a tab is enabled or not.
      
      :param `page`: an integer specifying the page index.
   .. method:: GetImageList(self)
      Return the image list for :class:`wx.ImageContainerBase`. 
   .. method:: GetImageSize(self)
      Returns the image size inside the :class:`wx.ImageContainerBase` image list. 
   .. method:: GetPageImage(self, page)
      Returns the image index for the given page.
      
      :param `page`: the index of the tab.
   .. method:: GetPageText(self, page)
      Returns the tab caption for the given page.
      
      :param `page`: the index of the tab.
   .. method:: HasAGWFlag(self, flag)
      Tests for existence of flag in the style.
      
      :param `flag`: a window style. This can be a combination of the following bits:
      
       =========================== =========== ==================================================
       Window Styles               Hex Value   Description
       =========================== =========== ==================================================
       ``INB_BOTTOM``                      0x1 Place labels below the page area. Available only for :class:`FlatImageBook`.
       ``INB_LEFT``                        0x2 Place labels on the left side. Available only for :class:`FlatImageBook`.
       ``INB_RIGHT``                       0x4 Place labels on the right side.
       ``INB_TOP``                         0x8 Place labels above the page area.
       ``INB_BORDER``                     0x10 Draws a border around :class:`LabelBook` or :class:`FlatImageBook`.
       ``INB_SHOW_ONLY_TEXT``             0x20 Shows only text labels and no images. Available only for :class:`LabelBook`.
       ``INB_SHOW_ONLY_IMAGES``           0x40 Shows only tab images and no label texts. Available only for :class:`LabelBook`.
       ``INB_FIT_BUTTON``                 0x80 Displays a pin button to show/hide the book control.
       ``INB_DRAW_SHADOW``               0x100 Draw shadows below the book tabs. Available only for :class:`LabelBook`.
       ``INB_USE_PIN_BUTTON``            0x200 Displays a pin button to show/hide the book control.
       ``INB_GRADIENT_BACKGROUND``       0x400 Draws a gradient shading on the tabs background. Available only for :class:`LabelBook`.
       ``INB_WEB_HILITE``                0x800 On mouse hovering, tabs behave like html hyperlinks. Available only for :class:`LabelBook`.
       ``INB_NO_RESIZE``                0x1000 Don't allow resizing of the tab area.
       ``INB_FIT_LABELTEXT``            0x2000 Will fit the tab area to the longest text (or text+image if you have images) in all the tabs.
       ``INB_BOLD_TAB_SELECTION``       0x4000 Show the selected tab text using a bold font.
       =========================== =========== ==================================================
   .. method:: HitTest(self, pt)
      Returns the index of the tab at the specified position or ``wx.NOT_FOUND``
      if ``None``, plus the flag style of :meth:`~ImageContainerBase.HitTest`.
      
      :param `pt`: an instance of :class:`wx.Point`, to test for hits.
      
      :return: The index of the tab at the specified position plus the hit test
       flag, which can be one of the following bits:
      
       ====================== ======= ================================
       HitTest Flags           Value  Description
       ====================== ======= ================================
       ``IMG_OVER_IMG``             0 The mouse is over the tab icon
       ``IMG_OVER_PIN``             1 The mouse is over the pin button
       ``IMG_OVER_EW_BORDER``       2 The mouse is over the east-west book border
       ``IMG_NONE``                 3 Nowhere
       ====================== ======= ================================
   .. method:: InsertPage(self, page_idx, caption, selected=False, imgIdx=-1)
      Inserts a page into the container at the specified position.
      
      :param `page_idx`: specifies the position for the new tab;
      :param `caption`: specifies the text for the new tab;
      :param `selected`: specifies whether the page should be selected;
      :param `imgIdx`: specifies the optional image index for the new tab.
   .. method:: OnEraseBackground(self, event)
      Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`EraseEvent` event to be processed.
      
      .. note:: This method is intentionally empty to reduce flicker.
   .. method:: OnMouseLeaveWindow(self, event)
      Handles the ``wx.EVT_LEAVE_WINDOW`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`MouseEvent` event to be processed.
   .. method:: OnMouseLeftDown(self, event)
      Handles the ``wx.EVT_LEFT_DOWN`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`MouseEvent` event to be processed.
   .. method:: OnMouseLeftUp(self, event)
      Handles the ``wx.EVT_LEFT_UP`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`MouseEvent` event to be processed.
   .. method:: OnMouseMove(self, event)
      Handles the ``wx.EVT_MOTION`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`MouseEvent` event to be processed.
   .. method:: OnSize(self, event)
      Handles the ``wx.EVT_SIZE`` event for :class:`wx.ImageContainerBase`.
      
      :param `event`: a :class:`wx.SizeEvent` event to be processed.
   .. method:: PointOnSash(self, pt)
      Tests whether pt is located on the sash.
      
      :param `pt`: an instance of :class:`wx.Point`, to test for hits.
   .. method:: SetPageImage(self, page, imgIdx)
      Sets the image for the given page.
      
      :param `page`: the index of the tab;
      :param `imgIdx`: specifies the optional image index for the tab.
   .. method:: SetPageText(self, page, text)
      Sets the tab caption for the given page.
      
      :param `page`: the index of the tab;
      :param `text`: the new tab caption.