]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/sizer.tex
rename UpdatePulse() to Pulse() (forgot to commit with the rest of the changes)
[wxWidgets.git] / docs / latex / wx / sizer.tex
index c1961173964c495e6d52732df1bee9cb03f329cf..73979305da598573ef9b6a55b6b786f3cef167c4 100644 (file)
@@ -31,6 +31,12 @@ add empty space of the desired size and attributes, and then use the wxSizerItem
 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.}
@@ -528,27 +534,49 @@ Returns true if the child item was found, false otherwise.
 
 \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.
 
@@ -563,11 +591,14 @@ Note that if this method is not called, the wxSizerFlags has no specified alignm
 
 \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}
@@ -584,6 +615,22 @@ Sets the object of the wxSizerFlags to center itself in the area it is given.
 \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}
@@ -591,6 +638,13 @@ Sets the object of the wxSizerFlags to center itself in the area it is given.
 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}
@@ -606,7 +660,7 @@ Aligns the object to the left, shortcut for \texttt{Align(wxALIGN\_LEFT)}
 
 \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}
@@ -619,3 +673,12 @@ Aligns the object to the right, shortcut for \texttt{Align(wxALIGN\_RIGHT)}
 
 \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.
+
+