1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxAuiManager
4 // Author: wxWidgets team
5 // Licence: wxWindows licence
6 /////////////////////////////////////////////////////////////////////////////
10 @todo wxAuiPaneInfo dock direction types used with wxAuiManager.
17 wxAUI_DOCK_BOTTOM
= 3,
19 wxAUI_DOCK_CENTER
= 5,
20 wxAUI_DOCK_CENTRE
= wxAUI_DOCK_CENTER
25 wxAuiManager behaviour and visual effects style flags.
27 enum wxAuiManagerOption
29 /// Allow a pane to be undocked to take the form of a wxMiniFrame.
30 wxAUI_MGR_ALLOW_FLOATING
= 1 << 0,
31 /// Change the color of the title bar of the pane when it is activated.
32 wxAUI_MGR_ALLOW_ACTIVE_PANE
= 1 << 1,
33 /// Make the pane transparent during its movement.
34 wxAUI_MGR_TRANSPARENT_DRAG
= 1 << 2,
35 /// The possible location for docking is indicated by a translucent area.
36 wxAUI_MGR_TRANSPARENT_HINT
= 1 << 3,
37 /// The possible location for docking is indicated by a gradually appearing
38 /// partially transparent area.
39 wxAUI_MGR_VENETIAN_BLINDS_HINT
= 1 << 4,
40 /// The possible location for docking is indicated by a rectangular outline.
41 wxAUI_MGR_RECTANGLE_HINT
= 1 << 5,
42 /// The translucent area where the pane could be docked appears gradually.
43 wxAUI_MGR_HINT_FADE
= 1 << 6,
44 /// Used in complement of wxAUI_MGR_VENETIAN_BLINDS_HINT to show the hint immediately.
45 wxAUI_MGR_NO_VENETIAN_BLINDS_FADE
= 1 << 7,
46 /// When a docked pane is resized, its content is refreshed in live (instead of moving
47 /// the border alone and refreshing the content at the end).
48 wxAUI_MGR_LIVE_RESIZE
= 1 << 8,
50 wxAUI_MGR_DEFAULT
= wxAUI_MGR_ALLOW_FLOATING
|
51 wxAUI_MGR_TRANSPARENT_HINT
|
53 wxAUI_MGR_NO_VENETIAN_BLINDS_FADE
59 wxAuiManager is the central class of the wxAUI class framework.
61 wxAuiManager manages the panes associated with it for a particular wxFrame,
62 using a pane's wxAuiPaneInfo information to determine each pane's docking
63 and floating behaviour.
65 wxAuiManager uses wxWidgets' sizer mechanism to plan the layout of each
66 frame. It uses a replaceable dock art class to do all drawing, so all
67 drawing is localized in one area, and may be customized depending on an
68 application's specific needs.
70 wxAuiManager works as follows: the programmer adds panes to the class,
71 or makes changes to existing pane properties (dock position, floating
72 state, show state, etc.). To apply these changes, wxAuiManager's
73 Update() function is called. This batch processing can be used to avoid
74 flicker, by modifying more than one pane at a time, and then "committing"
75 all of the changes at once by calling Update().
77 Panes can be added quite easily:
80 wxTextCtrl* text1 = new wxTextCtrl(this, -1);
81 wxTextCtrl* text2 = new wxTextCtrl(this, -1);
82 m_mgr.AddPane(text1, wxLEFT, "Pane Caption");
83 m_mgr.AddPane(text2, wxBOTTOM, "Pane Caption");
87 Later on, the positions can be modified easily. The following will float
88 an existing pane in a tool window:
91 m_mgr.GetPane(text1).Float();
95 @section auimanager_layers Layers, Rows and Directions, Positions
97 Inside wxAUI, the docking layout is figured out by checking several pane
98 parameters. Four of these are important for determining where a pane will
101 @li Direction: Each docked pane has a direction, Top, Bottom, Left, Right,
102 or Center. This is fairly self-explanatory. The pane will be placed in
103 the location specified by this variable.
104 @li Position: More than one pane can be placed inside of a dock. Imagine
105 two panes being docked on the left side of a window. One pane can be
106 placed over another. In proportionally managed docks, the pane
107 position indicates its sequential position, starting with zero. So, in
108 our scenario with two panes docked on the left side, the top pane in
109 the dock would have position 0, and the second one would occupy
111 @li Row: A row can allow for two docks to be placed next to each other.
112 One of the most common places for this to happen is in the toolbar.
113 Multiple toolbar rows are allowed, the first row being row 0, and the
114 second row 1. Rows can also be used on vertically docked panes.
115 @li Layer: A layer is akin to an onion. Layer 0 is the very center of the
116 managed pane. Thus, if a pane is in layer 0, it will be closest to the
117 center window (also sometimes known as the "content window").
118 Increasing layers "swallow up" all layers of a lower value. This can
119 look very similar to multiple rows, but is different because all panes
120 in a lower level yield to panes in higher levels. The best way to
121 understand layers is by running the wxAUI sample.
124 @style{wxAUI_MGR_ALLOW_FLOATING}
125 Allow a pane to be undocked to take the form of a wxMiniFrame.
126 @style{wxAUI_MGR_ALLOW_ACTIVE_PANE}
127 Change the color of the title bar of the pane when it is activated.
128 @style{wxAUI_MGR_TRANSPARENT_DRAG}
129 Make the pane transparent during its movement.
130 @style{wxAUI_MGR_TRANSPARENT_HINT}
131 The possible location for docking is indicated by a translucent area.
132 @style{wxAUI_MGR_VENETIAN_BLINDS_HINT}
133 The possible location for docking is indicated by gradually
134 appearing partially transparent hint.
135 @style{wxAUI_MGR_RECTANGLE_HINT}
136 The possible location for docking is indicated by a rectangular
138 @style{wxAUI_MGR_HINT_FADE}
139 The translucent area where the pane could be docked appears gradually.
140 @style{wxAUI_MGR_NO_VENETIAN_BLINDS_FADE}
141 Used in complement of wxAUI_MGR_VENETIAN_BLINDS_HINT to show the
142 docking hint immediately.
143 @style{wxAUI_MGR_LIVE_RESIZE}
144 When a docked pane is resized, its content is refreshed in live (instead of moving
145 the border alone and refreshing the content at the end).
146 @style{wxAUI_MGR_DEFAULT}
147 Default behavior, combines: wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_TRANSPARENT_HINT |
148 wxAUI_MGR_HINT_FADE | wxAUI_MGR_NO_VENETIAN_BLINDS_FADE.
151 @beginEventEmissionTable{wxAuiManagerEvent}
152 @event{EVT_AUI_PANE_BUTTON(func)}
153 Triggered when any button is pressed for any docked panes.
154 @event{EVT_AUI_PANE_CLOSE(func)}
155 Triggered when a docked or floating pane is closed.
156 @event{EVT_AUI_PANE_MAXIMIZE(func)}
157 Triggered when a pane is maximized.
158 @event{EVT_AUI_PANE_RESTORE(func)}
159 Triggered when a pane is restored.
160 @event{EVT_AUI_PANE_ACTIVATED(func)}
161 Triggered when a pane is made 'active'. This event is new since
163 @event{EVT_AUI_RENDER(func)}
164 This event can be caught to override the default renderer in order to
165 custom draw your wxAuiManager window (not recommended).
171 @see @ref overview_aui, wxAuiNotebook, wxAuiDockArt, wxAuiPaneInfo
173 class wxAuiManager
: public wxEvtHandler
180 Specifies the wxFrame which should be managed.
182 Specifies the frame management behaviour and visual effects
183 with the ::wxAuiManagerOption's style flags.
185 wxAuiManager(wxWindow
* managed_wnd
= NULL
,
186 unsigned int flags
= wxAUI_MGR_DEFAULT
);
191 virtual ~wxAuiManager();
195 AddPane() tells the frame manager to start managing a child window.
196 There are several versions of this function. The first version allows
197 the full spectrum of pane parameter possibilities. The second version is
198 used for simpler user interfaces which do not require as much configuration.
199 The last version allows a drop position to be specified, which will determine
200 where the pane will be added.
202 bool AddPane(wxWindow
* window
, const wxAuiPaneInfo
& pane_info
);
203 bool AddPane(wxWindow
* window
, int direction
= wxLEFT
,
204 const wxString
& caption
= wxEmptyString
);
205 bool AddPane(wxWindow
* window
,
206 const wxAuiPaneInfo
& pane_info
,
207 const wxPoint
& drop_pos
);
211 Tells the wxAuiManager to stop managing the pane specified by window.
212 The window, if in a floated frame, is reparented to the frame managed
215 bool DetachPane(wxWindow
* window
);
218 Returns an array of all panes managed by the frame manager.
220 wxAuiPaneInfoArray
& GetAllPanes();
223 Returns the current art provider being used.
226 wxAuiDockArt
* GetArtProvider() const;
229 Returns the current dock constraint values.
230 See SetDockSizeConstraint() for more information.
232 void GetDockSizeConstraint(double* widthpct
, double* heightpct
) const;
235 Returns the current ::wxAuiManagerOption's flags.
237 unsigned int GetFlags() const;
240 Returns the frame currently being managed by wxAuiManager.
242 wxWindow
* GetManagedWindow() const;
245 Calling this method will return the wxAuiManager for a given window.
246 The @a window parameter should specify any child window or sub-child
247 window of the frame or window managed by wxAuiManager.
249 The @a window parameter need not be managed by the manager itself, nor does it
250 even need to be a child or sub-child of a managed window. It must however
251 be inside the window hierarchy underneath the managed window.
253 static wxAuiManager
* GetManager(wxWindow
* window
);
257 GetPane() is used to lookup a wxAuiPaneInfo object either by window pointer
258 or by pane name, which acts as a unique id for a window pane.
260 The returned wxAuiPaneInfo object may then be modified to change a pane's
261 look, state or position. After one or more modifications to wxAuiPaneInfo,
262 wxAuiManager::Update() should be called to commit the changes to the user
263 interface. If the lookup failed (meaning the pane could not be found in the
264 manager), a call to the returned wxAuiPaneInfo's IsOk() method will return @false.
266 wxAuiPaneInfo
& GetPane(wxWindow
* window
);
267 wxAuiPaneInfo
& GetPane(const wxString
& name
);
271 HideHint() hides any docking hint that may be visible.
273 virtual void HideHint();
276 This method is used to insert either a previously unmanaged pane window
277 into the frame manager, or to insert a currently managed pane somewhere
278 else. InsertPane() will push all panes, rows, or docks aside and
279 insert the window into the position specified by @a insert_location.
281 Because @a insert_location can specify either a pane, dock row, or dock
282 layer, the @a insert_level parameter is used to disambiguate this.
283 The parameter @a insert_level can take a value of wxAUI_INSERT_PANE,
284 wxAUI_INSERT_ROW or wxAUI_INSERT_DOCK.
286 bool InsertPane(wxWindow
* window
,
287 const wxAuiPaneInfo
& insert_location
,
288 int insert_level
= wxAUI_INSERT_PANE
);
291 LoadPaneInfo() is similar to LoadPerspective, with the exception that it
292 only loads information about a single pane. It is used in combination with
295 void LoadPaneInfo(wxString pane_part
, wxAuiPaneInfo
& pane
);
298 Loads a saved perspective. If update is @true, wxAuiManager::Update()
299 is automatically invoked, thus realizing the saved perspective on screen.
301 bool LoadPerspective(const wxString
& perspective
,
305 SavePaneInfo() is similar to SavePerspective, with the exception that it only
306 saves information about a single pane. It is used in combination with
309 wxString
SavePaneInfo(wxAuiPaneInfo
& pane
);
312 Saves the entire user interface layout into an encoded wxString, which
313 can then be stored by the application (probably using wxConfig).
315 When a perspective is restored using LoadPerspective(), the entire user
316 interface will return to the state it was when the perspective was saved.
318 wxString
SavePerspective();
321 Instructs wxAuiManager to use art provider specified by parameter
322 @a art_provider for all drawing calls.
323 This allows plugable look-and-feel features. The previous art provider object,
324 if any, will be deleted by wxAuiManager.
328 void SetArtProvider(wxAuiDockArt
* art_provider
);
331 When a user creates a new dock by dragging a window into a docked position,
332 often times the large size of the window will create a dock that is unwieldly
333 large. wxAuiManager by default limits the size of any new dock to 1/3 of the
334 window size. For horizontal docks, this would be 1/3 of the window height.
335 For vertical docks, 1/3 of the width.
337 Calling this function will adjust this constraint value. The numbers must be
338 between 0.0 and 1.0. For instance, calling SetDockSizeContraint with
339 0.5, 0.5 will cause new docks to be limited to half of the size of the
340 entire managed window.
342 void SetDockSizeConstraint(double widthpct
, double heightpct
);
345 This method is used to specify ::wxAuiManagerOption's flags. @a flags
346 specifies options which allow the frame management behaviour to be modified.
348 void SetFlags(unsigned int flags
);
351 Called to specify the frame or window which is to be managed by wxAuiManager.
352 Frame management is not restricted to just frames. Child windows or custom
353 controls are also allowed.
355 void SetManagedWindow(wxWindow
* managed_wnd
);
358 This function is used by controls to explicitly show a hint window at the
359 specified rectangle. It is rarely called, and is mostly used by controls
360 implementing custom pane drag/drop behaviour.
361 The specified rectangle should be in screen coordinates.
363 virtual void ShowHint(const wxRect
& rect
);
366 Uninitializes the framework and should be called before a managed frame or
367 window is destroyed. UnInit() is usually called in the managed wxFrame's
368 destructor. It is necessary to call this function before the managed frame
369 or window is destroyed, otherwise the manager cannot remove its custom event
370 handlers from a window.
375 This method is called after any number of changes are
376 made to any of the managed panes. Update() must be invoked after
377 AddPane() or InsertPane() are called in order to "realize" or "commit"
378 the changes. In addition, any number of changes may be made to
379 wxAuiPaneInfo structures (retrieved with wxAuiManager::GetPane), but to
380 realize the changes, Update() must be called. This construction allows
381 pane flicker to be avoided by updating the whole layout at one time.
388 ProcessDockResult() is a protected member of the wxAUI layout manager.
389 It can be overridden by derived classes to provide custom docking calculations.
391 virtual bool ProcessDockResult(wxAuiPaneInfo
& target
,
392 const wxAuiPaneInfo
& new_pos
);
400 wxAuiPaneInfo is part of the wxAUI class framework.
401 See also @ref overview_aui.
403 wxAuiPaneInfo specifies all the parameters for a pane.
404 These parameters specify where the pane is on the screen, whether it is docked
405 or floating, or hidden.
406 In addition, these parameters specify the pane's docked position, floating
407 position, preferred size, minimum size, caption text among many other parameters.
412 @see wxAuiManager, wxAuiDockArt
422 wxAuiPaneInfo(const wxAuiPaneInfo
& c
);
426 BestSize() sets the ideal size for the pane. The docking manager will attempt
427 to use this size as much as possible when docking or floating the pane.
429 wxAuiPaneInfo
& BestSize(const wxSize
& size
);
430 wxAuiPaneInfo
& BestSize(int x
, int y
);
434 Bottom() sets the pane dock position to the bottom side of the frame. This is
435 the same thing as calling Direction(wxAUI_DOCK_BOTTOM).
437 wxAuiPaneInfo
& Bottom();
440 BottomDockable() indicates whether a pane can be docked at the bottom of the
443 wxAuiPaneInfo
& BottomDockable(bool b
= true);
446 Caption() sets the caption of the pane.
448 wxAuiPaneInfo
& Caption(const wxString
& c
);
451 CaptionVisible indicates that a pane caption should be visible. If @false, no
452 pane caption is drawn.
454 wxAuiPaneInfo
& CaptionVisible(bool visible
= true);
458 Center() sets the pane dock position to the left side of the frame.
459 The centre pane is the space in the middle after all border panes (left, top,
460 right, bottom) are subtracted from the layout.
461 This is the same thing as calling Direction(wxAUI_DOCK_CENTRE).
463 wxAuiPaneInfo
& Centre();
464 wxAuiPaneInfo
& Center();
469 CentrePane() specifies that the pane should adopt the default center pane
470 settings. Centre panes usually do not have caption bars.
471 This function provides an easy way of preparing a pane to be displayed in
472 the center dock position.
474 wxAuiPaneInfo
& CentrePane();
475 wxAuiPaneInfo
& CenterPane();
479 CloseButton() indicates that a close button should be drawn for the pane.
481 wxAuiPaneInfo
& CloseButton(bool visible
= true);
484 DefaultPane() specifies that the pane should adopt the default pane settings.
486 wxAuiPaneInfo
& DefaultPane();
489 DestroyOnClose() indicates whether a pane should be destroyed when it is closed.
490 Normally a pane is simply hidden when the close button is clicked.
491 Setting DestroyOnClose to @true will cause the window to be destroyed when
492 the user clicks the pane's close button.
494 wxAuiPaneInfo
& DestroyOnClose(bool b
= true);
497 Direction() determines the direction of the docked pane. It is functionally the
498 same as calling Left(), Right(), Top() or Bottom(), except that docking direction
499 may be specified programmatically via the parameter.
501 wxAuiPaneInfo
& Direction(int direction
);
504 Dock() indicates that a pane should be docked. It is the opposite of Float().
506 wxAuiPaneInfo
& Dock();
509 DockFixed() causes the containing dock to have no resize sash. This is useful
510 for creating panes that span the entire width or height of a dock, but should
511 not be resizable in the other direction.
513 wxAuiPaneInfo
& DockFixed(bool b
= true);
516 Dockable() specifies whether a frame can be docked or not. It is the same as
517 specifying TopDockable(b).BottomDockable(b).LeftDockable(b).RightDockable(b).
519 wxAuiPaneInfo
& Dockable(bool b
= true);
522 Fixed() forces a pane to be fixed size so that it cannot be resized. After
523 calling Fixed(), IsFixed() will return @true.
525 wxAuiPaneInfo
& Fixed();
528 Float() indicates that a pane should be floated. It is the opposite of Dock().
530 wxAuiPaneInfo
& Float();
533 Floatable() sets whether the user will be able to undock a pane and turn it
534 into a floating window.
536 wxAuiPaneInfo
& Floatable(bool b
= true);
540 FloatingPosition() sets the position of the floating pane.
542 wxAuiPaneInfo
& FloatingPosition(const wxPoint
& pos
);
543 wxAuiPaneInfo
& FloatingPosition(int x
, int y
);
548 FloatingSize() sets the size of the floating pane.
550 wxAuiPaneInfo
& FloatingSize(const wxSize
& size
);
551 wxAuiPaneInfo
& FloatingSize(int x
, int y
);
555 Gripper() indicates that a gripper should be drawn for the pane.
557 wxAuiPaneInfo
& Gripper(bool visible
= true);
560 GripperTop() indicates that a gripper should be drawn at the top of the pane.
562 wxAuiPaneInfo
& GripperTop(bool attop
= true);
565 HasBorder() returns @true if the pane displays a border.
567 bool HasBorder() const;
570 HasCaption() returns @true if the pane displays a caption.
572 bool HasCaption() const;
575 HasCloseButton() returns @true if the pane displays a button to close the pane.
577 bool HasCloseButton() const;
580 HasFlag() returns @true if the property specified by flag is active for
583 bool HasFlag(int flag
) const;
586 HasGripper() returns @true if the pane displays a gripper.
588 bool HasGripper() const;
591 HasGripper() returns @true if the pane displays a gripper at the top.
593 bool HasGripperTop() const;
596 HasMaximizeButton() returns @true if the pane displays a button to maximize the
599 bool HasMaximizeButton() const;
602 HasMinimizeButton() returns @true if the pane displays a button to minimize the
605 bool HasMinimizeButton() const;
608 HasPinButton() returns @true if the pane displays a button to float the pane.
610 bool HasPinButton() const;
613 Hide() indicates that a pane should be hidden.
615 wxAuiPaneInfo
& Hide();
618 Icon() sets the icon of the pane.
620 Notice that the height of the icon should be smaller than the value
621 returned by wxAuiDockArt::GetMetric(wxAUI_DOCKART_CAPTION_SIZE) to
622 ensure that it appears correctly.
626 wxAuiPaneInfo
& Icon(const wxBitmap
& b
);
629 IsBottomDockable() returns @true if the pane can be docked at the bottom of the
634 bool IsBottomDockable() const;
637 Returns @true if the pane can be docked at any side.
639 @see IsTopDockable(), IsBottomDockable(), IsLeftDockable(), IsRightDockable()
643 bool IsDockable() const;
646 IsDocked() returns @true if the pane is currently docked.
648 bool IsDocked() const;
651 IsFixed() returns @true if the pane cannot be resized.
653 bool IsFixed() const;
656 IsFloatable() returns @true if the pane can be undocked and displayed as a
659 bool IsFloatable() const;
662 IsFloating() returns @true if the pane is floating.
664 bool IsFloating() const;
667 IsLeftDockable() returns @true if the pane can be docked on the left of the
672 bool IsLeftDockable() const;
675 IsMoveable() returns @true if the docked frame can be undocked or moved to
676 another dock position.
678 bool IsMovable() const;
681 IsOk() returns @true if the wxAuiPaneInfo structure is valid. A pane structure
682 is valid if it has an associated window.
687 IsResizable() returns @true if the pane can be resized.
689 bool IsResizable() const;
692 IsRightDockable() returns @true if the pane can be docked on the right of the
697 bool IsRightDockable() const;
700 IsShown() returns @true if the pane is currently shown.
702 bool IsShown() const;
705 IsToolbar() returns @true if the pane contains a toolbar.
707 bool IsToolbar() const;
710 IsTopDockable() returns @true if the pane can be docked at the top of the
715 bool IsTopDockable() const;
718 Layer() determines the layer of the docked pane. The dock layer is similar to
719 an onion, the inner-most layer being layer 0. Each shell moving in the outward
720 direction has a higher layer number. This allows for more complex docking layout
723 wxAuiPaneInfo
& Layer(int layer
);
726 Left() sets the pane dock position to the left side of the frame. This is the
727 same thing as calling Direction(wxAUI_DOCK_LEFT).
729 wxAuiPaneInfo
& Left();
732 LeftDockable() indicates whether a pane can be docked on the left of the frame.
734 wxAuiPaneInfo
& LeftDockable(bool b
= true);
738 MaxSize() sets the maximum size of the pane.
740 wxAuiPaneInfo
& MaxSize(const wxSize
& size
);
741 wxAuiPaneInfo
& MaxSize(int x
, int y
);
745 MaximizeButton() indicates that a maximize button should be drawn for the pane.
747 wxAuiPaneInfo
& MaximizeButton(bool visible
= true);
751 MinSize() sets the minimum size of the pane. Please note that this is only
752 partially supported as of this writing.
754 wxAuiPaneInfo
& MinSize(const wxSize
& size
);
755 wxAuiPaneInfo
& MinSize(int x
, int y
);
759 MinimizeButton() indicates that a minimize button should be drawn for the pane.
761 wxAuiPaneInfo
& MinimizeButton(bool visible
= true);
764 Movable indicates whether a frame can be moved.
766 wxAuiPaneInfo
& Movable(bool b
= true);
769 Name() sets the name of the pane so it can be referenced in lookup functions.
770 If a name is not specified by the user, a random name is assigned to the pane
771 when it is added to the manager.
773 wxAuiPaneInfo
& Name(const wxString
& n
);
776 PaneBorder indicates that a border should be drawn for the pane.
778 wxAuiPaneInfo
& PaneBorder(bool visible
= true);
781 PinButton() indicates that a pin button should be drawn for the pane.
783 wxAuiPaneInfo
& PinButton(bool visible
= true);
786 Position() determines the position of the docked pane.
788 wxAuiPaneInfo
& Position(int pos
);
791 Resizable() allows a pane to be resized if the parameter is @true, and forces it
792 to be a fixed size if the parameter is @false. This is simply an antonym for Fixed().
794 wxAuiPaneInfo
& Resizable(bool resizable
= true);
797 Right() sets the pane dock position to the right side of the frame.
799 wxAuiPaneInfo
& Right();
802 RightDockable() indicates whether a pane can be docked on the right of the
805 wxAuiPaneInfo
& RightDockable(bool b
= true);
808 Row() determines the row of the docked pane.
810 wxAuiPaneInfo
& Row(int row
);
813 Write the safe parts of a newly loaded PaneInfo structure "source" into "this"
814 used on loading perspectives etc.
816 void SafeSet(wxAuiPaneInfo source
);
819 SetFlag() turns the property given by flag on or off with the option_state
822 wxAuiPaneInfo
& SetFlag(int flag
, bool option_state
);
825 Show() indicates that a pane should be shown.
827 wxAuiPaneInfo
& Show(bool show
= true);
830 ToolbarPane() specifies that the pane should adopt the default toolbar pane
833 wxAuiPaneInfo
& ToolbarPane();
836 Top() sets the pane dock position to the top of the frame.
838 wxAuiPaneInfo
& Top();
841 TopDockable() indicates whether a pane can be docked at the top of the frame.
843 wxAuiPaneInfo
& TopDockable(bool b
= true);
846 Window() assigns the window pointer that the wxAuiPaneInfo should use.
847 This normally does not need to be specified, as the window pointer is
848 automatically assigned to the wxAuiPaneInfo structure as soon as it is added
851 wxAuiPaneInfo
& Window(wxWindow
* w
);
854 Makes a copy of the wxAuiPaneInfo object.
856 wxAuiPaneInfo
& operator=(const wxAuiPaneInfo
& c
);
862 @class wxAuiManagerEvent
864 Event used to indicate various actions taken with wxAuiManager.
866 See wxAuiManager for available event types.
868 @beginEventTable{wxAuiManagerEvent}
869 @event{EVT_AUI_PANE_BUTTON(func)}
870 Triggered when any button is pressed for any docked panes.
871 @event{EVT_AUI_PANE_CLOSE(func)}
872 Triggered when a docked or floating pane is closed.
873 @event{EVT_AUI_PANE_MAXIMIZE(func)}
874 Triggered when a pane is maximized.
875 @event{EVT_AUI_PANE_RESTORE(func)}
876 Triggered when a pane is restored.
877 @event{EVT_AUI_PANE_ACTIVATED(func)}
878 Triggered when a pane is made 'active'. This event is new since
880 @event{EVT_AUI_RENDER(func)}
881 This event can be caught to override the default renderer in order to
882 custom draw your wxAuiManager window (not recommended).
886 @category{events,aui}
888 @see wxAuiManager, wxAuiPaneInfo
890 class wxAuiManagerEvent
: public wxEvent
896 wxAuiManagerEvent(wxEventType type
= wxEVT_NULL
);
899 @return @true if this event can be vetoed.
906 @return The ID of the button that was clicked.
916 @return @true if this event was vetoed.
923 @return The wxAuiManager this event is associated with.
925 wxAuiManager
* GetManager();
928 @return The pane this event is associated with.
930 wxAuiPaneInfo
* GetPane();
933 Sets the ID of the button clicked that triggered this event.
935 void SetButton(int button
);
938 Sets whether or not this event can be vetoed.
940 void SetCanVeto(bool can_veto
);
945 void SetDC(wxDC
* pdc
);
948 Sets the wxAuiManager this event is associated with.
950 void SetManager(wxAuiManager
* manager
);
953 Sets the pane this event is associated with.
955 void SetPane(wxAuiPaneInfo
* pane
);
958 Cancels the action indicated by this event if CanVeto() is @true.
960 void Veto(bool veto
= true);