Say you wish to have an extra toolbar at the top of the frame, a project window to the left of
the MDI client window, and an output window above the status bar. You should therefore create
the windows in this order: toolbar, output window, project window. This ensures that the toolbar and
-output window take up space at the top and bottom, and then the remaining height inbetween is used for
+output window take up space at the top and bottom, and then the remaining height in-between is used for
the project window.
wxLayoutAlgorithm is quite independent of the way in which
\helpref{wxObject}{wxobject}
+\wxheading{Include files}
+
+<wx/laywin.h>
+
\wxheading{Event handling}
The algorithm object does not respond to events, but itself generates the
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxLayoutAlgorithm::wxLayoutAlgorithm}
+\membersection{wxLayoutAlgorithm::wxLayoutAlgorithm}\label{wxlayoutalgorithmctor}
\func{}{wxLayoutAlgorithm}{\void}
Default constructor.
-\membersection{wxLayoutAlgorithm::\destruct{wxLayoutAlgorithm}}
+\membersection{wxLayoutAlgorithm::\destruct{wxLayoutAlgorithm}}\label{wxlayoutalgorithmdtor}
\func{}{\destruct{wxLayoutAlgorithm}}{\void}
Destructor.
+\membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe}
+
+\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow = NULL}}
+
+Lays out the children of a normal frame. {\it mainWindow} is set to occupy the remaining space.
+
+This function simply calls \helpref{wxLayoutAlgorithm::LayoutWindow}{wxlayoutalgorithmlayoutwindow}.
+
\membersection{wxLayoutAlgorithm::LayoutMDIFrame}\label{wxlayoutalgorithmlayoutmdiframe}
\constfunc{bool}{LayoutMDIFrame}{\param{wxMDIParentFrame* }{frame}, \param{wxRect*}{ rect = NULL}}
The MDI client window is set to occupy the remaining space.
-\membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe}
+\membersection{wxLayoutAlgorithm::LayoutWindow}\label{wxlayoutalgorithmlayoutwindow}
-\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow}}
+\constfunc{bool}{LayoutWindow}{\param{wxWindow* }{parent}, \param{wxWindow*}{ mainWindow = NULL}}
-Lays out the children of a normal frame.
+Lays out the children of a normal frame or other window.
-{\it mainWindow} is set to occupy the remaining space.
+{\it mainWindow} is set to occupy the remaining space. If this is not specified, then
+the last window that responds to a calculate layout event in query mode will get the remaining space
+(that is, a non-query OnCalculateLayout event will not be sent to this window and the window will be set
+to the remaining size).