Began to move wxAUI docs to latex.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
378
docs/latex/wx/framemanager.tex
Normal file
378
docs/latex/wx/framemanager.tex
Normal file
@@ -0,0 +1,378 @@
|
||||
\section{\class{wxFrameManager}}\label{wxframemanager}
|
||||
|
||||
wxFrameManager is the central class of the wxAUI class framework.
|
||||
|
||||
See also \helpref{wxAUI overview}{wxauioverview}.
|
||||
|
||||
wxFrameManager manages the panes associated with it
|
||||
for a particular wxFrame, using a pane's wxPaneInfo information to
|
||||
determine each pane's docking and floating behavior. wxFrameManager
|
||||
uses wxWidgets' 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.
|
||||
|
||||
wxFrameManager 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, wxFrameManager's
|
||||
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:
|
||||
|
||||
\begin{verbatim}
|
||||
wxTextCtrl* text1 = new wxTextCtrl(this, -1);
|
||||
wxTextCtrl* text2 = new wxTextCtrl(this, -1);
|
||||
m_mgr.AddPane(text1, wxLEFT, wxT("Pane Caption"));
|
||||
m_mgr.AddPane(text2, wxBOTTOM, wxT("Pane Caption"));
|
||||
m_mgr.Update();
|
||||
\end{verbatim}
|
||||
|
||||
Later on, the positions can be modified easily. The following will float
|
||||
an existing pane in a tool window:
|
||||
|
||||
\begin{verbatim}
|
||||
m_mgr.GetPane(text1).Float();
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Layers, Rows and Directions, Positions}
|
||||
|
||||
Inside wxAUI, the docking layout is figured out by checking several
|
||||
pane parameters. Four of these are important for determining where a
|
||||
pane will end up:
|
||||
|
||||
{\bf 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.
|
||||
|
||||
{\bf Position:}
|
||||
More than one pane can be placed inside of a dock. Imagine to 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.
|
||||
|
||||
{\bf 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.
|
||||
|
||||
|
||||
{\bf 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 wxAUI sample.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/aui/aui.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxPaneInfo}{wxpaneinfo}
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
\begin{verbatim}
|
||||
enum wxFrameManagerDock
|
||||
{
|
||||
wxAUI_DOCK_NONE = 0,
|
||||
wxAUI_DOCK_TOP = 1,
|
||||
wxAUI_DOCK_RIGHT = 2,
|
||||
wxAUI_DOCK_BOTTOM = 3,
|
||||
wxAUI_DOCK_LEFT = 4,
|
||||
wxAUI_DOCK_CENTER = 5,
|
||||
wxAUI_DOCK_CENTRE = wxAUI_DOCK_CENTER
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\begin{verbatim}
|
||||
enum wxFrameManagerOption
|
||||
{
|
||||
wxAUI_MGR_ALLOW_FLOATING = 1 << 0,
|
||||
wxAUI_MGR_ALLOW_ACTIVE_PANE = 1 << 1,
|
||||
wxAUI_MGR_TRANSPARENT_DRAG = 1 << 2,
|
||||
wxAUI_MGR_TRANSPARENT_HINT = 1 << 3,
|
||||
wxAUI_MGR_TRANSPARENT_HINT_FADE = 1 << 4,
|
||||
wxAUI_MGR_DISABLE_VENETIAN_BLINDS = 1 << 5,
|
||||
wxAUI_MGR_DISABLE_VENETIAN_BLINDS_FADE = 1 << 6,
|
||||
|
||||
wxAUI_MGR_DEFAULT = wxAUI_MGR_ALLOW_FLOATING |
|
||||
wxAUI_MGR_TRANSPARENT_HINT |
|
||||
wxAUI_MGR_TRANSPARENT_HINT_FADE |
|
||||
wxAUI_MGR_DISABLE_VENETIAN_BLINDS_FADE
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::wxFrameManager}\label{wxframemanagerwxframemanager}
|
||||
|
||||
\func{}{wxFrameManager}{\param{wxWindow* }{managed\_wnd = NULL}, \param{unsigned int }{flags = wxAUI\_MGR\_DEFAULT}}
|
||||
|
||||
Constructor. {\it frame} specifies the wxFrame which should be managed.
|
||||
{\it flags} specifies options which allow the frame management behavior
|
||||
to be modified.
|
||||
|
||||
\membersection{wxFrameManager::\destruct{wxFrameManager}}\label{wxframemanagerdtor}
|
||||
|
||||
\func{}{\destruct{wxFrameManager}}{\void}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::AddPane}\label{wxframemanageraddpane}
|
||||
|
||||
\func{bool}{AddPane}{\param{wxWindow* }{window}, \param{const wxPaneInfo\& }{pane\_info}}
|
||||
|
||||
|
||||
\func{bool}{AddPane}{\param{wxWindow* }{window}, \param{const wxPaneInfo\& }{pane\_info}, \param{const wxPoint\& }{drop\_pos}}
|
||||
|
||||
|
||||
\func{bool}{AddPane}{\param{wxWindow* }{window}, \param{int }{direction = wxLEFT}, \param{const wxString\& }{caption = wxEmptyString}}
|
||||
|
||||
Tells the frame manager to start managing a child window.
|
||||
|
||||
\membersection{wxFrameManager::DetachPane}\label{wxframemanagerdetachpane}
|
||||
|
||||
\func{bool}{DetachPane}{\param{wxWindow* }{window}}
|
||||
|
||||
Tells the wxFrameManager to stop managing the pane specified by window.
|
||||
The window, if in a floated frame, is reparented to the frame managed
|
||||
by wxFrameManager.
|
||||
|
||||
\membersection{wxFrameManager::DoDrop}\label{wxframemanagerdodrop}
|
||||
|
||||
\func{bool}{DoDrop}{\param{wxDockInfoArray\& }{docks}, \param{wxPaneInfoArray\& }{panes}, \param{wxPaneInfo\& }{drop}, \param{const wxPoint\& }{pt}, \param{const wxPoint\& }{action\_offset = wxPoint(0,0)}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::DoFrameLayout}\label{wxframemanagerdoframelayout}
|
||||
|
||||
\func{void}{DoFrameLayout}{\void}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::DrawHintRect}\label{wxframemanagerdrawhintrect}
|
||||
|
||||
\func{void}{DrawHintRect}{\param{wxWindow* }{pane\_window}, \param{const wxPoint\& }{pt}, \param{const wxPoint\& }{offset}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::GetAllPanes}\label{wxframemanagergetallpanes}
|
||||
|
||||
\func{wxPaneInfoArray\&}{GetAllPanes}{\void}
|
||||
|
||||
Returns an array of all panes managed by the frame manager.
|
||||
|
||||
\membersection{wxFrameManager::GetArtProvider}\label{wxframemanagergetartprovider}
|
||||
|
||||
\constfunc{wxDockArt*}{GetArtProvider}{\void}
|
||||
|
||||
Returns the current art provider being used.
|
||||
|
||||
\membersection{wxFrameManager::GetDockPixelOffset}\label{wxframemanagergetdockpixeloffset}
|
||||
|
||||
\func{int}{GetDockPixelOffset}{\param{wxPaneInfo\& }{test}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::GetFlags}\label{wxframemanagergetflags}
|
||||
|
||||
\constfunc{unsigned int}{GetFlags}{\void}
|
||||
|
||||
Returns the current manager's flags.
|
||||
|
||||
\membersection{wxFrameManager::GetManagedWindow}\label{wxframemanagergetmanagedwindow}
|
||||
|
||||
\constfunc{wxWindow*}{GetManagedWindow}{\void}
|
||||
|
||||
Returns the frame currently being managed by wxFrameManager.
|
||||
|
||||
\membersection{wxFrameManager::GetPane}\label{wxframemanagergetpane}
|
||||
|
||||
\func{wxPaneInfo\&}{GetPane}{\param{wxWindow* }{window}}
|
||||
|
||||
{\it GetPane]} is used to lookup a wxPaneInfo object
|
||||
either by window pointer or by pane name, which acts as a unique id for
|
||||
a window pane. The returned wxPaneInfo object may then be modified to
|
||||
change a pane's look, state or position. After one or more
|
||||
modifications to wxPaneInfo, wxFrameManager::Update() should be called
|
||||
to commit the changes to the user interface. If the lookup failed
|
||||
(meaning the pane could not be found in the manager), a call to the
|
||||
returned wxPaneInfo's IsOk() method will return false.
|
||||
|
||||
\func{wxPaneInfo\&}{GetPane}{\param{const wxString\& }{name}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::GetPanePart}\label{wxframemanagergetpanepart}
|
||||
|
||||
\func{wxDockUIPart*}{GetPanePart}{\param{wxWindow* }{pane}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::GetPanePositionsAndSizes}\label{wxframemanagergetpanepositionsandsizes}
|
||||
|
||||
\func{void}{GetPanePositionsAndSizes}{\param{wxDockInfo\& }{dock}, \param{wxArrayInt\& }{positions}, \param{wxArrayInt\& }{sizes}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::HideHint}\label{wxframemanagerhidehint}
|
||||
|
||||
\func{void}{HideHint}{\void}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::HitTest}\label{wxframemanagerhittest}
|
||||
|
||||
\func{wxDockUIPart*}{HitTest}{\param{int }{x}, \param{int }{y}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::InsertPane}\label{wxframemanagerinsertpane}
|
||||
|
||||
\func{bool}{InsertPane}{\param{wxWindow* }{window}, \param{const wxPaneInfo\& }{insert\_location}, \param{int }{insert\_level = wxAUI\_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. {\it InsertPane} will push all panes, rows, or docks aside and
|
||||
insert the window into the position specified by insert_location.
|
||||
Because insert_location 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 wxAUI\_INSERT\_PANE, wxAUI\_INSERT\_ROW
|
||||
or wxAUI\_INSERT\_DOCK.
|
||||
|
||||
\membersection{wxFrameManager::LayoutAddDock}\label{wxframemanagerlayoutadddock}
|
||||
|
||||
\func{void}{LayoutAddDock}{\param{wxSizer* }{container}, \param{wxDockInfo\& }{dock}, \param{wxDockUIPartArray\& }{uiparts}, \param{bool }{spacer\_only}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::LayoutAddPane}\label{wxframemanagerlayoutaddpane}
|
||||
|
||||
\func{void}{LayoutAddPane}{\param{wxSizer* }{container}, \param{wxDockInfo\& }{dock}, \param{wxPaneInfo\& }{pane}, \param{wxDockUIPartArray\& }{uiparts}, \param{bool }{spacer\_only}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::LayoutAll}\label{wxframemanagerlayoutall}
|
||||
|
||||
\func{wxSizer*}{LayoutAll}{\param{wxPaneInfoArray\& }{panes}, \param{wxDockInfoArray\& }{docks}, \param{wxDockUIPartArray\& }{uiparts}, \param{bool }{spacer\_only = false}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::LoadPaneInfo}\label{wxframemanagerloadpaneinfo}
|
||||
|
||||
\func{void}{LoadPaneInfo}{\param{wxString }{pane\_part}, \param{wxPaneInfo\& }{pane}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::LoadPerspective}\label{wxframemanagerloadperspective}
|
||||
|
||||
\func{bool}{LoadPerspective}{\param{const wxString\& }{perspective}, \param{bool }{update = true}}
|
||||
|
||||
Loads a saved perspective. If update is true, wxFrameManager::Update()
|
||||
is automatically invoked, thus realizing the saved perspective on screen.
|
||||
|
||||
\membersection{wxFrameManager::LookupPane}\label{wxframemanagerlookuppane}
|
||||
|
||||
\func{wxPaneInfo\&}{LookupPane}{\param{wxWindow* }{window}}
|
||||
|
||||
|
||||
\func{wxPaneInfo\&}{LookupPane}{\param{const wxString\& }{name}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::ProcessDockResult}\label{wxframemanagerprocessdockresult}
|
||||
|
||||
\func{bool}{ProcessDockResult}{\param{wxPaneInfo\& }{target}, \param{const wxPaneInfo\& }{new\_pos}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::ProcessMgrEvent}\label{wxframemanagerprocessmgrevent}
|
||||
|
||||
\func{void}{ProcessMgrEvent}{\param{wxFrameManagerEvent\& }{event}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::Render}\label{wxframemanagerrender}
|
||||
|
||||
\func{void}{Render}{\param{wxDC* }{dc}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::Repaint}\label{wxframemanagerrepaint}
|
||||
|
||||
\func{void}{Repaint}{\param{wxDC* }{dc = NULL}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::SavePaneInfo}\label{wxframemanagersavepaneinfo}
|
||||
|
||||
\func{wxString}{SavePaneInfo}{\param{wxPaneInfo\& }{pane}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::SavePerspective}\label{wxframemanagersaveperspective}
|
||||
|
||||
\func{wxString}{SavePerspective}{\void}
|
||||
|
||||
Saves the entire user interface layout into an encoded wxString, which
|
||||
can then be stored by the application (probably using wxConfig). When
|
||||
a perspective is restored using LoadPerspective(), the entire user
|
||||
interface will return to the state it was when the perspective was saved.
|
||||
|
||||
\membersection{wxFrameManager::SetArtProvider}\label{wxframemanagersetartprovider}
|
||||
|
||||
\func{void}{SetArtProvider}{\param{wxDockArt* }{art\_provider}}
|
||||
|
||||
Instructs wxFrameManager to use art provider specified by parameter
|
||||
{\it art_provider} for all drawing calls. This allows plugable
|
||||
look-and-feel features. The previous art provider object, if any,
|
||||
will be deleted by wxFrameManager.
|
||||
|
||||
\membersection{wxFrameManager::SetFlags}\label{wxframemanagersetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{unsigned int }{flags}}
|
||||
|
||||
This method is used to specify wxFrameManager's settings flags. {\it flags}
|
||||
specifies options which allow the frame management behavior to be modified.
|
||||
|
||||
\membersection{wxFrameManager::SetManagedWindow}\label{wxframemanagersetmanagedwindow}
|
||||
|
||||
\func{void}{SetManagedWindow}{\param{wxWindow* }{managed\_wnd}}
|
||||
|
||||
Called to specify the frame which is to be managed by wxFrameManager.
|
||||
|
||||
\membersection{wxFrameManager::ShowHint}\label{wxframemanagershowhint}
|
||||
|
||||
\func{void}{ShowHint}{\param{const wxRect\& }{rect}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::UnInit}\label{wxframemanageruninit}
|
||||
|
||||
\func{void}{UnInit}{\void}
|
||||
|
||||
Uninitializes the framework and should be called before a frame is
|
||||
destroyed. UnInit() is usually called in the managed wxFrame's destructor.
|
||||
|
||||
\membersection{wxFrameManager::Update}\label{wxframemanagerupdate}
|
||||
|
||||
\func{void}{Update}{\void}
|
||||
|
||||
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
|
||||
wxPaneInfo structures (retrieved with wxFrameManager::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.
|
||||
|
||||
\membersection{wxFrameManager::UpdateButtonOnScreen}\label{wxframemanagerupdatebuttononscreen}
|
||||
|
||||
\func{void}{UpdateButtonOnScreen}{\param{wxDockUIPart* }{button\_ui\_part}, \param{const wxMouseEvent\& }{event}}
|
||||
|
||||
|
||||
\membersection{wxFrameManager::wxDEPRECATED}\label{wxframemanagerwxdeprecated}
|
||||
|
||||
\func{}{wxDEPRECATED}{\param{void }{SetFrame(wxFrame* frame)}}
|
||||
|
||||
deprecated -- please use SetManagedWindow() and
|
||||
and GetManagedWindow() instead
|
||||
|
||||
|
||||
\func{}{wxDEPRECATED}{\param{wxFrame* GetFrame() }{const}}
|
||||
|
Reference in New Issue
Block a user