.. 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.aui.framemanager

.. highlight:: python



.. _wx.lib.agw.aui.framemanager.AuiManager:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.aui.framemanager.AuiManager**
==========================================================================================================================================

AuiManager manages the panes associated with it for a particular :class:`wx.Frame`,
using a pane's :class:`AuiManager` information to determine each pane's docking and
floating behavior. :class:`AuiManager` uses wxPython's sizer mechanism to plan the
layout of each frame. It uses a replaceable dock art class to do all drawing,
so all drawing is localized in one area, and may be customized depending on an
applications' specific needs.

:class:`AuiManager` works as follows: the programmer adds panes to the class, or makes
changes to existing pane properties (dock position, floating state, show state, etc...).
To apply these changes, the :meth:`AuiManager.Update() <AuiManager.Update>` function is called. This batch
processing can be used to avoid flicker, by modifying more than one pane at a time,
and then "committing" all of the changes at once by calling `Update()`.

Panes can be added quite easily::

    text1 = wx.TextCtrl(self, -1)
    text2 = wx.TextCtrl(self, -1)
    self._mgr.AddPane(text1, AuiPaneInfo().Left().Caption("Pane Number One"))
    self._mgr.AddPane(text2, AuiPaneInfo().Bottom().Caption("Pane Number Two"))

    self._mgr.Update()


Later on, the positions can be modified easily. The following will float an
existing pane in a tool window::

    self._mgr.GetPane(text1).Float()


**Layers, Rows and Directions, Positions:**

Inside AUI, the docking layout is figured out by checking several pane parameters.
Four of these are important for determining where a pane will end up.

**Direction** - Each docked pane has a direction, `Top`, `Bottom`, `Left`, `Right`, or `Center`.
This is fairly self-explanatory. The pane will be placed in the location specified
by this variable.

**Position** - More than one pane can be placed inside of a "dock". Imagine two panes
being docked on the left side of a window. One pane can be placed over another.
In proportionally managed docks, the pane position indicates it's sequential position,
starting with zero. So, in our scenario with two panes docked on the left side, the
top pane in the dock would have position 0, and the second one would occupy position 1.

**Row** - A row can allow for two docks to be placed next to each other. One of the most
common places for this to happen is in the toolbar. Multiple toolbar rows are allowed,
the first row being in row 0, and the second in row 1. Rows can also be used on
vertically docked panes.

**Layer** - A layer is akin to an onion. Layer 0 is the very center of the managed pane.
Thus, if a pane is in layer 0, it will be closest to the center window (also sometimes
known as the "content window"). Increasing layers "swallow up" all layers of a lower
value. This can look very similar to multiple rows, but is different because all panes
in a lower level yield to panes in higher levels. The best way to understand layers
is by running the AUI sample (`AUI.py`).



|

|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>AuiManager</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.framemanager.AuiManager_inheritance.png" alt="Inheritance diagram of AuiManager" 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.aui.framemanager.AuiManager.html" title="wx.lib.agw.aui.framemanager.AuiManager" alt="" coords="5,160,301,189"/> <area shape="rect" id="node2" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="95,83,212,112"/> <area shape="rect" id="node3" href="wx.Object.html" title="wx.Object" alt="" coords="50,5,137,35"/> <area shape="rect" id="node4" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="161,5,268,35"/> </map> 
   </p>
   </div>

|


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

|

.. figure:: _static/images/widgets/fullsize/wxmsw/wx.lib.agw.aui.framemanager.auimanager.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/wx.lib.agw.aui.framemanager.auimanager.png
   :alt: wxGTK
   :figclass: floatcenter

   **wxGTK**


|




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

:class:`wx.lib.agw.aui.framemanager.AuiManager_DCP`

|


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

:class:`wx.EvtHandler`

|


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

================================================================================ ================================================================================
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.__init__`                         Default class constructor.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ActivatePane`                     Activates the pane to which `window` is associated.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AddPane`                          Tells the frame manager to start managing a child window. There
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AddPane1`                         See comments on :meth:`AddPane`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AddPane2`                         See comments on :meth:`AddPane`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AddPane3`                         See comments on :meth:`AddPane`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AddPane4`                         See comments on :meth:`AddPane`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.AnimateDocking`                   Animates the minimization/docking of a pane a la Eclipse, using a :class:`ScreenDC`
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CalculateDockSizerLimits`         Calculates the minimum and maximum sizes allowed for the input dock.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CalculateHintRect`                Calculates the drop hint rectangle.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CalculatePaneSizerLimits`         Calculates the minimum and maximum sizes allowed for the input pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CanDockPanel`                     Returns whether a pane can be docked or not.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CanUseModernDockArt`              Returns whether :class:`dockart` can be used (Windows XP / Vista / 7 only,
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CheckMovableSizer`                Checks if a UI part can be actually resized.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CheckPaneMove`                    Checks if a pane has moved by a visible amount.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ClosePane`                        Destroys or hides the pane depending on its flags.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CopyTarget`                       Copies all the attributes of the input `target` into another :class:`AuiPaneInfo`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CreateFloatingFrame`              Creates a floating frame for the windows.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CreateGuideWindows`               Creates the VS2005 HUD guide windows.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CreateHintWindow`                 Creates the standard wxAUI hint window.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CreateNotebook`                   Creates an automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` when a pane is docked on
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.CreateNotebookBase`               Creates an auto-notebook base from a pane, and then add that pane as a page.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DestroyGuideWindows`              Destroys the VS2005 HUD guide windows.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DestroyHintWindow`                Destroys the standard wxAUI hint window.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DetachPane`                       Tells the :class:`AuiManager` to stop managing the pane specified
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDrop`                           This is an important function. It basically takes a mouse position,
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropFloatingPane`               Handles the situation in which the dropped pane contains a normal window.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropLayer`                      Handles the situation in which `target` is a single dock guide.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropNonFloatingPane`            Handles the situation in which the dropped pane is not floating.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropPane`                       Drop a pane in the interface.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropRow`                        Insert a row in the interface before dropping.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDropToolbar`                    Handles the situation in which the dropped pane contains a toolbar.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoEndResizeAction`                Ends a resize action, or for live update, resizes the sash.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoFrameLayout`                    This is an internal function which invokes :meth:`wx.Sizer.Layout() <Sizer.Layout>`
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoUpdate`                         This method is called after any number of changes are made to any of the
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoUpdateEvt`                      
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DrawHintRect`                     Calculates the hint rectangle by calling :meth:`CalculateHintRect`. If there is a
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.DrawPaneButton`                   Draws a pane button in the caption (convenience function).
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.FireEvent`                        Fires one of the ``EVT_AUI_PANE_FLOATED`` / ``FLOATING`` / ``DOCKING`` / ``DOCKED`` / ``ACTIVATED`` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAGWFlags`                      Returns the current manager's flags.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAllPanes`                      Returns a reference to all the pane info structures.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAnimationStep`                 Returns the animation step speed (a float) to use in :meth:`AnimateDocking`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetArtProvider`                   Returns the current art provider being used.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAttributes`                    Returns all the attributes of a :class:`AuiPaneInfo`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAutoNotebookStyle`             Returns the default AGW-specific window style for automatic notebooks.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetAutoNotebookTabArt`            Returns the default tab art provider for automatic notebooks.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetDockPixelOffset`               This is an internal function which returns a dock's offset in pixels from
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetDockSizeConstraint`            Returns the current dock constraint values.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetFrame`                         Returns the window being managed by :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetManagedWindow`                 Returns the window being managed by :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetNotebooks`                     Returns all the automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` in the :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetOppositeDockTotalSize`         Returns the dimensions of the dock which lives opposite of the input dock.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPane`                          Looks up a :class:`AuiPaneInfo` structure based on the supplied window pointer. Upon failure,
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPaneByName`                    This version of :meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPane` looks up a pane based on a 'pane name'.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPaneByWidget`                  This version of :meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPane` looks up a pane based on a 'pane window'.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPanePart`                      Looks up the pane border UI part of the
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPanePositionsAndSizes`         Returns all the panes positions and sizes in a dock.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPartnerDock`                   Returns the partner dock for the input dock.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPartnerPane`                   Returns the partner pane for the input pane. They both need to live
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetPartSizerRect`                 Returns the rectangle surrounding the specified UI parts.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetSnapPosition`                  Returns the main frame snapping position.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.GetTotalPixSizeAndProportion`     Returns the dimensions and proportion of the input dock.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.HideHint`                         Hides a transparent window hint if there is one.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.HitTest`                          This is an internal function which determines
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.InsertPane`                       This method is used to insert either a previously unmanaged pane window
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.IsPaneButtonVisible`              Returns whether a pane button in the pane caption is visible.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.LayoutAddDock`                    Adds a dock into the existing layout.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.LayoutAddPane`                    Adds a pane into the existing layout (in an existing dock).
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.LayoutAll`                        Layouts all the UI structures in the interface.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.LoadPaneInfo`                     This method is similar to to :meth:`~wx.lib.agw.aui.framemanager.AuiManager.LoadPerspective` with the exception that
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.LoadPerspective`                  Loads a layout which was saved with :meth:`SavePerspective`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.MaximizePane`                     Maximizes the input pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.MinimizePane`                     Minimizes a pane in a newly and automatically created :class:`~wx.lib.agw.aui.auibar.AuiToolBar`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnCaptionDoubleClicked`           Handles the mouse double click on the pane caption.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnCaptureLost`                    Handles the ``wx.EVT_MOUSE_CAPTURE_LOST`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnChildFocus`                     Handles the ``wx.EVT_CHILD_FOCUS`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnClose`                          Called when the managed window is closed. Makes sure that :meth:`~wx.lib.agw.aui.framemanager.AuiManager.UnInit`
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnDestroy`                        Called when the managed window is destroyed. Makes sure that :meth:`~wx.lib.agw.aui.framemanager.AuiManager.UnInit`
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnEraseBackground`                Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnFindManager`                    Handles the ``EVT_AUI_FIND_MANAGER`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnFloatingPaneActivated`          Handles the activation event of a floating pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnFloatingPaneClosed`             Handles the close event of a floating pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnFloatingPaneMoved`              Handles the move event of a floating pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnFloatingPaneResized`            Handles the resizing of a floating pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnGripperClicked`                 Handles the mouse click on the pane gripper.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnHintFadeTimer`                  Handles the ``wx.EVT_TIMER`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeaveWindow`                    Handles the ``wx.EVT_LEAVE_WINDOW`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftDClick`                     Handles the ``wx.EVT_LEFT_DCLICK`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftDown`                       Handles the ``wx.EVT_LEFT_DOWN`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp`                         Handles the ``wx.EVT_LEFT_UP`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp_ClickButton`             Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp_DragFloatingPane`        Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp_DragMovablePane`         Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp_DragToolbarPane`         Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp_Resize`                  Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnLeftUp` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion`                         Handles the ``wx.EVT_MOTION`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_ClickCaption`            Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_DragFloatingPane`        Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_DragMovablePane`         Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_DragToolbarPane`         Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_Other`                   Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion_Resize`                  Sub-handler for the :meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMotion` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnMove`                           Handles the ``wx.EVT_MOVE`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnPaint`                          Handles the ``wx.EVT_PAINT`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnPaneButton`                     Handles the ``EVT_AUI_PANE_BUTTON`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnPaneDocked`                     Handles the ``EVT_AUI_PANE_DOCKED`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnRender`                         Draws all of the pane captions, sashes, backgrounds, captions, grippers, pane borders and buttons.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnRestoreMinimizedPane`           Handles the ``EVT_AUI_PANE_MIN_RESTORE`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnSetCursor`                      Handles the ``wx.EVT_SET_CURSOR`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnSize`                           Handles the ``wx.EVT_SIZE`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnSysColourChanged`               Handles the ``wx.EVT_SYS_COLOUR_CHANGED`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnTabBeginDrag`                   Handles the ``EVT_AUINOTEBOOK_BEGIN_DRAG`` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnTabEndDrag`                     Handles the ``EVT_AUINOTEBOOK_END_DRAG`` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnTabPageClose`                   Handles the ``EVT_AUINOTEBOOK_PAGE_CLOSE`` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.OnTabSelected`                    Handles the ``EVT_AUINOTEBOOK_PAGE_CHANGED`` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.PaneFromTabEvent`                 Returns a :class:`AuiPaneInfo` from a :class:`~wx.lib.agw.aui.auibook.AuiNotebook` event.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.PaneHitTest`                      Similar to :meth:`~wx.lib.agw.aui.framemanager.AuiManager.HitTest` but it checks in which :class:`AuiManager` rectangle the
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ProcessDockResult`                This is a utility function used by :meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoDrop` - it checks
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ProcessMgrEvent`                  Process the AUI events sent to the manager.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RefreshButton`                    Refreshes a pane button in the caption.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RefreshCaptions`                  Refreshes all pane captions.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RemoveAutoNBCaption`              Removes the caption on newly created automatic notebooks.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.Render`                           Fires a render event, which is normally handled by :meth:`OnRender`. This allows the
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.Repaint`                          Repaints the entire frame decorations (sashes, borders, buttons and so on).
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RepositionPane`                   Repositions a pane after the main frame has been moved/resized.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RequestUserAttention`             Requests the user attention by intermittently highlighting the pane caption.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RestoreMaximizedPane`             Restores the current maximized pane (if any).
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RestoreMinimizedPane`             Restores a previously minimized pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RestorePane`                      Restores the input pane from a previous maximized or minimized state.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.RestrictResize`                   Common method between :meth:`~wx.lib.agw.aui.framemanager.AuiManager.DoEndResizeAction` and :meth:`OnLeftUp_Resize`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SavePaneInfo`                     This method is similar to :meth:`~wx.lib.agw.aui.framemanager.AuiManager.SavePerspective` with the exception
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SavePerspective`                  Saves the entire user interface layout into an encoded string, which can then
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SavePreviousDockSizes`            Stores the previous dock sizes, to be used in a "restore" action later.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetAGWFlags`                      This method is used to specify :class:`AuiManager` 's settings flags.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetAnimationStep`                 Sets the animation step speed (a float) to use in :meth:`AnimateDocking`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetArtProvider`                   Instructs :class:`AuiManager` to use art provider specified by the parameter
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetAttributes`                    Sets all the attributes contained in `attrs` to a :class:`AuiPaneInfo`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetAutoNotebookStyle`             Sets the default AGW-specific window style for automatic notebooks.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetAutoNotebookTabArt`            Sets the default tab art provider for automatic notebooks.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetDockSizeConstraint`            When a user creates a new dock by dragging a window into a docked position,
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetFrame`                         Called to specify the frame or window which is to be managed by :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetManagedWindow`                 Called to specify the frame or window which is to be managed by :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetMasterManager`                 Sets the master manager for an automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SetSnapLimits`                    Modifies the snap limits used when snapping the `managed_window` to the screen
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ShowHint`                         Shows the AUI hint window.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.ShowPane`                         Shows or hides a pane based on the window passed as input.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SlideIn`                          Handles the ``wx.EVT_TIMER`` event for :class:`AuiManager`.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SlideOut`                         Slides out a preview of a minimized pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SmartShrink`                      Used to intelligently shrink the docks' size (if needed).
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SmoothDock`                       This method implements a smooth docking effect for floating panes, similar to
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.Snap`                             Snaps the main frame to specified position on the screen.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SnapPane`                         Snaps a floating pane to one of the main frame sides.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SnapToScreen`                     Snaps the main frame to specified position on the screen.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.StartPreviewTimer`                Starts a timer for sliding in and out a minimized pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.StopPreviewTimer`                 Stops a timer for sliding in and out a minimized pane.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.SwitchToolBarOrientation`         Switches the toolbar orientation from vertical to horizontal and vice-versa.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.UnInit`                           Uninitializes the framework and should be called before a managed frame or
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.Update`                           
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.UpdateButtonOnScreen`             Updates/redraws the UI part containing a pane button.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.UpdateDockingGuides`              Updates the docking guide windows positions and appearance.
:meth:`~wx.lib.agw.aui.framemanager.AuiManager.UpdateNotebook`                   Updates the automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` in the layout (if any exists).
================================================================================ ================================================================================


|


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


.. class:: AuiManager(wx.EvtHandler)

   AuiManager manages the panes associated with it for a particular :class:`wx.Frame`,
   using a pane's :class:`AuiManager` information to determine each pane's docking and
   floating behavior. :class:`AuiManager` uses wxPython's sizer mechanism to plan the
   layout of each frame. It uses a replaceable dock art class to do all drawing,
   so all drawing is localized in one area, and may be customized depending on an
   applications' specific needs.
   
   :class:`AuiManager` works as follows: the programmer adds panes to the class, or makes
   changes to existing pane properties (dock position, floating state, show state, etc...).
   To apply these changes, the :meth:`AuiManager.Update() <AuiManager.Update>` function is called. This batch
   processing can be used to avoid flicker, by modifying more than one pane at a time,
   and then "committing" all of the changes at once by calling `Update()`.
   
   Panes can be added quite easily::
   
       text1 = wx.TextCtrl(self, -1)
       text2 = wx.TextCtrl(self, -1)
       self._mgr.AddPane(text1, AuiPaneInfo().Left().Caption("Pane Number One"))
       self._mgr.AddPane(text2, AuiPaneInfo().Bottom().Caption("Pane Number Two"))
   
       self._mgr.Update()
   
   
   Later on, the positions can be modified easily. The following will float an
   existing pane in a tool window::
   
       self._mgr.GetPane(text1).Float()
   
   
   **Layers, Rows and Directions, Positions:**
   
   Inside AUI, the docking layout is figured out by checking several pane parameters.
   Four of these are important for determining where a pane will end up.
   
   **Direction** - Each docked pane has a direction, `Top`, `Bottom`, `Left`, `Right`, or `Center`.
   This is fairly self-explanatory. The pane will be placed in the location specified
   by this variable.
   
   **Position** - More than one pane can be placed inside of a "dock". Imagine two panes
   being docked on the left side of a window. One pane can be placed over another.
   In proportionally managed docks, the pane position indicates it's sequential position,
   starting with zero. So, in our scenario with two panes docked on the left side, the
   top pane in the dock would have position 0, and the second one would occupy position 1.
   
   **Row** - A row can allow for two docks to be placed next to each other. One of the most
   common places for this to happen is in the toolbar. Multiple toolbar rows are allowed,
   the first row being in row 0, and the second in row 1. Rows can also be used on
   vertically docked panes.
   
   **Layer** - A layer is akin to an onion. Layer 0 is the very center of the managed pane.
   Thus, if a pane is in layer 0, it will be closest to the center window (also sometimes
   known as the "content window"). Increasing layers "swallow up" all layers of a lower
   value. This can look very similar to multiple rows, but is different because all panes
   in a lower level yield to panes in higher levels. The best way to understand layers
   is by running the AUI sample (`AUI.py`).

   .. method:: __init__(self, managed_window=None, agwFlags=None)

      Default class constructor.
      
      :param wx.Window `managed_window`: specifies the window which should be managed;
      :param integer `agwFlags`: specifies options which allow the frame management behavior to be
       modified. `agwFlags` can be a combination of the following style bits:
      
       ==================================== ==================================
       Flag name                            Description
       ==================================== ==================================
       ``AUI_MGR_ALLOW_FLOATING``           Allow floating of panes
       ``AUI_MGR_ALLOW_ACTIVE_PANE``        If a pane becomes active, "highlight" it in the interface
       ``AUI_MGR_TRANSPARENT_DRAG``         If the platform supports it, set transparency on a floating pane while it is dragged by the user
       ``AUI_MGR_TRANSPARENT_HINT``         If the platform supports it, show a transparent hint window when the user is about to dock a floating pane
       ``AUI_MGR_VENETIAN_BLINDS_HINT``     Show a "venetian blind" effect when the user is about to dock a floating pane
       ``AUI_MGR_RECTANGLE_HINT``           Show a rectangle hint effect when the user is about to dock a floating pane
       ``AUI_MGR_HINT_FADE``                If the platform supports it, the hint window will fade in and out
       ``AUI_MGR_NO_VENETIAN_BLINDS_FADE``  Disables the "venetian blind" fade in and out
       ``AUI_MGR_LIVE_RESIZE``              Live resize when the user drag a sash
       ``AUI_MGR_ANIMATE_FRAMES``           Fade-out floating panes when they are closed (all platforms which support frames transparency)
                                            and show a moving rectangle when they are docked (Windows < Vista and GTK only)
       ``AUI_MGR_AERO_DOCKING_GUIDES``      Use the new Aero-style bitmaps as docking guides
       ``AUI_MGR_PREVIEW_MINIMIZED_PANES``  Slide in and out minimized panes to preview them
       ``AUI_MGR_WHIDBEY_DOCKING_GUIDES``   Use the new Whidbey-style bitmaps as docking guides
       ``AUI_MGR_SMOOTH_DOCKING``           Performs a "smooth" docking of panes (a la PyQT)
       ``AUI_MGR_USE_NATIVE_MINIFRAMES``    Use miniframes with native caption bar as floating panes instead or custom drawn caption bars (forced on wxMAC)
       ``AUI_MGR_AUTONB_NO_CAPTION``        Panes that merge into an automatic notebook will not have the pane caption visible
       ==================================== ==================================
      
      
       Default value for `agwFlags` is:
       ``AUI_MGR_DEFAULT`` = ``AUI_MGR_ALLOW_FLOATING`` | ``AUI_MGR_TRANSPARENT_HINT`` | ``AUI_MGR_HINT_FADE`` | ``AUI_MGR_NO_VENETIAN_BLINDS_FADE``
      
       .. note::
      
          If using the ``AUI_MGR_USE_NATIVE_MINIFRAMES``, double-clicking on a
          floating pane caption will not re-dock the pane, but simply maximize it (if
          :meth:`AuiPaneInfo.MaximizeButton` has been set to ``True``) or do nothing.


   .. method:: ActivatePane(self, window)

      Activates the pane to which `window` is associated.
      
      :param `window`: a :class:`wx.Window` derived window.


   .. method:: AddPane(self, window, arg1=None, arg2=None, target=None)

      Tells the frame manager to start managing a child window. There
      are four versions of this function. The first version allows the full spectrum
      of pane parameter possibilities (:meth:`AddPane1`). The second version is used for
      simpler user interfaces which do not require as much configuration (:meth:`AddPane2`).
      The :meth:`AddPane3` version allows a drop position to be specified, which will determine
      where the pane will be added. The :meth:`AddPane4` version allows to turn the target
      :class:`AuiPaneInfo` pane into a notebook and the added pane into a page.
      
      In your code, simply call :meth:`AddPane`.
      
      :param wx.Window `window`: the child window to manage;
      :param `arg1`: a :class:`AuiPaneInfo` or an integer value (direction);
      :param `arg2`: a :class:`AuiPaneInfo` or a :class:`wx.Point` (drop position);
      :param `target`: a :class:`AuiPaneInfo` to be turned into a notebook
       and new pane added to it as a page. (additionally, target can be any pane in
       an existing notebook)
       


   .. method:: AddPane1(self, window, pane_info)

      See comments on :meth:`AddPane`. 


   .. method:: AddPane2(self, window, direction, caption)

      See comments on :meth:`AddPane`. 


   .. method:: AddPane3(self, window, pane_info, drop_pos)

      See comments on :meth:`AddPane`. 


   .. method:: AddPane4(self, window, pane_info, target)

      See comments on :meth:`AddPane`. 


   .. method:: AnimateDocking(self, win_rect, pane_rect)

      Animates the minimization/docking of a pane a la Eclipse, using a :class:`ScreenDC`
      to draw a "moving docking rectangle" on the screen.
      
      :param wx.Rect `win_rect`: the original pane screen rectangle;
      :param wx.Rect `pane_rect`: the newly created toolbar/pane screen rectangle.
      
      :note: This functionality is not available on wxMAC as this platform doesn't have
       the ability to use :class:`ScreenDC` to draw on-screen and on Windows > Vista.


   .. method:: CalculateDockSizerLimits(self, dock)

      Calculates the minimum and maximum sizes allowed for the input dock.
      
      :param `dock`: the :class:`AuiDockInfo` structure to analyze.


   .. method:: CalculateHintRect(self, pane_window, pt, offset)

      Calculates the drop hint rectangle.
      
      The method first calls :meth:`DoDrop` to determine the exact position the pane would
      be at were if dropped. If the pane would indeed become docked at the
      specified drop point, the the rectangle hint will be returned in
      screen coordinates. Otherwise, an empty rectangle is returned.
      
      :param wx.Window `pane_window`: it is the window pointer of the pane being dragged;
      :param wx.Point `pt`: is the mouse position, in client coordinates;
      :param wx.Point `offset`: describes the offset that the mouse is from the upper-left
       corner of the item being dragged.


   .. method:: CalculatePaneSizerLimits(self, dock, pane)

      Calculates the minimum and maximum sizes allowed for the input pane.
      
      :param `dock`: the :class:`AuiDockInfo` structure to which `pane` belongs to;
      :param `pane`: a :class:`AuiPaneInfo` class for which calculation are requested.


   .. method:: CanDockPanel(self, p)

      Returns whether a pane can be docked or not.
      
      :param `p`: the :class:`AuiPaneInfo` class with all the pane's information.


   .. method:: CanUseModernDockArt(self)

      Returns whether :class:`dockart` can be used (Windows XP / Vista / 7 only,
      requires Mark Hammonds's `pywin32 <https://sourceforge.net/projects/pywin32/>`_ package).


   .. method:: CheckMovableSizer(self, part)

      Checks if a UI part can be actually resized.
      
      :param `part`: a UI part, an instance of :class:`AuiDockUIPart`.


   .. method:: CheckPaneMove(self, pane)

      Checks if a pane has moved by a visible amount.
      
      :param `pane`: an instance of :class:`AuiPaneInfo`.


   .. method:: ClosePane(self, pane_info)

      Destroys or hides the pane depending on its flags.
      
      :param `pane_info`: a :class:`AuiPaneInfo` instance.


   .. method:: CopyTarget(self, target)

      Copies all the attributes of the input `target` into another :class:`AuiPaneInfo`.
      
      :param `target`: the source :class:`AuiPaneInfo` from where to copy attributes.


   .. method:: CreateFloatingFrame(self, parent, pane_info)

      Creates a floating frame for the windows.
      
      :param wx.Window `parent`: the floating frame parent;
      :param `pane_info`: the :class:`AuiPaneInfo` class with all the pane's information.


   .. method:: CreateGuideWindows(self)

      Creates the VS2005 HUD guide windows. 


   .. method:: CreateHintWindow(self)

      Creates the standard wxAUI hint window. 


   .. method:: CreateNotebook(self)

      Creates an automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` when a pane is docked on
      top of another pane.


   .. method:: CreateNotebookBase(self, panes, paneInfo)

      Creates an auto-notebook base from a pane, and then add that pane as a page.
      
      :param list `panes`: set of panes to append new notebook base pane to
      :param `paneInfo`: the pane to be converted to a new notebook, an instance of
       :class:`AuiPaneInfo`.


   .. method:: DestroyGuideWindows(self)

      Destroys the VS2005 HUD guide windows. 


   .. method:: DestroyHintWindow(self)

      Destroys the standard wxAUI hint window. 


   .. method:: DetachPane(self, window)

      Tells the :class:`AuiManager` to stop managing the pane specified
      by `window`. The window, if in a floated frame, is reparented to the frame
      managed by :class:`AuiManager`.
      
      :param wx.Window `window`: the window to be un-managed.


   .. method:: DoDrop(self, docks, panes, target, pt, offset=wx.Point(0, 0))

      This is an important function. It basically takes a mouse position,
      and determines where the panes new position would be. If the pane is to be
      dropped, it performs the drop operation using the specified dock and pane
      arrays. By specifying copy dock and pane arrays when calling, a "what-if"
      scenario can be performed, giving precise coordinates for drop hints.
      
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param wx.Point `pt`: a mouse position to check for a drop operation;
      :param wx.Point `offset`: a possible offset from the input point `pt`.


   .. method:: DoDropFloatingPane(self, docks, panes, target, pt)

      Handles the situation in which the dropped pane contains a normal window.
      
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param `target`: the target pane containing the window, an instance of
       :class:`AuiPaneInfo`;
      :param wx.Point `pt`: a mouse position to check for a drop operation.


   .. method:: DoDropLayer(self, docks, target, dock_direction)

      Handles the situation in which `target` is a single dock guide.
      
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `target`: the target pane, an instance of :class:`AuiPaneInfo`;
      :param integer `dock_direction`: the docking direction.


   .. method:: DoDropNonFloatingPane(self, docks, panes, target, pt)

      Handles the situation in which the dropped pane is not floating.
      
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param `target`: the target pane containing the toolbar, an instance of :class:`AuiPaneInfo`;
      :param wx.Point `pt`: a mouse position to check for a drop operation.


   .. method:: DoDropPane(self, panes, target, dock_direction, dock_layer, dock_row, dock_pos)

      Drop a pane in the interface.
      
      :param `panes`: a list of :class:`AuiPaneInfo` classes;
      :param `target`: the target pane, an instance of :class:`AuiPaneInfo`;
      :param integer `dock_direction`: the docking direction;
      :param integer `dock_layer`: the docking layer;
      :param integer `dock_row`: the docking row;
      :param integer `dock_pos`: the docking position.


   .. method:: DoDropRow(self, panes, target, dock_direction, dock_layer, dock_row)

      Insert a row in the interface before dropping.
      
      :param `panes`: a list of :class:`AuiPaneInfo` classes;
      :param `target`: the target pane, an instance of :class:`AuiPaneInfo`;
      :param integer `dock_direction`: the docking direction;
      :param integer `dock_layer`: the docking layer;
      :param integer `dock_row`: the docking row.


   .. method:: DoDropToolbar(self, docks, panes, target, pt, offset)

      Handles the situation in which the dropped pane contains a toolbar.
      
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param `target`: the target pane containing the toolbar, an instance of :class:`AuiPaneInfo`;
      :param wx.Point `pt`: a mouse position to check for a drop operation;
      :param wx.Point `offset`: a possible offset from the input point `pt`.


   .. method:: DoEndResizeAction(self, event)

      Ends a resize action, or for live update, resizes the sash.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: DoFrameLayout(self)

      This is an internal function which invokes :meth:`wx.Sizer.Layout() <Sizer.Layout>`
      on the frame's main sizer, then measures all the various UI items
      and updates their internal rectangles.
      
      :note: This should always be called instead of calling
       `self._managed_window.Layout()` directly.


   .. method:: DoUpdate(self)

      This method is called after any number of changes are made to any of the
      managed panes. :meth:`Update` must be invoked after :meth:`AddPane`
      or :meth:`InsertPane` are called in order to "realize" or "commit" the changes.
      
      In addition, any number of changes may be made to :class:`AuiManager` structures
      (retrieved with :meth:`GetPane`), but to realize the changes, :meth:`Update`
      must be called. This construction allows pane flicker to be avoided by updating
      the whole layout at one time.


   .. method:: DoUpdateEvt(self, evt)


   .. method:: DrawHintRect(self, pane_window, pt, offset)

      Calculates the hint rectangle by calling :meth:`CalculateHintRect`. If there is a
      rectangle, it shows it by calling :meth:`ShowHint`, otherwise it hides any hint
      rectangle currently shown.
      
      :param wx.Window `pane_window`: it is the window pointer of the pane being dragged;
      :param wx.Point `pt`: is the mouse position, in client coordinates;
      :param wx.Point `offset`: describes the offset that the mouse is from the upper-left
       corner of the item being dragged.


   .. method:: DrawPaneButton(self, dc, part, pt)

      Draws a pane button in the caption (convenience function).
      
      :param `dc`: a :class:`wx.DC` device context object;
      :param `part`: the UI part to analyze, an instance of :class:`AuiDockUIPart`;
      :param wx.Point `pt`: the mouse location.


   .. method:: FireEvent(self, evtType, pane, canVeto=False)

      Fires one of the ``EVT_AUI_PANE_FLOATED`` / ``FLOATING`` / ``DOCKING`` / ``DOCKED`` / ``ACTIVATED`` event.
      
      :param integer `evtType`: one of the aforementioned events;
      :param `pane`: the :class:`AuiPaneInfo` instance associated to this event;
      :param bool `canVeto`: whether the event can be vetoed or not.


   .. method:: GetAGWFlags(self)

      Returns the current manager's flags.
      
      :see: :meth:`SetAGWFlags` for a list of possible :class:`AuiManager` flags.


   .. method:: GetAllPanes(self)

      Returns a reference to all the pane info structures. 


   .. method:: GetAnimationStep(self)

      Returns the animation step speed (a float) to use in :meth:`AnimateDocking`. 


   .. method:: GetArtProvider(self)

      Returns the current art provider being used. 


   .. method:: GetAttributes(self, pane)

      Returns all the attributes of a :class:`AuiPaneInfo`.
      
      :param `pane`: a :class:`AuiPaneInfo` instance.


   .. method:: GetAutoNotebookStyle(self)

      Returns the default AGW-specific window style for automatic notebooks.
      
      :see: :meth:`SetAutoNotebookStyle` method for a list of possible styles.


   .. method:: GetAutoNotebookTabArt(self)

      Returns the default tab art provider for automatic notebooks. 


   .. method:: GetDockPixelOffset(self, test)

      This is an internal function which returns a dock's offset in pixels from
      the left side of the window (for horizontal docks) or from the top of the
      window (for vertical docks).
      
      This value is necessary for calculating fixed-pane/toolbar offsets
      when they are dragged.
      
      :param `test`: a fake :class:`AuiPaneInfo` for testing purposes.


   .. method:: GetDockSizeConstraint(self)

      Returns the current dock constraint values.
      
      :see: :meth:`SetDockSizeConstraint`


   .. method:: GetFrame(self)

      Returns the window being managed by :class:`AuiManager`.
      
      .. deprecated:: 0.6
         This method is now deprecated, use :meth:`GetManagedWindow` instead.


   .. method:: GetManagedWindow(self)

      Returns the window being managed by :class:`AuiManager`. 


   .. method:: GetNotebooks(self)

      Returns all the automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` in the :class:`AuiManager`. 


   .. method:: GetOppositeDockTotalSize(self, docks, direction)

      Returns the dimensions of the dock which lives opposite of the input dock.
      
      :param `docks`: a list of :class:`AuiDockInfo` structures to analyze;
      :param integer `direction`: the direction in which to look for the opposite dock.


   .. method:: GetPane(self, item)

      Looks up a :class:`AuiPaneInfo` structure based on the supplied window pointer. Upon failure,
      :meth:`GetPane` returns an empty :class:`AuiPaneInfo`, a condition which can be checked
      by calling :meth:`AuiPaneInfo.IsOk() <AuiPaneInfo.IsOk>`.
      
      The pane info's structure may then be modified. Once a pane's info is modified, :meth:`Update`
      must be called to realize the changes in the UI.
      
      :param `item`: either a pane name or a :class:`wx.Window`.


   .. method:: GetPaneByName(self, name)

      This version of :meth:`GetPane` looks up a pane based on a 'pane name'.
      
      :param string `name`: the pane name.
      
      :see: :meth:`GetPane`


   .. method:: GetPaneByWidget(self, window)

      This version of :meth:`GetPane` looks up a pane based on a 'pane window'.
      
      :param `window`: a :class:`wx.Window` derived window.
      
      :see: :meth:`~AuiManager.GetPane`


   .. method:: GetPanePart(self, wnd)

      Looks up the pane border UI part of the
      pane specified. This allows the caller to get the exact rectangle
      of the pane in question, including decorations like caption and border.
      
      :param wx.Window `wnd`: the window to which the pane border belongs to.


   .. method:: GetPanePositionsAndSizes(self, dock)

      Returns all the panes positions and sizes in a dock.
      
      :param `dock`: a :class:`AuiDockInfo` instance.


   .. method:: GetPartnerDock(self, dock)

      Returns the partner dock for the input dock.
      
      :param `dock`: a :class:`AuiDockInfo` instance.


   .. method:: GetPartnerPane(self, dock, pane)

      Returns the partner pane for the input pane. They both need to live
      in the same :class:`AuiDockInfo`.
      
      :param `dock`: a :class:`AuiDockInfo` instance;
      :param `pane`: a :class:`AuiPaneInfo` class.


   .. method:: GetPartSizerRect(self, uiparts)

      Returns the rectangle surrounding the specified UI parts.
      
      :param list `uiparts`: list of :class:`AuiDockUIPart` parts.


   .. method:: GetSnapPosition(self)

      Returns the main frame snapping position. 


   .. method:: GetTotalPixSizeAndProportion(self, dock)

      Returns the dimensions and proportion of the input dock.
      
      :param `dock`: the :class:`AuiDockInfo` structure to analyze.


   .. method:: HideHint(self)

      Hides a transparent window hint if there is one. 


   .. method:: HitTest(self, x, y)

      This is an internal function which determines
      which UI item the specified coordinates are over.
      
      :param integer `x`: specifies a x position in client coordinates;
      :param integer `y`: specifies a y position in client coordinates.


   .. method:: InsertPane(self, window, pane_info, insert_level=AUI_INSERT_PANE)

      This method is used to insert either a previously unmanaged pane window
      into the frame manager, or to insert a currently managed pane somewhere else.
      :meth:`InsertPane` will push all panes, rows, or docks aside and insert the window
      into the position specified by `pane_info`.
      
      Because `pane_info` can specify either a pane, dock row, or dock layer, the
      `insert_level` parameter is used to disambiguate this. The parameter `insert_level`
      can take a value of ``AUI_INSERT_PANE``, ``AUI_INSERT_ROW`` or ``AUI_INSERT_DOCK``.
      
      :param wx.Window `window`: the window to be inserted and managed;
      :param `pane_info`: the insert location for the new window;
      :param integer `insert_level`: the insertion level of the new pane.


   .. method:: IsPaneButtonVisible(self, part)

      Returns whether a pane button in the pane caption is visible.
      
      :param `part`: the UI part to analyze, an instance of :class:`AuiDockUIPart`.


   .. method:: LayoutAddDock(self, cont, dock, uiparts, spacer_only)

      Adds a dock into the existing layout.
      
      :param `cont`: a :class:`wx.Sizer` object;
      :param `dock`: the :class:`AuiDockInfo` structure to add to the layout;
      :param `uiparts`: a list of UI parts in the interface;
      :param bool `spacer_only`: whether to add a simple spacer or a real window.


   .. method:: LayoutAddPane(self, cont, dock, pane, uiparts, spacer_only)

      Adds a pane into the existing layout (in an existing dock).
      
      :param `cont`: a :class:`wx.Sizer` object;
      :param `dock`: the :class:`AuiDockInfo` structure in which to add the pane;
      :param `pane`: the :class:`AuiPaneInfo` instance to add to the dock;
      :param `uiparts`: a list of UI parts in the interface;
      :param bool `spacer_only`: whether to add a simple spacer or a real window.


   .. method:: LayoutAll(self, panes, docks, uiparts, spacer_only=False, oncheck=True)

      Layouts all the UI structures in the interface.
      
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param `docks`: a list of :class:`AuiDockInfo` classes;
      :param `uiparts`: a list of UI parts in the interface;
      :param bool `spacer_only`: whether to add a simple spacer or a real window;
      :param bool `oncheck`: whether to store the results in a class member or not.


   .. method:: LoadPaneInfo(self, pane_part, pane)

      This method is similar to to :meth:`LoadPerspective`, with the exception that
      it only loads information about a single pane. It is used in combination
      with :meth:`SavePaneInfo`.
      
      :param string `pane_part`: the string to analyze;
      :param `pane`: the :class:`AuiPaneInfo` structure in which to load `pane_part`.


   .. method:: LoadPerspective(self, layout, update=True, restorecaption=False)

      Loads a layout which was saved with :meth:`SavePerspective`.
      
      If the `update` flag parameter is ``True``, :meth:`Update` will be
      automatically invoked, thus realizing the saved perspective on screen.
      
      :param string `layout`: a string which contains a saved AUI layout;
      :param bool `update`: whether to update immediately the window or not;
      :param bool `restorecaption`: ``False``, restore from persist storage,
       otherwise use the caption defined in code.


   .. method:: MaximizePane(self, pane_info, savesizes=True)

      Maximizes the input pane.
      
      :param `pane_info`: a :class:`AuiPaneInfo` instance.
      :param bool `savesizes`: whether to save previous dock sizes.


   .. method:: MinimizePane(self, paneInfo, mgrUpdate=True)

      Minimizes a pane in a newly and automatically created :class:`~wx.lib.agw.aui.auibar.AuiToolBar`.
      
      Clicking on the minimize button causes a new :class:`~wx.lib.agw.aui.auibar.AuiToolBar` to be created
      and added to the frame manager (currently the implementation is such that
      panes at West will have a toolbar at the right, panes at South will have
      toolbars at the bottom etc...) and the pane is hidden in the manager.
      
      Clicking on the restore button on the newly created toolbar will result in the
      toolbar being removed and the original pane being restored.
      
      :param `paneInfo`: a :class:`AuiPaneInfo` instance for the pane to be minimized;
      :param bool `mgrUpdate`: ``True`` to call :meth:`Update` to realize the new layout,
       ``False`` otherwise.
      
      .. note::
      
         The `mgrUpdate` parameter is currently only used while loading perspectives using
         :meth:`LoadPerspective`, as minimized panes were not correctly taken into account before.


   .. method:: OnCaptionDoubleClicked(self, pane_window)

      Handles the mouse double click on the pane caption.
      
      :param wx.Window `pane_window`: the window managed by the pane.


   .. method:: OnCaptureLost(self, event)

      Handles the ``wx.EVT_MOUSE_CAPTURE_LOST`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseCaptureLostEvent` to be processed.


   .. method:: OnChildFocus(self, event)

      Handles the ``wx.EVT_CHILD_FOCUS`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`ChildFocusEvent` to be processed.


   .. method:: OnClose(self, event)

      Called when the managed window is closed. Makes sure that :meth:`UnInit`
      is called.


   .. method:: OnDestroy(self, event)

      Called when the managed window is destroyed. Makes sure that :meth:`UnInit`
      is called.


   .. method:: OnEraseBackground(self, event)

      Handles the ``wx.EVT_ERASE_BACKGROUND`` event for :class:`AuiManager`.
      
      :param `event`: :class:`EraseEvent` to be processed.
      
      :note: This is intentionally empty (excluding wxMAC) to reduce
       flickering while drawing.


   .. method:: OnFindManager(self, event)

      Handles the ``EVT_AUI_FIND_MANAGER`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`AuiManagerEvent` event to be processed.


   .. method:: OnFloatingPaneActivated(self, wnd)

      Handles the activation event of a floating pane.
      
      :param wx.Window `wnd`: the window managed by the pane.


   .. method:: OnFloatingPaneClosed(self, wnd, event)

      Handles the close event of a floating pane.
      
      :param wx.Window `wnd`: the window managed by the pane;
      :param `event`: a :class:`CloseEvent` to be processed.


   .. method:: OnFloatingPaneMoved(self, wnd, eventOrPt)

      Handles the move event of a floating pane.
      
      :param wx.Window `wnd`: the window managed by the pane;
      :param `eventOrPt`: a :class:`MoveEvent` to be processed or an instance of :class:`wx.Point`.


   .. method:: OnFloatingPaneResized(self, wnd, size)

      Handles the resizing of a floating pane.
      
      :param wx.Window `wnd`: the window managed by the pane;
      :param wx.Size `size`: the new pane floating size.


   .. method:: OnGripperClicked(self, pane_window, start, offset)

      Handles the mouse click on the pane gripper.
      
      :param wx.Window `pane_window`: the window managed by the pane;
      :param wx.Point `start`: the mouse-click position;
      :param wx.Point `offset`: an offset point from the `start` position.


   .. method:: OnHintFadeTimer(self, event)

      Handles the ``wx.EVT_TIMER`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`TimerEvent` to be processed.


   .. method:: OnLeaveWindow(self, event)

      Handles the ``wx.EVT_LEAVE_WINDOW`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftDClick(self, event)

      Handles the ``wx.EVT_LEFT_DCLICK`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftDown(self, event)

      Handles the ``wx.EVT_LEFT_DOWN`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp(self, event)

      Handles the ``wx.EVT_LEFT_UP`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp_ClickButton(self, event)

      Sub-handler for the :meth:`OnLeftUp` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp_DragFloatingPane(self, eventOrPt)

      Sub-handler for the :meth:`OnLeftUp` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp_DragMovablePane(self, event)

      Sub-handler for the :meth:`OnLeftUp` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp_DragToolbarPane(self, eventOrPt)

      Sub-handler for the :meth:`OnLeftUp` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnLeftUp_Resize(self, event)

      Sub-handler for the :meth:`OnLeftUp` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion(self, event)

      Handles the ``wx.EVT_MOTION`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_ClickCaption(self, event)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_DragFloatingPane(self, eventOrPt)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_DragMovablePane(self, eventOrPt)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_DragToolbarPane(self, eventOrPt)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_Other(self, event)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMotion_Resize(self, event)

      Sub-handler for the :meth:`OnMotion` event.
      
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: OnMove(self, event)

      Handles the ``wx.EVT_MOVE`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`MoveEvent` to be processed.


   .. method:: OnPaint(self, event)

      Handles the ``wx.EVT_PAINT`` event for :class:`AuiManager`.
      
      :param `event`: an instance of :class:`PaintEvent` to be processed.


   .. method:: OnPaneButton(self, event)

      Handles the ``EVT_AUI_PANE_BUTTON`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`AuiManagerEvent` event to be processed.


   .. method:: OnPaneDocked(self, event)

      Handles the ``EVT_AUI_PANE_DOCKED`` event for :class:`AuiManager`.
      
      :param `event`: an instance of :class:`AuiManagerEvent` to be processed.


   .. method:: OnRender(self, event)

      Draws all of the pane captions, sashes, backgrounds, captions, grippers, pane borders and buttons.
      It renders the entire user interface. It binds the ``EVT_AUI_RENDER`` event.
      
      :param `event`: an instance of :class:`AuiManagerEvent`.


   .. method:: OnRestoreMinimizedPane(self, event)

      Handles the ``EVT_AUI_PANE_MIN_RESTORE`` event for :class:`AuiManager`.
      
      :param `event`: an instance of :class:`AuiManagerEvent` to be processed.


   .. method:: OnSetCursor(self, event)

      Handles the ``wx.EVT_SET_CURSOR`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`SetCursorEvent` to be processed.


   .. method:: OnSize(self, event)

      Handles the ``wx.EVT_SIZE`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`wx.SizeEvent` to be processed.


   .. method:: OnSysColourChanged(self, event)

      Handles the ``wx.EVT_SYS_COLOUR_CHANGED`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`SysColourChangedEvent` to be processed.


   .. method:: OnTabBeginDrag(self, event)

      Handles the ``EVT_AUINOTEBOOK_BEGIN_DRAG`` event.
      
      :param `event`: a :class:`~wx.lib.agw.aui.auibook.AuiNotebookEvent` event to be processed.


   .. method:: OnTabEndDrag(self, event)

      Handles the ``EVT_AUINOTEBOOK_END_DRAG`` event.
      
      :param `event`: a :class:`~wx.lib.agw.aui.auibook.AuiNotebookEvent` event to be processed.


   .. method:: OnTabPageClose(self, event)

      Handles the ``EVT_AUINOTEBOOK_PAGE_CLOSE`` event.
      
      :param `event`: a :class:`~wx.lib.agw.aui.auibook.AuiNotebookEvent` event to be processed.


   .. method:: OnTabSelected(self, event)

      Handles the ``EVT_AUINOTEBOOK_PAGE_CHANGED`` event.
      
      :param `event`: a :class:`~wx.lib.agw.aui.auibook.AuiNotebookEvent` event to be processed.


   .. method:: PaneFromTabEvent(self, event)

      Returns a :class:`AuiPaneInfo` from a :class:`~wx.lib.agw.aui.auibook.AuiNotebook` event.
      
      :param `event`: a :class:`~wx.lib.agw.aui.auibook.AuiNotebookEvent` event.


   .. method:: PaneHitTest(self, panes, pt)

      Similar to :meth:`HitTest`, but it checks in which :class:`AuiManager` rectangle the
      input point belongs to.
      
      :param `panes`: a list of :class:`AuiPaneInfo` instances;
      :param wx.Point `pt`: the mouse position.


   .. method:: ProcessDockResult(self, target, new_pos)

      This is a utility function used by :meth:`DoDrop` - it checks
      if a dock operation is allowed, the new dock position is copied into
      the target info. If the operation was allowed, the function returns ``True``.
      
      :param `target`: the :class:`AuiPaneInfo` instance to be docked;
      :param integer `new_pos`: the new docking position if the docking operation is allowed.


   .. method:: ProcessMgrEvent(self, event)

      Process the AUI events sent to the manager.
      
      :param `event`: the event to process, an instance of :class:`AuiManagerEvent`.


   .. method:: RefreshButton(self, part)

      Refreshes a pane button in the caption.
      
      :param `part`: the UI part to analyze, an instance of :class:`AuiDockUIPart`.


   .. method:: RefreshCaptions(self)

      Refreshes all pane captions. 


   .. method:: RemoveAutoNBCaption(self, pane)

      Removes the caption on newly created automatic notebooks.
      
      :param `pane`: an instance of :class:`AuiPaneInfo` (the target notebook).


   .. method:: Render(self, dc)

      Fires a render event, which is normally handled by :meth:`OnRender`. This allows the
      render function to be overridden via the render event.
      
      This can be useful for painting custom graphics in the main window.
      Default behavior can be invoked in the overridden function by calling
      :meth:`OnRender`.
      
      :param `dc`: a :class:`wx.DC` device context object.


   .. method:: Repaint(self, dc=None)

      Repaints the entire frame decorations (sashes, borders, buttons and so on).
      It renders the entire user interface.
      
      :param `dc`: if not ``None``, an instance of :class:`PaintDC`.


   .. method:: RepositionPane(self, pane, wnd_pos, wnd_size)

      Repositions a pane after the main frame has been moved/resized.
      
      :param `pane`: a :class:`AuiPaneInfo` instance;
      :param wx.Point `wnd_pos`: the main frame position;
      :param wx.Size `wnd_size`: the main frame size.


   .. method:: RequestUserAttention(self, pane_window)

      Requests the user attention by intermittently highlighting the pane caption.
      
      :param wx.Window `pane_window`: the window managed by the pane;


   .. method:: RestoreMaximizedPane(self)

      Restores the current maximized pane (if any). 


   .. method:: RestoreMinimizedPane(self, paneInfo)

      Restores a previously minimized pane.
      
      :param `paneInfo`: a :class:`AuiPaneInfo` instance for the pane to be restored.


   .. method:: RestorePane(self, pane_info)

      Restores the input pane from a previous maximized or minimized state.
      
      :param `pane_info`: a :class:`AuiPaneInfo` instance.


   .. method:: RestrictResize(self, clientPt, screenPt, createDC)

      Common method between :meth:`DoEndResizeAction` and :meth:`OnLeftUp_Resize`. 


   .. method:: SavePaneInfo(self, pane)

      This method is similar to :meth:`SavePerspective`, with the exception
      that it only saves information about a single pane. It is used in
      combination with :meth:`LoadPaneInfo`.
      
      :param `pane`: a :class:`AuiPaneInfo` instance to save.


   .. method:: SavePerspective(self)

      Saves the entire user interface layout into an encoded string, which can then
      be stored by the application (probably using :class:`Config <ConfigBase>`).
      
      When a perspective is restored using :meth:`LoadPerspective`, the entire user
      interface will return to the state it was when the perspective was saved.


   .. method:: SavePreviousDockSizes(self, pane_info)

      Stores the previous dock sizes, to be used in a "restore" action later.
      
      :param `pane_info`: a :class:`AuiPaneInfo` instance.


   .. method:: SetAGWFlags(self, agwFlags)

      This method is used to specify :class:`AuiManager` 's settings flags.
      
      :param integer `agwFlags`: specifies options which allow the frame management behavior
       to be modified. `agwFlags` can be one of the following style bits:
      
       ==================================== ==================================
       Flag name                            Description
       ==================================== ==================================
       ``AUI_MGR_ALLOW_FLOATING``           Allow floating of panes
       ``AUI_MGR_ALLOW_ACTIVE_PANE``        If a pane becomes active, "highlight" it in the interface
       ``AUI_MGR_TRANSPARENT_DRAG``         If the platform supports it, set transparency on a floating pane while it is dragged by the user
       ``AUI_MGR_TRANSPARENT_HINT``         If the platform supports it, show a transparent hint window when the user is about to dock a floating pane
       ``AUI_MGR_VENETIAN_BLINDS_HINT``     Show a "venetian blind" effect when the user is about to dock a floating pane
       ``AUI_MGR_RECTANGLE_HINT``           Show a rectangle hint effect when the user is about to dock a floating pane
       ``AUI_MGR_HINT_FADE``                If the platform supports it, the hint window will fade in and out
       ``AUI_MGR_NO_VENETIAN_BLINDS_FADE``  Disables the "venetian blind" fade in and out
       ``AUI_MGR_LIVE_RESIZE``              Live resize when the user drag a sash
       ``AUI_MGR_ANIMATE_FRAMES``           Fade-out floating panes when they are closed (all platforms which support frames transparency)
                                            and show a moving rectangle when they are docked (Windows < Vista and GTK only)
       ``AUI_MGR_AERO_DOCKING_GUIDES``      Use the new Aero-style bitmaps as docking guides
       ``AUI_MGR_PREVIEW_MINIMIZED_PANES``  Slide in and out minimized panes to preview them
       ``AUI_MGR_WHIDBEY_DOCKING_GUIDES``   Use the new Whidbey-style bitmaps as docking guides
       ``AUI_MGR_SMOOTH_DOCKING``           Performs a "smooth" docking of panes (a la PyQT)
       ``AUI_MGR_USE_NATIVE_MINIFRAMES``    Use miniframes with native caption bar as floating panes instead or custom drawn caption bars (forced on wxMAC)
       ``AUI_MGR_AUTONB_NO_CAPTION``        Panes that merge into an automatic notebook will not have the pane caption visible
       ==================================== ==================================
      
       .. note::
      
          If using the ``AUI_MGR_USE_NATIVE_MINIFRAMES``, double-clicking on a
          floating pane caption will not re-dock the pane, but simply maximize it (if
          :meth:`AuiPaneInfo.MaximizeButton` has been set to ``True``) or do nothing.


   .. method:: SetAnimationStep(self, step)

      Sets the animation step speed (a float) to use in :meth:`AnimateDocking`.
      
      :param float `step`: the animation speed.


   .. method:: SetArtProvider(self, art_provider)

      Instructs :class:`AuiManager` to use art provider specified by the parameter
      `art_provider` for all drawing calls. This allows pluggable look-and-feel
      features.
      
      :param `art_provider`: a AUI dock art provider.
      
      :note: The previous art provider object, if any, will be deleted by :class:`AuiManager`.


   .. method:: SetAttributes(self, pane, attrs)

      Sets all the attributes contained in `attrs` to a :class:`AuiPaneInfo`.
      
      :param `pane`: a :class:`AuiPaneInfo` instance;
      :param list `attrs`: a list of attributes.


   .. method:: SetAutoNotebookStyle(self, agwStyle)

      Sets the default AGW-specific window style for automatic notebooks.
      
      :param integer `agwStyle`: the underlying :class:`~wx.lib.agw.aui.auibook.AuiNotebook` window style.
       This can be a combination of the following bits:
      
       ==================================== ==================================
       Flag name                            Description
       ==================================== ==================================
       ``AUI_NB_TOP``                       With this style, tabs are drawn along the top of the notebook
       ``AUI_NB_LEFT``                      With this style, tabs are drawn along the left of the notebook. Not implemented yet.
       ``AUI_NB_RIGHT``                     With this style, tabs are drawn along the right of the notebook. Not implemented yet.
       ``AUI_NB_BOTTOM``                    With this style, tabs are drawn along the bottom of the notebook
       ``AUI_NB_TAB_SPLIT``                 Allows the tab control to be split by dragging a tab
       ``AUI_NB_TAB_MOVE``                  Allows a tab to be moved horizontally by dragging
       ``AUI_NB_TAB_EXTERNAL_MOVE``         Allows a tab to be moved to another tab control
       ``AUI_NB_TAB_FIXED_WIDTH``           With this style, all tabs have the same width
       ``AUI_NB_SCROLL_BUTTONS``            With this style, left and right scroll buttons are displayed
       ``AUI_NB_WINDOWLIST_BUTTON``         With this style, a drop-down list of windows is available
       ``AUI_NB_CLOSE_BUTTON``              With this style, a close button is available on the tab bar
       ``AUI_NB_CLOSE_ON_ACTIVE_TAB``       With this style, a close button is available on the active tab
       ``AUI_NB_CLOSE_ON_ALL_TABS``         With this style, a close button is available on all tabs
       ``AUI_NB_MIDDLE_CLICK_CLOSE``        Allows to close :class:`~wx.lib.agw.aui.auibook.AuiNotebook` tabs by mouse middle button click
       ``AUI_NB_SUB_NOTEBOOK``              This style is used by :class:`AuiManager` to create automatic AuiNotebooks
       ``AUI_NB_HIDE_ON_SINGLE_TAB``        Hides the tab window if only one tab is present
       ``AUI_NB_SMART_TABS``                Use Smart Tabbing, like ``Alt`` + ``Tab`` on Windows
       ``AUI_NB_USE_IMAGES_DROPDOWN``       Uses images on dropdown window list menu instead of check items
       ``AUI_NB_CLOSE_ON_TAB_LEFT``         Draws the tab close button on the left instead of on the right (a la Camino browser)
       ``AUI_NB_TAB_FLOAT``                 Allows the floating of single tabs. Known limitation: when the notebook is more or less
                                            full screen, tabs cannot be dragged far enough outside of the notebook to become floating pages
       ``AUI_NB_DRAW_DND_TAB``              Draws an image representation of a tab while dragging (on by default)
       ``AUI_NB_ORDER_BY_ACCESS``           Tab navigation order by last access time for the tabs
       ``AUI_NB_NO_TAB_FOCUS``              Don't draw tab focus rectangle
       ==================================== ==================================


   .. method:: SetAutoNotebookTabArt(self, art)

      Sets the default tab art provider for automatic notebooks.
      
      :param `art`: a tab art provider.


   .. method:: SetDockSizeConstraint(self, width_pct, height_pct)

      When a user creates a new dock by dragging a window into a docked position,
      often times the large size of the window will create a dock that is unwieldy
      large.
      
      :class:`AuiManager` by default limits the size of any new dock to 1/3 of the window
      size. For horizontal docks, this would be 1/3 of the window height. For vertical
      docks, 1/3 of the width. Calling this function will adjust this constraint value.
      
      The numbers must be between 0.0 and 1.0. For instance, calling :meth:`SetDockSizeConstraint`
      with (0.5, 0.5) will cause new docks to be limited to half of the size of the entire
      managed window.
      
      :param float `width_pct`: a number representing the `x` dock size constraint;
      :param float `width_pct`: a number representing the `y` dock size constraint.


   .. method:: SetFrame(self, managed_window)

      Called to specify the frame or window which is to be managed by :class:`AuiManager`.
      Frame management is not restricted to just frames. Child windows or custom
      controls are also allowed.
      
      :param wx.Window `managed_window`: specifies the window which should be managed by
       the AUI manager.
      
      .. deprecated:: 0.6
         This method is now deprecated, use :meth:`SetManagedWindow` instead.


   .. method:: SetManagedWindow(self, managed_window)

      Called to specify the frame or window which is to be managed by :class:`AuiManager`.
      Frame management is not restricted to just frames. Child windows or custom
      controls are also allowed.
      
      :param wx.Window `managed_window`: specifies the window which should be managed by
       the AUI manager.


   .. method:: SetMasterManager(self, manager)

      Sets the master manager for an automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook`.
      
      :param `manager`: an instance of :class:`AuiManager`.


   .. method:: SetSnapLimits(self, x, y)

      Modifies the snap limits used when snapping the `managed_window` to the screen
      (using :meth:`SnapToScreen`) or when snapping the floating panes to one side of the
      `managed_window` (using :meth:`SnapPane`).
      
      To change the limit after which the `managed_window` or the floating panes are
      automatically stickled to the screen border (or to the `managed_window` side),
      set these two variables. Default values are 15 pixels.
      
      :param integer `x`: the minimum horizontal distance below which the snap occurs;
      :param integer `y`: the minimum vertical distance below which the snap occurs.


   .. method:: ShowHint(self, rect)

      Shows the AUI hint window.
      
      :param wx.Rect `rect`: the hint rect calculated in advance.


   .. method:: ShowPane(self, window, show)

      Shows or hides a pane based on the window passed as input.
      
      :param wx.Window `window`: any subclass or derivation of :class:`wx.Window`;
      :param bool `show`: ``True`` to show the pane, ``False`` otherwise.


   .. method:: SlideIn(self, event)

      Handles the ``wx.EVT_TIMER`` event for :class:`AuiManager`.
      
      :param `event`: a :class:`TimerEvent` to be processed.
      
      :note: This is used solely for sliding in and out minimized panes.


   .. method:: SlideOut(self)

      Slides out a preview of a minimized pane.
      
      :note: This is used solely for sliding in and out minimized panes.


   .. method:: SmartShrink(self, docks, direction)

      Used to intelligently shrink the docks' size (if needed).
      
      :param `docks`: a list of :class:`AuiDockInfo` instances;
      :param integer `direction`: the direction in which to shrink.


   .. method:: SmoothDock(self, paneInfo)

      This method implements a smooth docking effect for floating panes, similar to
      what the PyQT library does with its floating windows.
      
      :param `paneInfo`: an instance of :class:`AuiPaneInfo`.
      
      :note: The smooth docking effect can only be used if you set the ``AUI_MGR_SMOOTH_DOCKING``
       style to :class:`AuiManager`.


   .. method:: Snap(self)

      Snaps the main frame to specified position on the screen.
      
      :see: :meth:`SnapToScreen`


   .. method:: SnapPane(self, pane, pane_pos, pane_size, toSnap=False)

      Snaps a floating pane to one of the main frame sides.
      
      :param `pane`: a :class:`AuiPaneInfo` instance;
      :param wx.Point `pane_pos`: the new pane floating position;
      :param wx.Size `pane_size`: the new pane floating size;
      :param bool `toSnap`: a bool variable to check if :meth:`SnapPane` was called from
       a move event.


   .. method:: SnapToScreen(self, snap=True, monitor=0, hAlign=wx.RIGHT, vAlign=wx.TOP)

      Snaps the main frame to specified position on the screen.
      
      :param bool `snap`: whether to snap the main frame or not;
      :param integer `monitor`: the monitor display in which snapping the window;
      :param integer `hAlign`: the horizontal alignment of the snapping position;
      :param integer `vAlign`: the vertical alignment of the snapping position.


   .. method:: StartPreviewTimer(self, toolbar)

      Starts a timer for sliding in and out a minimized pane.
      
      :param `toolbar`: the :class:`~wx.lib.agw.aui.auibar.AuiToolBar` containing the minimized pane tool.


   .. method:: StopPreviewTimer(self)

      Stops a timer for sliding in and out a minimized pane. 


   .. method:: SwitchToolBarOrientation(self, pane)

      Switches the toolbar orientation from vertical to horizontal and vice-versa.
      This is especially useful for vertical docked toolbars once they float.
      
      :param `pane`: an instance of :class:`AuiPaneInfo`, which may have a :class:`~wx.lib.agw.aui.auibar.AuiToolBar`
       window associated with it.


   .. method:: UnInit(self)

      Uninitializes the framework and should be called before a managed frame or
      window is destroyed. :meth:`UnInit` is usually called in the managed :class:`wx.Frame` / :class:`wx.Window`
      destructor.
      
      It is necessary to call this function before the managed frame or window is
      destroyed, otherwise the manager cannot remove its custom event handlers
      from a window.


   .. method:: Update(self)


   .. method:: UpdateButtonOnScreen(self, button_ui_part, event)

      Updates/redraws the UI part containing a pane button.
      
      :param `button_ui_part`: the UI part the button belongs to, an instance of :class:`AuiDockUIPart`.;
      :param `event`: a :class:`MouseEvent` to be processed.


   .. method:: UpdateDockingGuides(self, paneInfo)

      Updates the docking guide windows positions and appearance.
      
      :param `paneInfo`: a :class:`AuiPaneInfo` instance.


   .. method:: UpdateNotebook(self)

      Updates the automatic :class:`~wx.lib.agw.aui.auibook.AuiNotebook` in the layout (if any exists). 


