/**
- @todo wxAuiManager behavior style flags.
+ wxAuiManager behaviour and visual effects style flags.
*/
enum wxAuiManagerOption
{
+ /// Allow a pane to be undocked to take the form of a wxMiniFrame.
wxAUI_MGR_ALLOW_FLOATING = 1 << 0,
+ /// Change the color of the title bar of the pane when it is activated.
wxAUI_MGR_ALLOW_ACTIVE_PANE = 1 << 1,
+ /// Make the pane transparent during its movement.
wxAUI_MGR_TRANSPARENT_DRAG = 1 << 2,
+ /// The possible location for docking is indicated by a translucent area.
wxAUI_MGR_TRANSPARENT_HINT = 1 << 3,
+ /// The possible location for docking is indicated by a gradually appearing
+ /// partially transparent area.
wxAUI_MGR_VENETIAN_BLINDS_HINT = 1 << 4,
+ /// The possible location for docking is indicated by a rectangular outline.
wxAUI_MGR_RECTANGLE_HINT = 1 << 5,
+ /// The translucent area where the pane could be docked appears gradually.
wxAUI_MGR_HINT_FADE = 1 << 6,
+ /// Used in complement of wxAUI_MGR_VENETIAN_BLINDS_HINT to show the hint immediately.
wxAUI_MGR_NO_VENETIAN_BLINDS_FADE = 1 << 7,
+ /// When a docked pane is resized, its content is refreshed in live (instead of moving
+ /// the border alone and refreshing the content at the end).
wxAUI_MGR_LIVE_RESIZE = 1 << 8,
-
+ /// Default behavior.
wxAUI_MGR_DEFAULT = wxAUI_MGR_ALLOW_FLOATING |
wxAUI_MGR_TRANSPARENT_HINT |
wxAUI_MGR_HINT_FADE |
wxAuiManager manages the panes associated with it for a particular wxFrame,
using a pane's wxAuiPaneInfo information to determine each pane's docking
- and floating behavior.
+ and floating behaviour.
wxAuiManager uses wxWidgets' sizer mechanism to plan the layout of each
frame. It uses a replaceable dock art class to do all drawing, so all
in a lower level yield to panes in higher levels. The best way to
understand layers is by running the wxAUI sample.
+ @beginStyleTable
+ @style{wxAUI_MGR_ALLOW_FLOATING}
+ Allow a pane to be undocked to take the form of a wxMiniFrame.
+ @style{wxAUI_MGR_ALLOW_ACTIVE_PANE}
+ Change the color of the title bar of the pane when it is activated.
+ @style{wxAUI_MGR_TRANSPARENT_DRAG}
+ Make the pane transparent during its movement.
+ @style{wxAUI_MGR_TRANSPARENT_HINT}
+ The possible location for docking is indicated by a translucent area.
+ @style{wxAUI_MGR_VENETIAN_BLINDS_HINT}
+ The possible location for docking is indicated by gradually
+ appearing partially transparent hint.
+ @style{wxAUI_MGR_RECTANGLE_HINT}
+ The possible location for docking is indicated by a rectangular
+ outline.
+ @style{wxAUI_MGR_HINT_FADE}
+ The translucent area where the pane could be docked appears gradually.
+ @style{wxAUI_MGR_NO_VENETIAN_BLINDS_FADE}
+ Used in complement of wxAUI_MGR_VENETIAN_BLINDS_HINT to show the
+ docking hint immediately.
+ @style{wxAUI_MGR_LIVE_RESIZE}
+ When a docked pane is resized, its content is refreshed in live (instead of moving
+ the border alone and refreshing the content at the end).
+ @style{wxAUI_MGR_DEFAULT}
+ Default behavior, combines: wxAUI_MGR_ALLOW_FLOATING | wxAUI_MGR_TRANSPARENT_HINT |
+ wxAUI_MGR_HINT_FADE | wxAUI_MGR_NO_VENETIAN_BLINDS_FADE.
+ @endStyleTable
@beginEventEmissionTable{wxAuiManagerEvent}
@event{EVT_AUI_PANE_BUTTON(func)}
Triggered when a pane is maximized.
@event{EVT_AUI_PANE_RESTORE(func)}
Triggered when a pane is restored.
+ @event{EVT_AUI_PANE_ACTIVATED(func)}
+ Triggered when a pane is made 'active'. This event is new since
+ wxWidgets 2.9.4.
@event{EVT_AUI_RENDER(func)}
This event can be caught to override the default renderer in order to
custom draw your wxAuiManager window (not recommended).
{
public:
/**
- Constructor. @a managed_wnd specifies the wxFrame which should be managed.
- @a flags specifies options which allow the frame management behavior
- to be modified.
+ Constructor.
+
+ @param managed_wnd
+ Specifies the wxFrame which should be managed.
+ @param flags
+ Specifies the frame management behaviour and visual effects
+ with the ::wxAuiManagerOption's style flags.
*/
wxAuiManager(wxWindow* managed_wnd = NULL,
unsigned int flags = wxAUI_MGR_DEFAULT);
void GetDockSizeConstraint(double* widthpct, double* heightpct) const;
/**
- Returns the current manager's flags.
+ Returns the current ::wxAuiManagerOption's flags.
*/
unsigned int GetFlags() const;
int insert_level = wxAUI_INSERT_PANE);
/**
- LoadPaneInfo() is similar to to LoadPerspective, with the exception that it
+ LoadPaneInfo() is similar to LoadPerspective, with the exception that it
only loads information about a single pane. It is used in combination with
SavePaneInfo().
*/
void SetDockSizeConstraint(double widthpct, double heightpct);
/**
- This method is used to specify wxAuiManager's settings flags. @a flags
- specifies options which allow the frame management behavior to be modified.
+ This method is used to specify ::wxAuiManagerOption's flags. @a flags
+ specifies options which allow the frame management behaviour to be modified.
*/
void SetFlags(unsigned int flags);
wxAuiPaneInfo& DefaultPane();
/**
- DestroyOnClose() indicates whether a pane should be detroyed when it is closed.
+ DestroyOnClose() indicates whether a pane should be destroyed when it is closed.
Normally a pane is simply hidden when the close button is clicked.
Setting DestroyOnClose to @true will cause the window to be destroyed when
the user clicks the pane's close button.
*/
wxAuiPaneInfo& Hide();
+ /**
+ Icon() sets the icon of the pane.
+
+ Notice that the height of the icon should be smaller than the value
+ returned by wxAuiDockArt::GetMetric(wxAUI_DOCKART_CAPTION_SIZE) to
+ ensure that it appears correctly.
+
+ @since 2.9.2
+ */
+ wxAuiPaneInfo& Icon(const wxBitmap& b);
+
/**
IsBottomDockable() returns @true if the pane can be docked at the bottom of the
managed frame.
+
+ @see IsDockable()
*/
bool IsBottomDockable() const;
/**
- IsDocked() returns @true if the pane is docked.
+ Returns @true if the pane can be docked at any side.
+
+ @see IsTopDockable(), IsBottomDockable(), IsLeftDockable(), IsRightDockable()
+
+ @since 2.9.2
+ */
+ bool IsDockable() const;
+
+ /**
+ IsDocked() returns @true if the pane is currently docked.
*/
bool IsDocked() const;
/**
IsLeftDockable() returns @true if the pane can be docked on the left of the
managed frame.
+
+ @see IsDockable()
*/
bool IsLeftDockable() const;
/**
IsRightDockable() returns @true if the pane can be docked on the right of the
managed frame.
+
+ @see IsDockable()
*/
bool IsRightDockable() const;
/**
IsTopDockable() returns @true if the pane can be docked at the top of the
managed frame.
+
+ @see IsDockable()
*/
bool IsTopDockable() const;
See wxAuiManager for available event types.
+ @beginEventTable{wxAuiManagerEvent}
+ @event{EVT_AUI_PANE_BUTTON(func)}
+ Triggered when any button is pressed for any docked panes.
+ @event{EVT_AUI_PANE_CLOSE(func)}
+ Triggered when a docked or floating pane is closed.
+ @event{EVT_AUI_PANE_MAXIMIZE(func)}
+ Triggered when a pane is maximized.
+ @event{EVT_AUI_PANE_RESTORE(func)}
+ Triggered when a pane is restored.
+ @event{EVT_AUI_PANE_ACTIVATED(func)}
+ Triggered when a pane is made 'active'. This event is new since
+ wxWidgets 2.9.4.
+ @event{EVT_AUI_RENDER(func)}
+ This event can be caught to override the default renderer in order to
+ custom draw your wxAuiManager window (not recommended).
+ @endEventTable
+
@library{wxaui}
@category{events,aui}