.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2017 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.agw.aui.dockart

.. highlight:: python



.. _wx.lib.agw.aui.dockart.AuiDefaultDockArt:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.aui.dockart.AuiDefaultDockArt**
==========================================================================================================================================

Dock art provider code - a dock provider provides all drawing functionality to the AUI dock manager.
This allows the dock manager to have a plugable look-and-feel.

By default, a :class:`~wx.lib.agw.aui.framemanager.AuiManager` uses an instance of this class called
:class:`AuiDefaultDockArt` which provides bitmap art 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 dock art class.

Call :meth:`AuiManager.SetArtProvider() <lib.agw.aui.framemanager.AuiManager.SetArtProvider>`
to make use this new dock art.


**Metric Ordinals**

These are the possible pane dock art settings for :class:`AuiDefaultDockArt`:

================================================  ======================================
Metric Ordinal Constant                           Description
================================================  ======================================
``AUI_DOCKART_SASH_SIZE``                         Customizes the sash size
``AUI_DOCKART_CAPTION_SIZE``                      Customizes the caption size
``AUI_DOCKART_GRIPPER_SIZE``                      Customizes the gripper size
``AUI_DOCKART_PANE_BORDER_SIZE``                  Customizes the pane border size
``AUI_DOCKART_PANE_BUTTON_SIZE``                  Customizes the pane button size
``AUI_DOCKART_BACKGROUND_COLOUR``                 Customizes the background colour
``AUI_DOCKART_BACKGROUND_GRADIENT_COLOUR``        Customizes the background gradient colour
``AUI_DOCKART_SASH_COLOUR``                       Customizes the sash colour
``AUI_DOCKART_ACTIVE_CAPTION_COLOUR``             Customizes the active caption colour
``AUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR``    Customizes the active caption gradient colour
``AUI_DOCKART_INACTIVE_CAPTION_COLOUR``           Customizes the inactive caption colour
``AUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR``  Customizes the inactive gradient caption colour
``AUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR``        Customizes the active caption text colour
``AUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR``      Customizes the inactive caption text colour
``AUI_DOCKART_BORDER_COLOUR``                     Customizes the border colour
``AUI_DOCKART_GRIPPER_COLOUR``                    Customizes the gripper colour
``AUI_DOCKART_CAPTION_FONT``                      Customizes the caption font
``AUI_DOCKART_GRADIENT_TYPE``                     Customizes the gradient type (no gradient, vertical or horizontal)
``AUI_DOCKART_DRAW_SASH_GRIP``                    Draw a sash grip on the sash
``AUI_DOCKART_HINT_WINDOW_COLOUR``                Customizes the hint window background colour (currently light blue)
================================================  ======================================


**Gradient Types**

These are the possible gradient dock art settings for :class:`AuiDefaultDockArt`:

============================================  ======================================
Gradient Constant                             Description
============================================  ======================================
``AUI_GRADIENT_NONE``                         No gradient on the captions
``AUI_GRADIENT_VERTICAL``                     Vertical gradient on the captions
``AUI_GRADIENT_HORIZONTAL``                   Horizontal gradient on the captions
============================================  ======================================


**Button States**

These are the possible pane button / :class:`~wx.lib.agw.aui.auibook.AuiNotebook` button /
:class:`~wx.lib.agw.aui.auibar.AuiToolBar` button states:

============================================  ======================================
Button State Constant                         Description
============================================  ======================================
``AUI_BUTTON_STATE_NORMAL``                   Normal button state
``AUI_BUTTON_STATE_HOVER``                    Hovered button state
``AUI_BUTTON_STATE_PRESSED``                  Pressed button state
``AUI_BUTTON_STATE_DISABLED``                 Disabled button state
``AUI_BUTTON_STATE_HIDDEN``                   Hidden button state
``AUI_BUTTON_STATE_CHECKED``                  Checked button state
============================================  ======================================


**Button Identifiers**

These are the possible pane button / :class:`~wx.lib.agw.aui.auibook.AuiNotebook` button /
:class:`~wx.lib.agw.aui.auibar.AuiToolBar` button identifiers:

============================================  ======================================
Button Identifier                             Description
============================================  ======================================
``AUI_BUTTON_CLOSE``                          Shows a close button on the pane
``AUI_BUTTON_MAXIMIZE_RESTORE``               Shows a maximize/restore button on the pane
``AUI_BUTTON_MINIMIZE``                       Shows a minimize button on the pane
``AUI_BUTTON_PIN``                            Shows a pin button on the pane
``AUI_BUTTON_OPTIONS``                        Shows an option button on the pane (not implemented)
``AUI_BUTTON_WINDOWLIST``                     Shows a window list button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
``AUI_BUTTON_LEFT``                           Shows a left button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
``AUI_BUTTON_RIGHT``                          Shows a right button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
``AUI_BUTTON_UP``                             Shows an up button on the pane (not implemented)
``AUI_BUTTON_DOWN``                           Shows a down button on the pane (not implemented)
``AUI_BUTTON_CUSTOM1``                        Shows a custom button on the pane (not implemented)
``AUI_BUTTON_CUSTOM2``                        Shows a custom button on the pane (not implemented)
``AUI_BUTTON_CUSTOM3``                        Shows a custom button on the pane (not implemented)
============================================  ======================================



|

|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>AuiDefaultDockArt</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.aui.dockart.AuiDefaultDockArt_inheritance.png" alt="Inheritance diagram of AuiDefaultDockArt" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.agw.aui.dockart.AuiDefaultDockArt.html" title="wx.lib.agw.aui.dockart.AuiDefaultDockArt" alt="" coords="5,5,285,35"/> </map> 
   </p>

|


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

:class:`wx.lib.agw.aui.dockart.ModernDockArt`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.__init__`                       Default class constructor.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawBackground`                 Draws a background.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawBorder`                     Draws the pane border.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawCaption`                    Draws the text in the pane caption.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawCaptionBackground`          Draws the text caption background in the pane.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawGripper`                    Draws a gripper on the pane.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawIcon`                       Draws the icon in the pane caption area.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawPaneButton`                 Draws a pane button in the pane caption area.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawSash`                       Draws a sash between two windows.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.DrawSashGripper`                Draws a sash gripper on a sash between two windows.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.GetColor`                       Gets the colour of a certain setting.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.GetFont`                        Gets a font setting.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.GetMetric`                      Gets the value of a certain setting.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.Init`                           Initializes the dock art.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.RequestUserAttention`           Requests the user attention by intermittently highlighting the pane caption.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetColor`                       Sets the colour of a certain setting.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetCustomPaneBitmap`            Sets a custom button bitmap for the pane button.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetDefaultColours`              Sets the default colours, which are calculated from the given base colour.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetDefaultPaneBitmaps`          Assigns the default pane bitmaps.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetFont`                        Sets a font setting.
:meth:`~wx.lib.agw.aui.dockart.AuiDefaultDockArt.SetMetric`                      Sets the value of a certain setting using `new_val`
================================================================================ ================================================================================


|


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


.. class:: AuiDefaultDockArt(object)

   Dock art provider code - a dock provider provides all drawing functionality to the AUI dock manager.
   This allows the dock manager to have a plugable look-and-feel.
   
   By default, a :class:`~wx.lib.agw.aui.framemanager.AuiManager` uses an instance of this class called
   :class:`AuiDefaultDockArt` which provides bitmap art 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 dock art class.
   
   Call :meth:`AuiManager.SetArtProvider() <lib.agw.aui.framemanager.AuiManager.SetArtProvider>`
   to make use this new dock art.
   
   
   **Metric Ordinals**
   
   These are the possible pane dock art settings for :class:`AuiDefaultDockArt`:
   
   ================================================  ======================================
   Metric Ordinal Constant                           Description
   ================================================  ======================================
   ``AUI_DOCKART_SASH_SIZE``                         Customizes the sash size
   ``AUI_DOCKART_CAPTION_SIZE``                      Customizes the caption size
   ``AUI_DOCKART_GRIPPER_SIZE``                      Customizes the gripper size
   ``AUI_DOCKART_PANE_BORDER_SIZE``                  Customizes the pane border size
   ``AUI_DOCKART_PANE_BUTTON_SIZE``                  Customizes the pane button size
   ``AUI_DOCKART_BACKGROUND_COLOUR``                 Customizes the background colour
   ``AUI_DOCKART_BACKGROUND_GRADIENT_COLOUR``        Customizes the background gradient colour
   ``AUI_DOCKART_SASH_COLOUR``                       Customizes the sash colour
   ``AUI_DOCKART_ACTIVE_CAPTION_COLOUR``             Customizes the active caption colour
   ``AUI_DOCKART_ACTIVE_CAPTION_GRADIENT_COLOUR``    Customizes the active caption gradient colour
   ``AUI_DOCKART_INACTIVE_CAPTION_COLOUR``           Customizes the inactive caption colour
   ``AUI_DOCKART_INACTIVE_CAPTION_GRADIENT_COLOUR``  Customizes the inactive gradient caption colour
   ``AUI_DOCKART_ACTIVE_CAPTION_TEXT_COLOUR``        Customizes the active caption text colour
   ``AUI_DOCKART_INACTIVE_CAPTION_TEXT_COLOUR``      Customizes the inactive caption text colour
   ``AUI_DOCKART_BORDER_COLOUR``                     Customizes the border colour
   ``AUI_DOCKART_GRIPPER_COLOUR``                    Customizes the gripper colour
   ``AUI_DOCKART_CAPTION_FONT``                      Customizes the caption font
   ``AUI_DOCKART_GRADIENT_TYPE``                     Customizes the gradient type (no gradient, vertical or horizontal)
   ``AUI_DOCKART_DRAW_SASH_GRIP``                    Draw a sash grip on the sash
   ``AUI_DOCKART_HINT_WINDOW_COLOUR``                Customizes the hint window background colour (currently light blue)
   ================================================  ======================================
   
   
   **Gradient Types**
   
   These are the possible gradient dock art settings for :class:`AuiDefaultDockArt`:
   
   ============================================  ======================================
   Gradient Constant                             Description
   ============================================  ======================================
   ``AUI_GRADIENT_NONE``                         No gradient on the captions
   ``AUI_GRADIENT_VERTICAL``                     Vertical gradient on the captions
   ``AUI_GRADIENT_HORIZONTAL``                   Horizontal gradient on the captions
   ============================================  ======================================
   
   
   **Button States**
   
   These are the possible pane button / :class:`~wx.lib.agw.aui.auibook.AuiNotebook` button /
   :class:`~wx.lib.agw.aui.auibar.AuiToolBar` button states:
   
   ============================================  ======================================
   Button State Constant                         Description
   ============================================  ======================================
   ``AUI_BUTTON_STATE_NORMAL``                   Normal button state
   ``AUI_BUTTON_STATE_HOVER``                    Hovered button state
   ``AUI_BUTTON_STATE_PRESSED``                  Pressed button state
   ``AUI_BUTTON_STATE_DISABLED``                 Disabled button state
   ``AUI_BUTTON_STATE_HIDDEN``                   Hidden button state
   ``AUI_BUTTON_STATE_CHECKED``                  Checked button state
   ============================================  ======================================
   
   
   **Button Identifiers**
   
   These are the possible pane button / :class:`~wx.lib.agw.aui.auibook.AuiNotebook` button /
   :class:`~wx.lib.agw.aui.auibar.AuiToolBar` button identifiers:
   
   ============================================  ======================================
   Button Identifier                             Description
   ============================================  ======================================
   ``AUI_BUTTON_CLOSE``                          Shows a close button on the pane
   ``AUI_BUTTON_MAXIMIZE_RESTORE``               Shows a maximize/restore button on the pane
   ``AUI_BUTTON_MINIMIZE``                       Shows a minimize button on the pane
   ``AUI_BUTTON_PIN``                            Shows a pin button on the pane
   ``AUI_BUTTON_OPTIONS``                        Shows an option button on the pane (not implemented)
   ``AUI_BUTTON_WINDOWLIST``                     Shows a window list button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
   ``AUI_BUTTON_LEFT``                           Shows a left button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
   ``AUI_BUTTON_RIGHT``                          Shows a right button on the pane (for :class:`~wx.lib.agw.aui.auibook.AuiNotebook`)
   ``AUI_BUTTON_UP``                             Shows an up button on the pane (not implemented)
   ``AUI_BUTTON_DOWN``                           Shows a down button on the pane (not implemented)
   ``AUI_BUTTON_CUSTOM1``                        Shows a custom button on the pane (not implemented)
   ``AUI_BUTTON_CUSTOM2``                        Shows a custom button on the pane (not implemented)
   ``AUI_BUTTON_CUSTOM3``                        Shows a custom button on the pane (not implemented)
   ============================================  ======================================

   .. method:: __init__(self)

      Default class constructor. 


   .. method:: DrawBackground(self, dc, window, orient, rect)

      Draws a background.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param integer `orient`: the gradient (if any) orientation;
      :param wx.Rect `rect`: the background rectangle.


   .. method:: DrawBorder(self, dc, window, rect, pane)

      Draws the pane border.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param wx.Rect `rect`: the border rectangle;
      :param `pane`: the pane for which the border is drawn.


   .. method:: DrawCaption(self, dc, window, text, rect, pane)

      Draws the text in the pane caption.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param string `text`: the text to be displayed;
      :param wx.Rect `rect`: the pane caption rectangle;
      :param `pane`: the pane for which the text is drawn.


   .. method:: DrawCaptionBackground(self, dc, rect, pane)

      Draws the text caption background in the pane.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param wx.Rect `rect`: the text caption rectangle;
      :param `pane`: the pane for which the text background is drawn.


   .. method:: DrawGripper(self, dc, window, rect, pane)

      Draws a gripper on the pane.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param wx.Rect `rect`: the pane caption rectangle;
      :param `pane`: the pane for which the gripper is drawn.


   .. method:: DrawIcon(self, dc, rect, pane)

      Draws the icon in the pane caption area.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param wx.Rect `rect`: the pane caption rectangle;
      :param `pane`: the pane for which the icon is drawn.


   .. method:: DrawPaneButton(self, dc, window, button, button_state, _rect, pane)

      Draws a pane button in the pane caption area.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param integer `button`: the button to be drawn;
      :param integer `button_state`: the pane button state;
      :param wx.Rect `_rect`: the pane caption rectangle;
      :param `pane`: the pane for which the button is drawn.


   .. method:: DrawSash(self, dc, window, orient, rect)

      Draws a sash between two windows.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param integer `orient`: the sash orientation;
      :param wx.Rect `rect`: the sash rectangle.


   .. method:: DrawSashGripper(self, dc, orient, rect)

      Draws a sash gripper on a sash between two windows.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param integer `orient`: the sash orientation;
      :param wx.Rect `rect`: the sash rectangle.


   .. method:: GetColor(self, id)

      Gets the colour of a certain setting.
      
      :param integer `id`: can be one of the colour values in `Metric Ordinals`.


   .. method:: GetFont(self, id)

      Gets a font setting.
      
      :param integer `id`: must be ``AUI_DOCKART_CAPTION_FONT``, otherwise :class:`NullFont` is returned.


   .. method:: GetMetric(self, id)

      Gets the value of a certain setting.
      
      :param integer `id`: can be one of the size values in `Metric Ordinals`.


   .. method:: Init(self)

      Initializes the dock art. 


   .. method:: RequestUserAttention(self, dc, window, text, rect, pane)

      Requests the user attention by intermittently highlighting the pane caption.
      
      :param `dc`: a :class:`wx.DC` device context;
      :param `window`: an instance of :class:`wx.Window`;
      :param string `text`: the text to be displayed;
      :param wx.Rect `rect`: the pane caption rectangle;
      :param `pane`: the pane for which we want to attract the user attention.


   .. method:: SetColor(self, id, colour)

      Sets the colour of a certain setting.
      
      :param integer `id`: can be one of the colour values in `Metric Ordinals`;
      :param `colour`: the new value of the setting.
      :type `colour`: :class:`wx.Colour` or tuple or integer


   .. method:: SetCustomPaneBitmap(self, bmp, button, active, maximize=False)

      Sets a custom button bitmap for the pane button.
      
      :param wx.Bitmap `bmp`: the actual bitmap to set;
      :param integer `button`: the button identifier;
      :param bool `active`: whether it is the bitmap for the active button or not;
      :param bool `maximize`: used to distinguish between the maximize and restore bitmaps.


   .. method:: SetDefaultColours(self, base_colour=None)

      Sets the default colours, which are calculated from the given base colour.
      
      :param `base_colour`: an instance of :class:`wx.Colour`. If defaulted to ``None``, a colour
       is generated accordingly to the platform and theme.


   .. method:: SetDefaultPaneBitmaps(self, isMac)

      Assigns the default pane bitmaps.
      
      :param bool `isMac`: whether we are on wxMAC or not.


   .. method:: SetFont(self, id, font)

      Sets a font setting.
      
      :param integer `id`: must be ``AUI_DOCKART_CAPTION_FONT``;
      :param `font`: an instance of :class:`wx.Font`.


   .. method:: SetMetric(self, id, new_val)

      Sets the value of a certain setting using `new_val`
      
      :param integer `id`: can be one of the size values in `Metric Ordinals`;
      :param `new_val`: the new value of the setting.


