\section{\class{wxSizer}}\label{wxsizer}

wxSizer is the abstract base class used for layouting subwindows in a window. You
cannot use wxSizer directly; instead, you'll have to use \helpref{wxBoxSizer}{wxboxsizer}
or \helpref{wxStaticBoxSizer}{wxstaticboxsizer}.

The layouting algorithm used by sizers in wxWindows closely related to layouting
in other GUI toolkits, such as Java's AWT, the GTK toolkit or the Qt toolkit. It is
based upon the idea of the individual subwindows reporting their minimal required
size and their ability to get stretched if the size of the parent window has changed.
This will most often mean, that the programmer does not set the original size of
the dialog in the beginning, rather the top-most sizer will get queried and it will 
then query its children. Its children can be normal windows or other sizers, so that
a hierachy of sizer can be constructed. Note that sizer are not derived from wxWindows
and thus do not interfere with tab ordering and require very little resources compared
to a real window on screen.

What makes sizers so well fitted for use in wxWindows, is the fact that every control
reports its own minimal size and the algorithm can handle differences in font sizes
or different window (dialog item) sizes on different platforms without problems. If e.g.
the standard font as well as the overall design of Motif widgets requires more space than
on Windows, the intial dialog size will automatically be bigger on Motif than on Windows.

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\latexignore{\rtfignore{\wxheading{Members}}}


\membersection{wxSizer::wxSizer}\label{wxsizerwxsizer}

\func{}{wxSizer}{\void}


\membersection{wxSizer::\destruct{wxSizer}}\label{wxsizerdtor}

\func{}{\destruct{wxSizer}}{\void}


\membersection{wxSizer::Add}\label{wxsizeradd}

\func{void}{Add}{\param{wxWindow* }{window}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}


\membersection{wxSizer::Add}\label{wxsizeradd}

\func{void}{Add}{\param{wxSizer* }{sizer}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}


\membersection{wxSizer::Add}\label{wxsizeradd}

\func{void}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{option = 0}, \param{int }{flag = 0}, \param{int }{border = 0}}


\membersection{wxSizer::SetDimension}\label{wxsizersetdimension}

\func{void}{SetDimension}{\param{int }{x}, \param{int }{y}, \param{int }{width}, \param{int }{height}}


\membersection{wxSizer::GetSize}\label{wxsizergetsize}

\func{wxSize}{GetSize}{\void}


\membersection{wxSizer::GetPosition}\label{wxsizergetposition}

\func{wxPoint}{GetPosition}{\void}


\membersection{wxSizer::GetMinSize}\label{wxsizergetminsize}

\func{wxSize}{GetMinSize}{\void}


\membersection{wxSizer::RecalcSizes}\label{wxsizerrecalcsizes}

\func{void}{RecalcSizes}{\void}


\membersection{wxSizer::CalcMin}\label{wxsizercalcmin}

\func{wxSize}{CalcMin}{\void}


\membersection{wxSizer::Layout}\label{wxsizerlayout}

\func{void}{Layout}{\void}


\membersection{wxSizer::Fit}\label{wxsizerfit}

\func{void}{Fit}{\param{wxWindow* }{window}}


\membersection{wxSizer::SetSizeHints}\label{wxsizersetsizehints}

\func{void}{SetSizeHints}{\param{wxWindow* }{window}}


\membersection{wxSizer::GetMinWindowSize}\label{wxsizergetminwindowsize}

\func{wxSize}{GetMinWindowSize}{\param{wxWindow* }{window}