1 /////////////////////////////////////////////////////////////////////////////
2 // Name: _aui_docstrings.i
3 // Purpose: Docstrings for the wxAUI classes. These are in a separate
4 // file because we have SWIG scan the .h files directly.
8 // Created: 7-July-2006
10 // Copyright: (c) 2006 by Total Control Software
11 // Licence: wxWindows license
12 /////////////////////////////////////////////////////////////////////////////
15 DocStr(wxFrameManager,
16 "FrameManager manages the panes associated with it for a particular
17 `wx.Frame`, using a pane's `PaneInfo` information to determine each
18 pane's docking and floating behavior. FrameManager uses wxWidgets'
19 sizer mechanism to plan the layout of each frame. It uses a
20 replaceable `DockArt` class to do all drawing, so all drawing is
21 localized in one area, and may be customized depending on an
22 application's specific needs.
26 FrameManager works as follows: The programmer adds panes to the
27 class, or makes changes to existing pane properties (dock position,
28 floating state, show state, etc.). To apply these changes,
29 FrameManager's `Update` function is called. This batch processing
30 can be used to avoid flicker, by modifying more than one pane at a
31 time, and then \"committing\" all of the changes at once by calling
34 Panes can be added quite easily::
36 text1 = wx.TextCtrl(self, -1)
37 text2 = wx.TextCtrl(self, -1)
38 self._mgr.AddPane(text1, wx.LEFT, \"Pane Caption\")
39 self._mgr.AddPane(text2, wx.BOTTOM, \"Pane Caption\")
43 Later on, the positions can be modified easily. The following will
44 float an existing pane in a tool window::
46 self._mgr.GetPane(text1).Float();
49 **Layers, Rows and Directions, Positions**
51 Inside wx.aui the docking layout is figured out by checking several
52 pane parameters. Four of these are important for determining where a
55 * **Direction**: Each docked pane has a direction, Top, Bottom,
56 Left, Right, or Center. This is fairly self-explanatory. The
57 pane will be placed in the location specified by this variable.
59 * **Position**: More than one pane can be placed inside of a
60 \"dock.\" Imagine two panes being docked on the left side of a
61 window. One pane can be placed over another. In proportionally
62 managed docks, the pane position indicates it's sequential
63 position, starting with zero. So, in our scenario with two panes
64 docked on the left side, the top pane in the dock would have
65 position 0, and the second one would occupy position 1.
67 * **Row**: A row can allow for two docks to be placed next to each
68 other. One of the most common places for this to happen is in
69 the toolbar. Multiple toolbar rows are allowed, the first row
70 being in row 0, and the second in row 1. Rows can also be used
71 on vertically docked panes.
73 * **Layer**: A layer is akin to an onion. Layer 0 is the very
74 center of the managed pane. Thus, if a pane is in layer 0, it
75 will be closest to the center window (also sometimes known as
76 the \"content window\"). Increasing layers \"swallow up\" all
77 layers of a lower value. This can look very similar to multiple
78 rows, but is different because all panes in a lower level yield
79 to panes in higher levels. The best way to understand layers is
80 by running the AUI sample in the wxPython demo.
83 DocStr(wxFrameManager::wxFrameManager,
86 :param managed_wnd: Specifies the `wx.Window` which should be
87 managed. If not set in the call to this constructor then
88 `SetManagedWindow` should be called later.
90 :param flags: Specifies options which allow the frame management
91 behavior to be modified.
96 ============================== =================================
97 AUI_MGR_ALLOW_FLOATING Panes can be undocked and floated
98 AUI_MGR_ALLOW_ACTIVE_PANE The last pane clicked on will be
99 considered the active pane and will
101 AUI_MGR_TRANSPARENT_DRAG If the platform supports it the panes
102 will be partially transparent while
104 AUI_MGR_TRANSPARENT_HINT If the platform supports it the
105 hint used to show where the pane can
106 be docked will be partially transparent.
107 AUI_MGR_TRANSPARENT_HINT_FADE Should the transparent hint be faded
109 AUI_MGR_DEFAULT The default flags.
110 ============================== =================================
113 DocStr(wxFrameManager::UnInit,
114 "UnInit uninitializes the framework and should be called before a
115 managed frame is destroyed. UnInit is usually called in the managed
119 DocStr(wxFrameManager::SetFlags,
120 "SetFlags is used to specify the FrameManager's behavioral
121 settings. The flags parameter is described in the docs for `__init__`
124 DocStr(wxFrameManager::GetFlags,
125 "GetFlags returns the current FrameManager's flags.
128 DocStr(wxFrameManager::SetManagedWindow,
129 "SetManagedWindow is called to specify the window which is to be
130 managed by the FrameManager. It is normally a `wx.Frame` but it is
131 possible to also allow docking within any container window. This only
132 needs to be called if the window was not given to the manager in the
136 DocStr(wxFrameManager::GetManagedWindow,
137 "GetManagedWindow returns the window currently being managed by the
141 DocStr(wxFrameManager::SetArtProvider,
142 "SetArtProvider instructs FrameManager to use the art provider
143 specified for all drawing calls. This allows plugable look-and-feel
144 features. The previous art provider object, if any, will be destroyed
147 :note: If you wish to use a custom `DockArt` class to override drawing
148 or metrics then you shoudl derive your class from the `PyDockArt`
149 class, which has been instrumented for reflecting virtual calls to
153 DocStr(wxFrameManager::GetArtProvider,
154 "GetArtProvider returns the current art provider being used.
158 DocAStr(wxFrameManager::GetAllPanes,
159 "GetAllPanes(self) -> list",
160 "GetAllPanes returns a list of `PaneInfo` objects for all panes managed
161 by the frame manager.
165 DocStr(wxFrameManager::InsertPane,
166 "InsertPane is used to insert either a previously unmanaged pane window
167 into the frame manager, or to insert a currently managed pane
168 somewhere else. InsertPane will push all panes, rows, or docks aside
169 and insert the window into the position specified by
170 ``insert_location``. Because ``insert_location`` can specify either a pane,
171 dock row, or dock layer, the ``insert_level`` parameter is used to
172 disambiguate this. The parameter ``insert_level`` can take a value of
173 ``AUI_INSERT_PANE``, ``AUI_INSERT_ROW`` or ``AUI_INSERT_DOCK``.
176 DocStr(wxFrameManager::DetachPane,
177 "DetachPane tells the FrameManager to stop managing the pane specified
178 by window. The window, if in a floated frame, is reparented to the
179 frame managed by FrameManager.
182 DocStr(wxFrameManager::SavePerspective,
183 "SavePerspective saves the entire user interface layout into an encoded
184 string, which can then be stored someplace by the application. When a
185 perspective is restored using `LoadPerspective`, the entire user
186 interface will return to the state it was when the perspective was
190 DocStr(wxFrameManager::LoadPerspective,
191 "LoadPerspective loads a saved perspective. If ``update`` is ``True``,
192 `Update` is automatically invoked, thus realizing the saved
193 perspective on screen.
196 DocStr(wxFrameManager::Update,
197 "Update shoudl be called called after any number of changes are made to
198 any of the managed panes. Update must be invoked after `AddPane` or
199 `InsertPane` are called in order to \"realize\" or \"commit\" the
200 changes. In addition, any number of changes may be made to `PaneInfo`
201 structures (retrieved with `GetPane` or `GetAllPanes`), but to realize
202 the changes, Update must be called. This construction allows pane
203 flicker to be avoided by updating the whole layout at one time.
207 //----------------------------------------------------------------------
210 "PaneInfo specifies all the parameters for a pane for the
211 `FrameManager`. These parameters specify where the pane is on the
212 screen, whether it is docked or floating, or hidden. In addition,
213 these parameters specify the pane's docked position, floating
214 position, preferred size, minimum size, caption text among many other
218 DocStr(wxPaneInfo::IsOk,
219 "IsOk returns ``True`` if the PaneInfo structure is valid.
222 DocStr(wxPaneInfo::IsFixed,
223 "IsFixed returns ``True`` if the pane cannot be resized.
226 DocStr(wxPaneInfo::IsResizable,
227 "IsResizeable returns ``True`` if the pane can be resized.
230 DocStr(wxPaneInfo::IsShown,
231 "IsShown returns ``True`` if the pane should be drawn on the screen.
234 DocStr(wxPaneInfo::IsFloating,
235 "IsFloating returns ``True`` if the pane is floating.
238 DocStr(wxPaneInfo::IsDocked,
239 "IsDocked returns ``True`` if the pane is docked.
242 DocStr(wxPaneInfo::IsToolbar,
243 "IsToolbar returns ``True`` if the pane contains a toolbar.
246 DocStr(wxPaneInfo::IsTopDockable,
247 "IsTopDockable returns ``True`` if the pane can be docked at the top of
251 DocStr(wxPaneInfo::IsBottomDockable,
252 "IsBottomDockable returns ``True`` if the pane can be docked at the
253 bottom of the managed frame.
256 DocStr(wxPaneInfo::IsLeftDockable,
257 "IsLeftDockable returns ``True`` if the pane can be docked on the left
258 of the managed frame.
261 DocStr(wxPaneInfo::IsRightDockable,
262 "IsRightDockable returns ``True`` if the pane can be docked on the
263 right of the managed frame.
266 DocStr(wxPaneInfo::IsFloatable,
267 "IsFloatable returns ``True`` if the pane can be undocked and displayed
268 as a floating window.
271 DocStr(wxPaneInfo::IsMovable,
272 "IsMoveable returns ``True`` if the docked frame can be undocked or moved
273 to another dock position.
276 DocStr(wxPaneInfo::HasCaption,
277 "HasCaption returns ``True`` if the pane displays a caption.
280 DocStr(wxPaneInfo::HasGripper,
281 "HasGripper returns ``True`` if the pane displays a gripper.
284 DocStr(wxPaneInfo::HasBorder,
285 "HasBorder returns ``True`` if the pane displays a border.
288 DocStr(wxPaneInfo::HasCloseButton,
289 "HasCloseButton returns ``True`` if the pane displays a button to close
293 DocStr(wxPaneInfo::HasMaximizeButton,
294 "HasMaximizeButton returns ``True`` if the pane displays a button to
298 DocStr(wxPaneInfo::HasMinimizeButton,
299 "HasMinimizeButton returns ``True`` if the pane displays a button to
303 DocStr(wxPaneInfo::HasPinButton,
304 "HasPinButton returns ``True`` if the pane displays a button to float
308 DocStr(wxPaneInfo::Name,
309 "Name sets the name of the pane so it can be referenced in lookup
313 DocStr(wxPaneInfo::Caption,
314 "Caption sets the caption of the pane.
317 DocStr(wxPaneInfo::Left,
318 "Left sets the pane dock position to the left side of the frame.
321 DocStr(wxPaneInfo::Right,
322 "Right sets the pane dock position to the right side of the frame.
325 DocStr(wxPaneInfo::Top,
326 "Top sets the pane dock position to the top of the frame.
329 DocStr(wxPaneInfo::Bottom,
330 "Bottom sets the pane dock position to the bottom of the frame.
333 DocStr(wxPaneInfo::Centre,
334 "Centre sets the pane to the center position of the frame.
337 DocStr(wxPaneInfo::Center,
338 "Center sets the pane to the center position of the frame.
341 DocStr(wxPaneInfo::Direction,
342 "Direction determines the direction of the docked pane.
345 DocStr(wxPaneInfo::Layer,
346 "Layer determines the layer of the docked pane.
349 DocStr(wxPaneInfo::Row,
350 "Row determines the row of the docked pane.
353 DocStr(wxPaneInfo::Position,
354 "Position determines the position of the docked pane.
359 DocStr(wxPaneInfo::MaxSize,
360 "MaxSize sets the maximum size of the pane.
363 DocStr(wxPaneInfo::BestSize,
364 "BestSize sets the ideal size for the pane.
367 DocStr(wxPaneInfo::MinSize,
368 "MinSize sets the minimum size of the pane.
371 DocStr(wxPaneInfo::FloatingPosition,
372 "FloatingPosition sets the position of the floating pane.
375 DocStr(wxPaneInfo::FloatingSize,
376 "FloatingSize sets the size of the floating pane.
381 DocStr(wxPaneInfo::Fixed,
382 "Fixed forces a pane to be fixed size so that it cannot be resized.
385 DocStr(wxPaneInfo::Resizable,
386 "Resized allows a pane to be resized if resizable is true, and forces
387 it to be a fixed size if resizeable is false.
390 DocStr(wxPaneInfo::Dock,
391 "Dock indicates that a pane should be docked.
394 DocStr(wxPaneInfo::Float,
395 "Float indicates that a pane should be floated.
398 DocStr(wxPaneInfo::Hide,
399 "Hide indicates that a pane should be hidden.
402 DocStr(wxPaneInfo::Show,
403 "Show indicates that a pane should be shown.
406 DocStr(wxPaneInfo::CaptionVisible,
407 "CaptionVisible indicates that a pane caption should be visible.
410 DocStr(wxPaneInfo::PaneBorder,
411 "PaneBorder indicates that a border should be drawn for the pane.
414 DocStr(wxPaneInfo::Gripper,
415 "Gripper indicates that a gripper should be drawn for the pane..
418 DocStr(wxPaneInfo::CloseButton,
419 "CloseButton indicates that a close button should be drawn for the
423 DocStr(wxPaneInfo::MaximizeButton,
424 "MaximizeButton indicates that a maximize button should be drawn for
428 DocStr(wxPaneInfo::MinimizeButton,
429 "MinimizeButton indicates that a minimize button should be drawn for
433 DocStr(wxPaneInfo::PinButton,
434 "PinButton indicates that a pin button should be drawn for the pane.
437 DocStr(wxPaneInfo::DestroyOnClose,
438 "DestroyOnClose indicates whether a pane should be detroyed when it is
442 DocStr(wxPaneInfo::TopDockable,
443 "TopDockable indicates whether a pane can be docked at the top of the
447 DocStr(wxPaneInfo::BottomDockable,
448 "BottomDockable indicates whether a pane can be docked at the bottom of
452 DocStr(wxPaneInfo::LeftDockable,
453 "LeftDockable indicates whether a pane can be docked on the left of the
457 DocStr(wxPaneInfo::RightDockable,
458 "RightDockable indicates whether a pane can be docked on the right of
462 DocStr(wxPaneInfo::Floatable,
463 "Floatable indicates whether a frame can be floated.
466 DocStr(wxPaneInfo::Movable,
467 "Movable indicates whether a frame can be moved.
470 DocStr(wxPaneInfo::Dockable,
471 "Dockable indicates whether a pane can be docked at any position of the
475 DocStr(wxPaneInfo::DefaultPane,
476 "DefaultPane specifies that the pane should adopt the default pane
480 DocStr(wxPaneInfo::CentrePane,
481 "CentrePane specifies that the pane should adopt the default center
485 DocStr(wxPaneInfo::CenterPane,
486 "CenterPane specifies that the pane should adopt the default center
490 DocStr(wxPaneInfo::ToolbarPane,
491 "ToolbarPane specifies that the pane should adopt the default toolbar
495 DocStr(wxPaneInfo::SetFlag,
496 "SetFlag turns the property given by flag on or off with the
497 option_state parameter.
500 DocStr(wxPaneInfo::HasFlag,
501 "HasFlag returns ``True`` if the the property specified by flag is
506 //---------------------------------------------------------------------------
509 "DockArt is an art provider class which does all of the drawing for
510 `FrameManager`. This allows the library caller to customize or replace the
511 dock art and drawing routines by deriving a new class from `PyDockArt`. The
512 active dock art class can be set via `FrameManager.SetArtProvider`.
515 DocStr(wxDefaultDockArt,
516 "DefaultDockArt is the type of art class constructed by default for the
517 `FrameManager`.","");