method to determine where the drawing operations should take place.
+Please notice that sizers, like child windows, are owned by the library and
+will be deleted by it which implies that they must be allocated on the heap.
+However if you create a sizer and do not add it to another sizer or window, the
+library wouldn't be able to delete such an orphan sizer and in this, and only
+this, case it should be deleted explicitly.
+
\pythonnote{If you wish to create a sizer class in wxPython you should
derive the class from {\tt wxPySizer} in order to get Python-aware
capabilities for the various virtual methods.}
\section{\class{wxSizerFlags}}\label{wxsizerflags}
-PRELIMINARY.
+Normally, when you add an item to a sizer via
+\helpref{wxSizer::Add}{wxsizeradd}, you have to specify a lot of flags and
+parameters which can be unwieldy. This is where wxSizerFlags comes in: it
+allows you to specify all parameters using the named methods instead. For
+example, instead of
+
+\begin{verbatim}
+ sizer->Add(ctrl, 0, wxEXPAND | wxBORDER, 10);
+\end{verbatim}
+
+you can now write
-Normally, when you add something to a sizer via \helpref{wxSizer::Add}{wxsizeradd}, you have to specify a lot of flags and parameters. This can be unwieldy.
+\begin{verbatim}
+ sizer->Add(ctrl, wxSizerFlags().Expand().Border(10));
+\end{verbatim}
-This is where wxSizerFlags comes in. Instead of a bunch of flags and other stuff, you can use wxSizerFlags, which is a convenient class for doing so.
+This is more readable and also allows you to create wxSizerFlags objects which
+can be reused for several sizer items.
+\begin{verbatim}
+ wxSizerFlags flagsExpand(1);
+ flagsExpand.Expand().Border(10);
-Note that by specification, all methods of wxSizerFlags return the wxSizerFlags object itself to ease the calling of multiple methods at a time.
+ sizer->Add(ctrl1, flagsExpand);
+ sizer->Add(ctrl2, flagsExpand);
+\end{verbatim}
+
+Note that by specification, all methods of wxSizerFlags return the wxSizerFlags
+object itself to allowing chaining multiple methods calls like in the examples
+above.
\membersection{wxSizerFlags::wxSizerFlags}\label{wxsizerflagsctor}
\func{}{wxSizerFlags}{\param{int }{proportion = 0}}
-Creates the wxSizer with the proportion specified by \tt{proportion}.
+Creates the wxSizer with the proportion specified by \arg{proportion}.
\membersection{wxSizerFlags::Align}\label{wxsizerflagsalign}
\func{wxSizerFlags\& }{Align}{\param{int }{align = 0}}
-Sets the alignment of this wxSizerFlags to \tt{align}.
+Sets the alignment of this wxSizerFlags to \arg{align}.
Note that if this method is not called, the wxSizerFlags has no specified alignment.
\func{wxSizerFlags\& }{Border}{\param{int }{direction}, \param{int }{borderinpixels}}
-Sets the wxSizerFlags to have a border of a number of pixels specified by \tt{borderinpixels} with the directions specified by \tt{direction}.
-
\func{wxSizerFlags\& }{Border}{\param{int }{direction = wxALL}}
-Sets the wxSizerFlags to have a border of a default size with the directions specified by \tt{direction}.
+Sets the wxSizerFlags to have a border of a number of pixels specified by
+\arg{borderinpixels} with the directions specified by \arg{direction}.
+
+In the overloaded version without \arg{borderinpixels} parameter, the border of
+default size, as returned by \helpref{GetDefaultBorder}{wxsizerflagsgetdefaultborder},
+is used.
\membersection{wxSizerFlags::Center}\label{wxsizerflagscenter}
\helpref{wxSizerFlags::Center}{wxsizerflagscenter} for people with the other dialect of english.
+\membersection{wxSizerFlags::DoubleBorder}\label{wxsizerflagsdoubleborder}
+
+\func{wxSizerFlags\& }{DoubleBorder}{\param{int }{direction = wxALL}}
+
+Sets the border in the given \arg{direction} having twice the default border
+size.
+
+
+\membersection{wxSizerFlags::DoubleHorzBorder}\label{wxsizerflagsdoublehorzborder}
+
+\func{wxSizerFlags\& }{DoubleHorzBorder}{\void}
+
+Sets the border in left and right directions having twice the default border
+size.
+
+
\membersection{wxSizerFlags::Expand}\label{wxsizerflagsexpand}
\func{wxSizerFlags\& }{Expand}{\void}
Sets the object of the wxSizerFlags to expand to fill as much area as it can.
+\membersection{wxSizerFlags::GetDefaultBorder}\label{wxsizerflagsgetdefaultborder}
+
+\func{static int}{GetDefaultBorder}{\void}
+
+Returns the border used by default in \helpref{Border}{wxsizerflagsborder} method.
+
+
\membersection{wxSizerFlags::Left}\label{wxsizerflagsleft}
\func{wxSizerFlags\& }{Left}{\void}
\func{wxSizerFlags\& }{Proportion}{\param{int }{proportion = 0}}
-Sets the proportion of this wxSizerFlags to \tt{proportion}
+Sets the proportion of this wxSizerFlags to \arg{proportion}
\membersection{wxSizerFlags::Right}\label{wxsizerflagsright}
\helpref{Align}{wxsizerflagsalign}
+
+\membersection{wxSizerFlags::TripleBorder}\label{wxsizerflagstriplebleborder}
+
+\func{wxSizerFlags\& }{TripleBorder}{\param{int }{direction = wxALL}}
+
+Sets the border in the given \arg{direction} having thrice the default border
+size.
+
+