AuiManager manages the panes associated with it for a particular wx.Frame
,
using a pane’s AuiManager
information to determine each pane’s docking and
floating behavior. 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.
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 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).
wx.lib.agw.aui.framemanager.AuiManager_DCP
Default class constructor. |
|
Activates the pane to which window is associated. |
|
Tells the frame manager to start managing a child window. There |
|
See comments on |
|
See comments on |
|
See comments on |
|
See comments on |
|
Animates the minimization/docking of a pane a la Eclipse, using a |
|
Calculates the minimum and maximum sizes allowed for the input dock. |
|
Calculates the drop hint rectangle. |
|
Calculates the minimum and maximum sizes allowed for the input pane. |
|
Returns whether a pane can be docked or not. |
|
Returns whether |
|
Checks if a UI part can be actually resized. |
|
Checks if a pane has moved by a visible amount. |
|
Destroys or hides the pane depending on its flags. |
|
Copies all the attributes of the input target into another |
|
Creates a floating frame for the windows. |
|
Creates the VS2005 HUD guide windows. |
|
Creates the standard wxAUI hint window. |
|
Creates an automatic |
|
Creates an auto-notebook base from a pane, and then add that pane as a page. |
|
Destroys the VS2005 HUD guide windows. |
|
Destroys the standard wxAUI hint window. |
|
Tells the |
|
This is an important function. It basically takes a mouse position, |
|
Handles the situation in which the dropped pane contains a normal window. |
|
Handles the situation in which target is a single dock guide. |
|
Handles the situation in which the dropped pane is not floating. |
|
Drop a pane in the interface. |
|
Insert a row in the interface before dropping. |
|
Handles the situation in which the dropped pane contains a toolbar. |
|
Ends a resize action, or for live update, resizes the sash. |
|
This is an internal function which invokes |
|
This method is called after any number of changes are made to any of the |
|
Calculates the hint rectangle by calling |
|
Draws a pane button in the caption (convenience function). |
|
Fires one of the |
|
Returns the current manager’s flags. |
|
Returns a reference to all the pane info structures. |
|
Returns the animation step speed (a float) to use in |
|
Returns the current art provider being used. |
|
Returns all the attributes of a |
|
Returns the default AGW-specific window style for automatic notebooks. |
|
Returns the default tab art provider for automatic notebooks. |
|
This is an internal function which returns a dock’s offset in pixels from |
|
Returns the current dock constraint values. |
|
Returns the window being managed by |
|
Returns the window being managed by |
|
Returns all the automatic |
|
Returns the dimensions of the dock which lives opposite of the input dock. |
|
Looks up a |
|
This version of |
|
This version of |
|
Looks up the pane border UI part of the |
|
Returns all the panes positions and sizes in a dock. |
|
Returns the partner dock for the input dock. |
|
Returns the partner pane for the input pane. They both need to live |
|
Returns the rectangle surrounding the specified UI parts. |
|
Returns the main frame snapping position. |
|
Returns the dimensions and proportion of the input dock. |
|
Hides a transparent window hint if there is one. |
|
This is an internal function which determines |
|
This method is used to insert either a previously unmanaged pane window |
|
Returns whether a pane button in the pane caption is visible. |
|
Adds a dock into the existing layout. |
|
Adds a pane into the existing layout (in an existing dock). |
|
Layouts all the UI structures in the interface. |
|
This method is similar to to |
|
Loads a layout which was saved with |
|
Maximizes the input pane. |
|
Minimizes a pane in a newly and automatically created |
|
Handles the mouse double click on the pane caption. |
|
Handles the |
|
Handles the |
|
Called when the managed window is closed. Makes sure that |
|
Called when the managed window is destroyed. Makes sure that |
|
Handles the |
|
Handles the |
|
Handles the activation event of a floating pane. |
|
Handles the close event of a floating pane. |
|
Handles the move event of a floating pane. |
|
Handles the resizing of a floating pane. |
|
Handles the mouse click on the pane gripper. |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Handles the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Sub-handler for the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Draws all of the pane captions, sashes, backgrounds, captions, grippers, pane borders and buttons. |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Handles the |
|
Returns a |
|
Similar to |
|
This is a utility function used by |
|
Process the AUI events sent to the manager. |
|
Refreshes a pane button in the caption. |
|
Refreshes all pane captions. |
|
Removes the caption on newly created automatic notebooks. |
|
Fires a render event, which is normally handled by |
|
Repaints the entire frame decorations (sashes, borders, buttons and so on). |
|
Repositions a pane after the main frame has been moved/resized. |
|
Requests the user attention by intermittently highlighting the pane caption. |
|
Restores the current maximized pane (if any). |
|
Restores a previously minimized pane. |
|
Restores the input pane from a previous maximized or minimized state. |
|
Common method between |
|
This method is similar to |
|
Saves the entire user interface layout into an encoded string, which can then |
|
Stores the previous dock sizes, to be used in a “restore” action later. |
|
This method is used to specify |
|
Sets the animation step speed (a float) to use in |
|
Instructs |
|
Sets all the attributes contained in |
|
Sets the default AGW-specific window style for automatic notebooks. |
|
Sets the default tab art provider for automatic notebooks. |
|
When a user creates a new dock by dragging a window into a docked position, |
|
Called to specify the frame or window which is to be managed by |
|
Called to specify the frame or window which is to be managed by |
|
Sets the master manager for an automatic |
|
Modifies the snap limits used when snapping the managed_window to the screen |
|
Shows the AUI hint window. |
|
Shows or hides a pane based on the window passed as input. |
|
Handles the |
|
Slides out a preview of a minimized pane. |
|
Used to intelligently shrink the docks’ size (if needed). |
|
This method implements a smooth docking effect for floating panes, similar to |
|
Snaps the main frame to specified position on the screen. |
|
Snaps a floating pane to one of the main frame sides. |
|
Snaps the main frame to specified position on the screen. |
|
Starts a timer for sliding in and out a minimized pane. |
|
Stops a timer for sliding in and out a minimized pane. |
|
Switches the toolbar orientation from vertical to horizontal and vice-versa. |
|
Uninitializes the framework and should be called before a managed frame or |
|
Updates/redraws the UI part containing a pane button. |
|
Updates the docking guide windows positions and appearance. |
|
Updates the automatic |
AuiManager
(wx.EvtHandler)¶AuiManager manages the panes associated with it for a particular wx.Frame
,
using a pane’s AuiManager
information to determine each pane’s docking and
floating behavior. 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.
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 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).
__init__
(self, managed_window=None, agwFlags=None)¶Default class constructor.
managed_window (wx.Window) – specifies the window which should be managed;
agwFlags (integer) –
specifies options which allow the frame management behavior to be modified. agwFlags can be a combination of the following style bits:
Flag name |
Description |
---|---|
|
Allow floating of panes |
|
If a pane becomes active, “highlight” it in the interface |
|
If the platform supports it, set transparency on a floating pane while it is dragged by the user |
|
If the platform supports it, show a transparent hint window when the user is about to dock a floating pane |
|
Show a “venetian blind” effect when the user is about to dock a floating pane |
|
Show a rectangle hint effect when the user is about to dock a floating pane |
|
If the platform supports it, the hint window will fade in and out |
|
Disables the “venetian blind” fade in and out |
|
Live resize when the user drag a sash |
|
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) |
|
Use the new Aero-style bitmaps as docking guides |
|
Slide in and out minimized panes to preview them |
|
Use the new Whidbey-style bitmaps as docking guides |
|
Performs a “smooth” docking of panes (a la PyQT) |
|
Use miniframes with native caption bar as floating panes instead or custom drawn caption bars (forced on wxMAC) |
|
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
AuiPaneInfo.MaximizeButton
has been set to True
) or do nothing.
ActivatePane
(self, window)¶Activates the pane to which window is associated.
window – a wx.Window
derived window.
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 ( AddPane1
). The second version is used for
simpler user interfaces which do not require as much configuration ( AddPane2
).
The AddPane3
version allows a drop position to be specified, which will determine
where the pane will be added. The AddPane4
version allows to turn the target
AuiPaneInfo
pane into a notebook and the added pane into a page.
In your code, simply call AddPane
.
window (wx.Window) – the child window to manage;
arg1 – a AuiPaneInfo
or an integer value (direction);
arg2 – a AuiPaneInfo
or a wx.Point
(drop position);
target – a 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)
AnimateDocking
(self, win_rect, pane_rect)¶Animates the minimization/docking of a pane a la Eclipse, using a ScreenDC
to draw a “moving docking rectangle” on the screen.
Note
This functionality is not available on wxMAC as this platform doesn’t have
the ability to use ScreenDC
to draw on-screen and on Windows > Vista.
CalculateDockSizerLimits
(self, dock)¶Calculates the minimum and maximum sizes allowed for the input dock.
dock – the AuiDockInfo
structure to analyze.
CalculateHintRect
(self, pane_window, pt, offset)¶Calculates the drop hint rectangle.
The method first calls 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.
CalculatePaneSizerLimits
(self, dock, pane)¶Calculates the minimum and maximum sizes allowed for the input pane.
dock – the AuiDockInfo
structure to which pane belongs to;
pane – a AuiPaneInfo
class for which calculation are requested.
CanDockPanel
(self, p)¶Returns whether a pane can be docked or not.
p – the AuiPaneInfo
class with all the pane’s information.
CanUseModernDockArt
(self)¶Returns whether dockart
can be used (Windows XP / Vista / 7 only,
requires Mark Hammonds’s pywin32 package).
CheckMovableSizer
(self, part)¶Checks if a UI part can be actually resized.
part – a UI part, an instance of AuiDockUIPart
.
CheckPaneMove
(self, pane)¶Checks if a pane has moved by a visible amount.
pane – an instance of AuiPaneInfo
.
ClosePane
(self, pane_info)¶Destroys or hides the pane depending on its flags.
pane_info – a AuiPaneInfo
instance.
CopyTarget
(self, target)¶Copies all the attributes of the input target into another AuiPaneInfo
.
target – the source AuiPaneInfo
from where to copy attributes.
CreateFloatingFrame
(self, parent, pane_info)¶Creates a floating frame for the windows.
parent (wx.Window) – the floating frame parent;
pane_info – the AuiPaneInfo
class with all the pane’s information.
CreateGuideWindows
(self)¶Creates the VS2005 HUD guide windows.
CreateHintWindow
(self)¶Creates the standard wxAUI hint window.
CreateNotebook
(self)¶Creates an automatic AuiNotebook
when a pane is docked on
top of another pane.
CreateNotebookBase
(self, panes, paneInfo)¶Creates an auto-notebook base from a pane, and then add that pane as a page.
panes (list) – set of panes to append new notebook base pane to
paneInfo – the pane to be converted to a new notebook, an instance of
AuiPaneInfo
.
DestroyGuideWindows
(self)¶Destroys the VS2005 HUD guide windows.
DestroyHintWindow
(self)¶Destroys the standard wxAUI hint window.
DetachPane
(self, window)¶Tells the AuiManager
to stop managing the pane specified
by window. The window, if in a floated frame, is reparented to the frame
managed by AuiManager
.
window (wx.Window) – the window to be un-managed.
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.
docks – a list of AuiDockInfo
classes;
panes – a list of AuiPaneInfo
instances;
pt (wx.Point) – a mouse position to check for a drop operation;
offset (wx.Point) – a possible offset from the input point pt.
DoDropFloatingPane
(self, docks, panes, target, pt)¶Handles the situation in which the dropped pane contains a normal window.
docks – a list of AuiDockInfo
classes;
panes – a list of AuiPaneInfo
instances;
target – the target pane containing the window, an instance of
AuiPaneInfo
;
pt (wx.Point) – a mouse position to check for a drop operation.
DoDropLayer
(self, docks, target, dock_direction)¶Handles the situation in which target is a single dock guide.
docks – a list of AuiDockInfo
classes;
target – the target pane, an instance of AuiPaneInfo
;
dock_direction (integer) – the docking direction.
DoDropNonFloatingPane
(self, docks, panes, target, pt)¶Handles the situation in which the dropped pane is not floating.
docks – a list of AuiDockInfo
classes;
panes – a list of AuiPaneInfo
instances;
target – the target pane containing the toolbar, an instance of AuiPaneInfo
;
pt (wx.Point) – a mouse position to check for a drop operation.
DoDropPane
(self, panes, target, dock_direction, dock_layer, dock_row, dock_pos)¶Drop a pane in the interface.
panes – a list of AuiPaneInfo
classes;
target – the target pane, an instance of AuiPaneInfo
;
dock_direction (integer) – the docking direction;
dock_layer (integer) – the docking layer;
dock_row (integer) – the docking row;
dock_pos (integer) – the docking position.
DoDropRow
(self, panes, target, dock_direction, dock_layer, dock_row)¶Insert a row in the interface before dropping.
panes – a list of AuiPaneInfo
classes;
target – the target pane, an instance of AuiPaneInfo
;
dock_direction (integer) – the docking direction;
dock_layer (integer) – the docking layer;
dock_row (integer) – the docking row.
DoDropToolbar
(self, docks, panes, target, pt, offset)¶Handles the situation in which the dropped pane contains a toolbar.
docks – a list of AuiDockInfo
classes;
panes – a list of AuiPaneInfo
instances;
target – the target pane containing the toolbar, an instance of AuiPaneInfo
;
pt (wx.Point) – a mouse position to check for a drop operation;
offset (wx.Point) – a possible offset from the input point pt.
DoEndResizeAction
(self, event)¶Ends a resize action, or for live update, resizes the sash.
event – a MouseEvent
to be processed.
DoFrameLayout
(self)¶This is an internal function which invokes wx.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.
DoUpdate
(self)¶This method is called after any number of changes are made to any of the
managed panes. Update
must be invoked after AddPane
or InsertPane
are called in order to “realize” or “commit” the changes.
In addition, any number of changes may be made to AuiManager
structures
(retrieved with GetPane
), but to realize the changes, Update
must be called. This construction allows pane flicker to be avoided by updating
the whole layout at one time.
DoUpdateEvt
(self, evt)¶DrawHintRect
(self, pane_window, pt, offset)¶Calculates the hint rectangle by calling CalculateHintRect
. If there is a
rectangle, it shows it by calling ShowHint
, otherwise it hides any hint
rectangle currently shown.
DrawPaneButton
(self, dc, part, pt)¶Draws a pane button in the caption (convenience function).
dc – a wx.DC
device context object;
part – the UI part to analyze, an instance of AuiDockUIPart
;
pt (wx.Point) – the mouse location.
FireEvent
(self, evtType, pane, canVeto=False)¶Fires one of the EVT_AUI_PANE_FLOATED
/ FLOATING
/ DOCKING
/ DOCKED
/ ACTIVATED
event.
evtType (integer) – one of the aforementioned events;
pane – the AuiPaneInfo
instance associated to this event;
canVeto (bool) – whether the event can be vetoed or not.
GetAGWFlags
(self)¶Returns the current manager’s flags.
See also
SetAGWFlags
for a list of possible AuiManager
flags.
GetAllPanes
(self)¶Returns a reference to all the pane info structures.
GetAnimationStep
(self)¶Returns the animation step speed (a float) to use in AnimateDocking
.
GetArtProvider
(self)¶Returns the current art provider being used.
GetAttributes
(self, pane)¶Returns all the attributes of a AuiPaneInfo
.
pane – a AuiPaneInfo
instance.
GetAutoNotebookStyle
(self)¶Returns the default AGW-specific window style for automatic notebooks.
See also
SetAutoNotebookStyle
method for a list of possible styles.
GetAutoNotebookTabArt
(self)¶Returns the default tab art provider for automatic notebooks.
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.
test – a fake AuiPaneInfo
for testing purposes.
GetDockSizeConstraint
(self)¶Returns the current dock constraint values.
See also
GetFrame
(self)¶Returns the window being managed by AuiManager
.
Deprecated since version 0.6: This method is now deprecated, use GetManagedWindow
instead.
GetManagedWindow
(self)¶Returns the window being managed by AuiManager
.
GetNotebooks
(self)¶Returns all the automatic AuiNotebook
in the AuiManager
.
GetOppositeDockTotalSize
(self, docks, direction)¶Returns the dimensions of the dock which lives opposite of the input dock.
docks – a list of AuiDockInfo
structures to analyze;
direction (integer) – the direction in which to look for the opposite dock.
GetPane
(self, item)¶Looks up a AuiPaneInfo
structure based on the supplied window pointer. Upon failure,
GetPane
returns an empty AuiPaneInfo
, a condition which can be checked
by calling AuiPaneInfo.IsOk()
.
The pane info’s structure may then be modified. Once a pane’s info is modified, Update
must be called to realize the changes in the UI.
item – either a pane name or a wx.Window
.
GetPaneByName
(self, name)¶This version of GetPane
looks up a pane based on a ‘pane name’.
name (string) – the pane name.
See also
GetPaneByWidget
(self, window)¶This version of GetPane
looks up a pane based on a ‘pane window’.
window – a wx.Window
derived window.
See also
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.
wnd (wx.Window) – the window to which the pane border belongs to.
GetPanePositionsAndSizes
(self, dock)¶Returns all the panes positions and sizes in a dock.
dock – a AuiDockInfo
instance.
GetPartnerDock
(self, dock)¶Returns the partner dock for the input dock.
dock – a AuiDockInfo
instance.
GetPartnerPane
(self, dock, pane)¶Returns the partner pane for the input pane. They both need to live
in the same AuiDockInfo
.
dock – a AuiDockInfo
instance;
pane – a AuiPaneInfo
class.
GetPartSizerRect
(self, uiparts)¶Returns the rectangle surrounding the specified UI parts.
uiparts (list) – list of AuiDockUIPart
parts.
GetSnapPosition
(self)¶Returns the main frame snapping position.
GetTotalPixSizeAndProportion
(self, dock)¶Returns the dimensions and proportion of the input dock.
dock – the AuiDockInfo
structure to analyze.
HideHint
(self)¶Hides a transparent window hint if there is one.
HitTest
(self, x, y)¶This is an internal function which determines which UI item the specified coordinates are over.
x (integer) – specifies a x position in client coordinates;
y (integer) – specifies a y position in client coordinates.
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.
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
.
window (wx.Window) – the window to be inserted and managed;
pane_info – the insert location for the new window;
insert_level (integer) – the insertion level of the new pane.
IsPaneButtonVisible
(self, part)¶Returns whether a pane button in the pane caption is visible.
part – the UI part to analyze, an instance of AuiDockUIPart
.
LayoutAddDock
(self, cont, dock, uiparts, spacer_only)¶Adds a dock into the existing layout.
cont – a wx.Sizer
object;
dock – the AuiDockInfo
structure to add to the layout;
uiparts – a list of UI parts in the interface;
spacer_only (bool) – whether to add a simple spacer or a real window.
LayoutAddPane
(self, cont, dock, pane, uiparts, spacer_only)¶Adds a pane into the existing layout (in an existing dock).
cont – a wx.Sizer
object;
dock – the AuiDockInfo
structure in which to add the pane;
pane – the AuiPaneInfo
instance to add to the dock;
uiparts – a list of UI parts in the interface;
spacer_only (bool) – whether to add a simple spacer or a real window.
LayoutAll
(self, panes, docks, uiparts, spacer_only=False, oncheck=True)¶Layouts all the UI structures in the interface.
panes – a list of AuiPaneInfo
instances;
docks – a list of AuiDockInfo
classes;
uiparts – a list of UI parts in the interface;
spacer_only (bool) – whether to add a simple spacer or a real window;
oncheck (bool) – whether to store the results in a class member or not.
LoadPaneInfo
(self, pane_part, pane)¶This method is similar to to LoadPerspective
, with the exception that
it only loads information about a single pane. It is used in combination
with SavePaneInfo
.
pane_part (string) – the string to analyze;
pane – the AuiPaneInfo
structure in which to load pane_part.
LoadPerspective
(self, layout, update=True, restorecaption=False, restoreminimize=False)¶Loads a layout which was saved with SavePerspective
.
If the update flag parameter is True
, Update
will be
automatically invoked, thus realizing the saved perspective on screen.
layout (string) – a string which contains a saved AUI layout;
update (bool) – whether to update immediately the window or not;
restorecaption (bool) – False
, restore from persist storage,
otherwise use the caption defined in code.
restoreminimize (bool) – False
, restore from persist storage,
otherwise use the minimize_toolbar and minimize_mode defined in code.
MaximizePane
(self, pane_info, savesizes=True)¶Maximizes the input pane.
pane_info – a AuiPaneInfo
instance.
savesizes (bool) – whether to save previous dock sizes.
MinimizePane
(self, paneInfo, mgrUpdate=True)¶Minimizes a pane in a newly and automatically created AuiToolBar
.
Clicking on the minimize button causes a new 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.
paneInfo – a AuiPaneInfo
instance for the pane to be minimized;
mgrUpdate (bool) – True
to call Update
to realize the new layout,
False
otherwise.
Note
The mgrUpdate parameter is currently only used while loading perspectives using
LoadPerspective
, as minimized panes were not correctly taken into account before.
OnCaptionDoubleClicked
(self, pane_window)¶Handles the mouse double click on the pane caption.
pane_window (wx.Window) – the window managed by the pane.
OnCaptureLost
(self, event)¶Handles the wx.EVT_MOUSE_CAPTURE_LOST
event for AuiManager
.
event – a MouseCaptureLostEvent
to be processed.
OnChildFocus
(self, event)¶Handles the wx.EVT_CHILD_FOCUS
event for AuiManager
.
event – a ChildFocusEvent
to be processed.
OnDestroy
(self, event)¶Called when the managed window is destroyed. Makes sure that UnInit
is called.
OnEraseBackground
(self, event)¶Handles the wx.EVT_ERASE_BACKGROUND
event for AuiManager
.
event – EraseEvent
to be processed.
Note
This is intentionally empty (excluding wxMAC) to reduce flickering while drawing.
OnFindManager
(self, event)¶Handles the EVT_AUI_FIND_MANAGER
event for AuiManager
.
event – a AuiManagerEvent
event to be processed.
OnFloatingPaneActivated
(self, wnd)¶Handles the activation event of a floating pane.
wnd (wx.Window) – the window managed by the pane.
OnFloatingPaneClosed
(self, wnd, event)¶Handles the close event of a floating pane.
wnd (wx.Window) – the window managed by the pane;
event – a CloseEvent
to be processed.
OnFloatingPaneMoved
(self, wnd, eventOrPt)¶Handles the move event of a floating pane.
OnFloatingPaneResized
(self, wnd, size)¶Handles the resizing of a floating pane.
OnGripperClicked
(self, pane_window, start, offset)¶Handles the mouse click on the pane gripper.
OnHintFadeTimer
(self, event)¶Handles the wx.EVT_TIMER
event for AuiManager
.
event – a TimerEvent
to be processed.
OnLeaveWindow
(self, event)¶Handles the wx.EVT_LEAVE_WINDOW
event for AuiManager
.
event – a MouseEvent
to be processed.
OnLeftDClick
(self, event)¶Handles the wx.EVT_LEFT_DCLICK
event for AuiManager
.
event – a MouseEvent
to be processed.
OnLeftDown
(self, event)¶Handles the wx.EVT_LEFT_DOWN
event for AuiManager
.
event – a MouseEvent
to be processed.
OnLeftUp
(self, event)¶Handles the wx.EVT_LEFT_UP
event for AuiManager
.
event – a MouseEvent
to be processed.
OnLeftUp_ClickButton
(self, event)¶Sub-handler for the OnLeftUp
event.
event – a MouseEvent
to be processed.
OnLeftUp_DragFloatingPane
(self, eventOrPt)¶Sub-handler for the OnLeftUp
event.
event – a MouseEvent
to be processed.
OnLeftUp_DragMovablePane
(self, event)¶Sub-handler for the OnLeftUp
event.
event – a MouseEvent
to be processed.
OnLeftUp_DragToolbarPane
(self, eventOrPt)¶Sub-handler for the OnLeftUp
event.
event – a MouseEvent
to be processed.
OnLeftUp_Resize
(self, event)¶Sub-handler for the OnLeftUp
event.
event – a MouseEvent
to be processed.
OnMotion
(self, event)¶Handles the wx.EVT_MOTION
event for AuiManager
.
event – a MouseEvent
to be processed.
OnMotion_ClickCaption
(self, event)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMotion_DragFloatingPane
(self, eventOrPt)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMotion_DragMovablePane
(self, eventOrPt)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMotion_DragToolbarPane
(self, eventOrPt)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMotion_Other
(self, event)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMotion_Resize
(self, event)¶Sub-handler for the OnMotion
event.
event – a MouseEvent
to be processed.
OnMove
(self, event)¶Handles the wx.EVT_MOVE
event for AuiManager
.
event – a MoveEvent
to be processed.
OnPaint
(self, event)¶Handles the wx.EVT_PAINT
event for AuiManager
.
event – an instance of PaintEvent
to be processed.
OnPaneButton
(self, event)¶Handles the EVT_AUI_PANE_BUTTON
event for AuiManager
.
event – a AuiManagerEvent
event to be processed.
OnPaneDocked
(self, event)¶Handles the EVT_AUI_PANE_DOCKED
event for AuiManager
.
event – an instance of AuiManagerEvent
to be processed.
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.
event – an instance of AuiManagerEvent
.
OnRestoreMinimizedPane
(self, event)¶Handles the EVT_AUI_PANE_MIN_RESTORE
event for AuiManager
.
event – an instance of AuiManagerEvent
to be processed.
OnSetCursor
(self, event)¶Handles the wx.EVT_SET_CURSOR
event for AuiManager
.
event – a SetCursorEvent
to be processed.
OnSize
(self, event)¶Handles the wx.EVT_SIZE
event for AuiManager
.
event – a wx.SizeEvent
to be processed.
OnSysColourChanged
(self, event)¶Handles the wx.EVT_SYS_COLOUR_CHANGED
event for AuiManager
.
event – a SysColourChangedEvent
to be processed.
OnTabBeginDrag
(self, event)¶Handles the EVT_AUINOTEBOOK_BEGIN_DRAG
event.
event – a AuiNotebookEvent
event to be processed.
OnTabEndDrag
(self, event)¶Handles the EVT_AUINOTEBOOK_END_DRAG
event.
event – a AuiNotebookEvent
event to be processed.
OnTabPageClose
(self, event)¶Handles the EVT_AUINOTEBOOK_PAGE_CLOSE
event.
event – a AuiNotebookEvent
event to be processed.
OnTabSelected
(self, event)¶Handles the EVT_AUINOTEBOOK_PAGE_CHANGED
event.
event – a AuiNotebookEvent
event to be processed.
PaneFromTabEvent
(self, event)¶Returns a AuiPaneInfo
from a AuiNotebook
event.
event – a AuiNotebookEvent
event.
PaneHitTest
(self, panes, pt)¶Similar to HitTest
, but it checks in which AuiManager
rectangle the
input point belongs to.
panes – a list of AuiPaneInfo
instances;
pt (wx.Point) – the mouse position.
ProcessDockResult
(self, target, new_pos)¶This is a utility function used by 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
.
target – the AuiPaneInfo
instance to be docked;
new_pos (integer) – the new docking position if the docking operation is allowed.
ProcessMgrEvent
(self, event)¶Process the AUI events sent to the manager.
event – the event to process, an instance of AuiManagerEvent
.
RefreshButton
(self, part)¶Refreshes a pane button in the caption.
part – the UI part to analyze, an instance of AuiDockUIPart
.
RefreshCaptions
(self)¶Refreshes all pane captions.
RemoveAutoNBCaption
(self, pane)¶Removes the caption on newly created automatic notebooks.
pane – an instance of AuiPaneInfo
(the target notebook).
Render
(self, dc)¶Fires a render event, which is normally handled by 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
OnRender
.
dc – a wx.DC
device context object.
Repaint
(self, dc=None)¶Repaints the entire frame decorations (sashes, borders, buttons and so on). It renders the entire user interface.
dc – if not None
, an instance of PaintDC
.
RepositionPane
(self, pane, wnd_pos, wnd_size)¶Repositions a pane after the main frame has been moved/resized.
pane – a AuiPaneInfo
instance;
wnd_pos (wx.Point) – the main frame position;
wnd_size (wx.Size) – the main frame size.
RequestUserAttention
(self, pane_window)¶Requests the user attention by intermittently highlighting the pane caption.
pane_window (wx.Window) – the window managed by the pane;
RestoreMaximizedPane
(self)¶Restores the current maximized pane (if any).
RestoreMinimizedPane
(self, paneInfo)¶Restores a previously minimized pane.
paneInfo – a AuiPaneInfo
instance for the pane to be restored.
RestorePane
(self, pane_info)¶Restores the input pane from a previous maximized or minimized state.
pane_info – a AuiPaneInfo
instance.
RestrictResize
(self, clientPt, screenPt, createDC)¶Common method between DoEndResizeAction
and OnLeftUp_Resize
.
SavePaneInfo
(self, pane)¶This method is similar to SavePerspective
, with the exception
that it only saves information about a single pane. It is used in
combination with LoadPaneInfo
.
pane – a AuiPaneInfo
instance to save.
SavePerspective
(self)¶Saves the entire user interface layout into an encoded string, which can then
be stored by the application (probably using Config
).
When a perspective is restored using LoadPerspective
, the entire user
interface will return to the state it was when the perspective was saved.
SavePreviousDockSizes
(self, pane_info)¶Stores the previous dock sizes, to be used in a “restore” action later.
pane_info – a AuiPaneInfo
instance.
SetAGWFlags
(self, agwFlags)¶This method is used to specify AuiManager
‘s settings flags.
agwFlags (integer) –
specifies options which allow the frame management behavior to be modified. agwFlags can be one of the following style bits:
Flag name |
Description |
---|---|
|
Allow floating of panes |
|
If a pane becomes active, “highlight” it in the interface |
|
If the platform supports it, set transparency on a floating pane while it is dragged by the user |
|
If the platform supports it, show a transparent hint window when the user is about to dock a floating pane |
|
Show a “venetian blind” effect when the user is about to dock a floating pane |
|
Show a rectangle hint effect when the user is about to dock a floating pane |
|
If the platform supports it, the hint window will fade in and out |
|
Disables the “venetian blind” fade in and out |
|
Live resize when the user drag a sash |
|
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) |
|
Use the new Aero-style bitmaps as docking guides |
|
Slide in and out minimized panes to preview them |
|
Use the new Whidbey-style bitmaps as docking guides |
|
Performs a “smooth” docking of panes (a la PyQT) |
|
Use miniframes with native caption bar as floating panes instead or custom drawn caption bars (forced on wxMAC) |
|
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
AuiPaneInfo.MaximizeButton
has been set to True
) or do nothing.
SetAnimationStep
(self, step)¶Sets the animation step speed (a float) to use in AnimateDocking
.
step (float) – the animation speed.
SetArtProvider
(self, art_provider)¶Instructs AuiManager
to use art provider specified by the parameter
art_provider for all drawing calls. This allows pluggable look-and-feel
features.
art_provider – a AUI dock art provider.
Note
The previous art provider object, if any, will be deleted by AuiManager
.
SetAttributes
(self, pane, attrs)¶Sets all the attributes contained in attrs
to a AuiPaneInfo
.
pane – a AuiPaneInfo
instance;
attrs (list) – a list of attributes.
SetAutoNotebookStyle
(self, agwStyle)¶Sets the default AGW-specific window style for automatic notebooks.
agwStyle (integer) –
the underlying AuiNotebook
window style.
This can be a combination of the following bits:
Flag name |
Description |
---|---|
|
With this style, tabs are drawn along the top of the notebook |
|
With this style, tabs are drawn along the left of the notebook. Not implemented yet. |
|
With this style, tabs are drawn along the right of the notebook. Not implemented yet. |
|
With this style, tabs are drawn along the bottom of the notebook |
|
Allows the tab control to be split by dragging a tab |
|
Allows a tab to be moved horizontally by dragging |
|
Allows a tab to be moved to another tab control |
|
With this style, all tabs have the same width |
|
With this style, left and right scroll buttons are displayed |
|
With this style, a drop-down list of windows is available |
|
With this style, a close button is available on the tab bar |
|
With this style, a close button is available on the active tab |
|
With this style, a close button is available on all tabs |
|
Allows to close |
|
This style is used by |
|
Hides the tab window if only one tab is present |
|
Use Smart Tabbing, like |
|
Uses images on dropdown window list menu instead of check items |
|
Draws the tab close button on the left instead of on the right (a la Camino browser) |
|
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 |
|
Draws an image representation of a tab while dragging (on by default) |
|
Tab navigation order by last access time for the tabs |
|
Don’t draw tab focus rectangle |
SetAutoNotebookTabArt
(self, art)¶Sets the default tab art provider for automatic notebooks.
art – a tab art provider.
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.
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 SetDockSizeConstraint
with (0.5, 0.5) will cause new docks to be limited to half of the size of the entire
managed window.
width_pct (float) – a number representing the x dock size constraint;
width_pct – a number representing the y dock size constraint.
SetFrame
(self, managed_window)¶Called to specify the frame or window which is to be managed by AuiManager
.
Frame management is not restricted to just frames. Child windows or custom
controls are also allowed.
managed_window (wx.Window) – specifies the window which should be managed by the AUI manager.
Deprecated since version 0.6: This method is now deprecated, use SetManagedWindow
instead.
SetManagedWindow
(self, managed_window)¶Called to specify the frame or window which is to be managed by AuiManager
.
Frame management is not restricted to just frames. Child windows or custom
controls are also allowed.
managed_window (wx.Window) – specifies the window which should be managed by the AUI manager.
SetMasterManager
(self, manager)¶Sets the master manager for an automatic AuiNotebook
.
manager – an instance of AuiManager
.
SetSnapLimits
(self, x, y)¶Modifies the snap limits used when snapping the managed_window to the screen
(using SnapToScreen
) or when snapping the floating panes to one side of the
managed_window (using 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.
x (integer) – the minimum horizontal distance below which the snap occurs;
y (integer) – the minimum vertical distance below which the snap occurs.
ShowHint
(self, rect)¶Shows the AUI hint window.
rect (wx.Rect) – the hint rect calculated in advance.
ShowPane
(self, window, show)¶Shows or hides a pane based on the window passed as input.
SlideIn
(self, event)¶Handles the wx.EVT_TIMER
event for AuiManager
.
event – a TimerEvent
to be processed.
Note
This is used solely for sliding in and out minimized panes.
SlideOut
(self)¶Slides out a preview of a minimized pane.
Note
This is used solely for sliding in and out minimized panes.
SmartShrink
(self, docks, direction)¶Used to intelligently shrink the docks’ size (if needed).
docks – a list of AuiDockInfo
instances;
direction (integer) – the direction in which to shrink.
SmoothDock
(self, paneInfo)¶This method implements a smooth docking effect for floating panes, similar to what the PyQT library does with its floating windows.
paneInfo – an instance of AuiPaneInfo
.
Note
The smooth docking effect can only be used if you set the AUI_MGR_SMOOTH_DOCKING
style to AuiManager
.
Snap
(self)¶Snaps the main frame to specified position on the screen.
See also
SnapPane
(self, pane, pane_pos, pane_size, toSnap=False)¶Snaps a floating pane to one of the main frame sides.
pane – a AuiPaneInfo
instance;
pane_pos (wx.Point) – the new pane floating position;
pane_size (wx.Size) – the new pane floating size;
toSnap (bool) – a bool variable to check if SnapPane
was called from
a move event.
SnapToScreen
(self, snap=True, monitor=0, hAlign=wx.RIGHT, vAlign=wx.TOP)¶Snaps the main frame to specified position on the screen.
snap (bool) – whether to snap the main frame or not;
monitor (integer) – the monitor display in which snapping the window;
hAlign (integer) – the horizontal alignment of the snapping position;
vAlign (integer) – the vertical alignment of the snapping position.
StartPreviewTimer
(self, toolbar)¶Starts a timer for sliding in and out a minimized pane.
toolbar – the AuiToolBar
containing the minimized pane tool.
StopPreviewTimer
(self)¶Stops a timer for sliding in and out a minimized pane.
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.
pane – an instance of AuiPaneInfo
, which may have a AuiToolBar
window associated with it.
UnInit
(self)¶Uninitializes the framework and should be called before a managed frame or
window is destroyed. UnInit
is usually called in the managed wx.Frame
/ 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.
Update
(self)¶UpdateButtonOnScreen
(self, button_ui_part, event)¶Updates/redraws the UI part containing a pane button.
button_ui_part – the UI part the button belongs to, an instance of AuiDockUIPart
.;
event – a MouseEvent
to be processed.
UpdateDockingGuides
(self, paneInfo)¶Updates the docking guide windows positions and appearance.
paneInfo – a AuiPaneInfo
instance.
UpdateNotebook
(self)¶Updates the automatic AuiNotebook
in the layout (if any exists).