]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/sizer.tex
no changes, just come cleanup and more comments
[wxWidgets.git] / docs / latex / wx / sizer.tex
index 73979305da598573ef9b6a55b6b786f3cef167c4..8800335c251224b46695a4d9fc2050b23bd951ee 100644 (file)
@@ -4,8 +4,10 @@ wxSizer is the abstract base class used for laying out subwindows in a window. Y
 cannot use wxSizer directly; instead, you will have to use one of the sizer
 classes derived from it. Currently there are \helpref{wxBoxSizer}{wxboxsizer}, 
 \helpref{wxStaticBoxSizer}{wxstaticboxsizer},
-\helpref{wxGridSizer}{wxgridsizer} 
-\helpref{wxFlexGridSizer}{wxflexgridsizer} and \helpref{wxGridBagSizer}{wxgridbagsizer}.
+\helpref{wxGridSizer}{wxgridsizer},
+\helpref{wxFlexGridSizer}{wxflexgridsizer},
+\helpref{wxWrapSizer}{wxwrapsizer}
+ and \helpref{wxGridBagSizer}{wxgridbagsizer}.
 
 The layout algorithm used by sizers in wxWidgets is closely related to layout
 in other GUI toolkits, such as Java's AWT, the GTK toolkit or the Qt toolkit. It is
@@ -43,13 +45,16 @@ capabilities for the various virtual methods.}
 
 \wxheading{Derived from}
 
-\helpref{wxObject}{wxobject}\\
-\helpref{wxClientDataContainer}{wxclientdatacontainer}
+\helpref{wxObject}{wxobject}
 
 \wxheading{Include files}
 
 <wx/sizer.h>
 
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
 \wxheading{See also}
 
 \helpref{Sizer overview}{sizeroverview}
@@ -90,7 +95,7 @@ here:
 
 \docparam{window}{The window to be added to the sizer. Its initial size (either set explicitly by the
 user or calculated internally when using wxDefaultSize) is interpreted as the minimal and in many
-cases also the initial size. This is particularly useful in connection with \helpref{SetSizeHints}{wxsizersetsizehints}.}
+cases also the initial size.}
 
 \docparam{sizer}{The (child-)sizer to be added to the sizer. This allows placing a child sizer in a
 sizer and thus to create hierarchies of sizers (typically a vertical box as the top sizer and several
@@ -182,7 +187,7 @@ Adds stretchable space to the sizer. More readable way of calling
 \func{wxSize}{CalcMin}{\void}
 
 This method is abstract and has to be overwritten by any derived class.
-Here, the sizer will do the actual calculation of its children minimal sizes.
+Here, the sizer will do the actual calculation of its children's minimal sizes.
 
 
 \membersection{wxSizer::Clear}\label{wxsizerclear}
@@ -217,13 +222,11 @@ Returns true if the child item was found and detached, false otherwise.
 
 \func{wxSize}{Fit}{\param{wxWindow* }{window}}
 
-Tell the sizer to resize the \arg{window} to match the sizer's minimal size. This
-is commonly done in the constructor of the window itself, see sample in the description
+Tell the sizer to resize the \arg{window} so that its client area matchesthe 
+sizer's minimal size. This is commonly done in the constructor of the window
+itself, see sample in the description
 of \helpref{wxBoxSizer}{wxboxsizer}. Returns the new size.
 
-For a top level window this is the total window size, not client size.
-
-
 \membersection{wxSizer::FitInside}\label{wxsizerfitinside}
 
 \func{void}{FitInside}{\param{wxWindow* }{window}}
@@ -239,6 +242,17 @@ windows which manage it.
 \helpref{wxSizer::SetVirtualSizeHints}{wxsizersetvirtualsizehints}
 
 
+\membersection{wxSizer::GetChildren}\label{wxsizergetchildren}
+
+\constfunc{const wxSizerItemList\&}{GetChildren}{\void}
+
+\func{wxSizerItemList\&}{GetChildren}{\void}
+
+Returns the list of the items in this sizer. The elements of type-safe 
+\helpref{wxList}{wxlist} \texttt{wxSizerItemList} are objects of type 
+\helpref{wxSizerItem *}{wxsizeritem}.
+
+
 \membersection{wxSizer::GetContainingWindow}\label{wxsizergetcontainingwindow}
 
 \constfunc{wxWindow *}{GetContainingWindow}{\void}
@@ -260,6 +274,18 @@ Use parameter \arg{recursive} to search in subsizers too.
 
 Returns pointer to item or NULL.
 
+\membersection{wxSizer::GetItemById}\label{wxsizergetitembyid}
+
+\func{wxSizerItem *}{GetItemById}{\param{int }{id}, \param{bool }{recursive = false}}
+
+Finds item of the sizer which has the given \arg{id}.  This \arg{id} is not the
+window id but the id of the wxSizerItem itself.  This is mainly useful for
+retrieving the sizers created from XRC resources. 
+
+Use parameter \arg{recursive} to search in subsizers too.
+
+Returns pointer to item or \NULL.
+
 
 \membersection{wxSizer::GetSize}\label{wxsizergetsize}
 
@@ -492,10 +518,17 @@ after initial creation.
 
 \func{void}{SetSizeHints}{\param{wxWindow* }{window}}
 
-Tell the sizer to set (and \helpref{Fit}{wxsizerfit}) the minimal size of the \arg{window} to
-match the sizer's minimal size.  This is commonly done in the constructor of the window itself,
-see sample in the description of \helpref{wxBoxSizer}{wxboxsizer} if the window is resizable
-(as are many dialogs under Unix and frames on probably all platforms).
+This method first calls \helpref{wxSizer::Fit}{wxsizerfit} and then 
+\helpref{SetSizeHints}{wxtoplevelwindowsetsizehints} on the {\it window}
+passed to it. This only makes sense when {\it window} is actually a
+\helpref{wxTopLevelWindow}{wxtoplevelwindow} such as a wxFrame or a
+wxDialog, since SetSizeHints only has any effect in these classes. 
+It does nothing in normal windows or controls.
+
+This method is implicitly used by \helpref{wxWindow::SetSizerAndFit}{wxwindowsetsizerandfit} 
+which is commonly invoked in the constructor of a toplevel window itself (see
+the sample in the description of \helpref{wxBoxSizer}{wxboxsizer}) if the
+toplevel window is resizable.
 
 
 \membersection{wxSizer::SetVirtualSizeHints}\label{wxsizersetvirtualsizehints}
@@ -541,7 +574,7 @@ allows you to specify all parameters using the named methods instead. For
 example, instead of
 
 \begin{verbatim}
-    sizer->Add(ctrl, 0, wxEXPAND | wxBORDER, 10);
+    sizer->Add(ctrl, 0, wxEXPAND | wxALL, 10);
 \end{verbatim}
 
 you can now write
@@ -564,6 +597,23 @@ Note that by specification, all methods of wxSizerFlags return the wxSizerFlags
 object itself to allowing chaining multiple methods calls like in the examples
 above.
 
+\wxheading{See also}
+
+\helpref{wxSizer}{wxsizer}
+
+\wxheading{Derived from}
+
+No base class
+
+\wxheading{Include files}
+
+<wx/sizer.h>
+
+\wxheading{Library}
+
+\helpref{wxCore}{librarieslist}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
 
 \membersection{wxSizerFlags::wxSizerFlags}\label{wxsizerflagsctor}
 
@@ -582,8 +632,10 @@ Note that if this method is not called, the wxSizerFlags has no specified alignm
 
 \wxheading{See also}
 
+\helpref{Top}{wxsizerflagstop},\\
 \helpref{Left}{wxsizerflagsleft},\\
 \helpref{Right}{wxsizerflagsright},\\
+\helpref{Bottom}{wxsizerflagsbottom},\\
 \helpref{Centre}{wxsizerflagscentre}
 
 
@@ -601,6 +653,17 @@ default size, as returned by \helpref{GetDefaultBorder}{wxsizerflagsgetdefaultbo
 is used.
 
 
+\membersection{wxSizerFlags::Bottom}\label{wxsizerflagsbottom}
+
+\func{wxSizerFlags\& }{Bottom}{\void}
+
+Aligns the object to the bottom, shortcut for \texttt{Align(wxALIGN\_BOTTOM)}
+
+\wxheading{See also}
+
+\helpref{Align}{wxsizerflagsalign}
+
+
 \membersection{wxSizerFlags::Center}\label{wxsizerflagscenter}
 
 \func{wxSizerFlags\& }{Center}{\void}
@@ -656,6 +719,14 @@ Aligns the object to the left, shortcut for \texttt{Align(wxALIGN\_LEFT)}
 \helpref{Align}{wxsizerflagsalign}
 
 
+\membersection{wxSizerFlags::FixedMinSize}\label{wxsizerflagsfixedminsize}
+
+\func{wxSizerFlags\& }{FixedMinSize}{\void}
+
+Set the \texttt{wxFIXED\_MINSIZE} flag which indicates that the initial size of
+the window should be also set as its minimal size.
+
+
 \membersection{wxSizerFlags::Proportion}\label{wxsizerflagsproportion}
 
 \func{wxSizerFlags\& }{Proportion}{\param{int }{proportion = 0}}
@@ -674,6 +745,25 @@ Aligns the object to the right, shortcut for \texttt{Align(wxALIGN\_RIGHT)}
 \helpref{Align}{wxsizerflagsalign}
 
 
+\membersection{wxSizerFlags::Shaped}\label{wxsizerflagsshaped}
+
+\func{wxSizerFlags\& }{Shaped}{\void}
+
+Set the \texttt{wx\_SHAPED} flag which indicates that the elements should
+always keep the fixed width to height ratio equal to its original value.
+
+
+\membersection{wxSizerFlags::Top}\label{wxsizerflagstop}
+
+\func{wxSizerFlags\& }{Top}{\void}
+
+Aligns the object to the top, shortcut for \texttt{Align(wxALIGN\_TOP)}
+
+\wxheading{See also}
+
+\helpref{Align}{wxsizerflagsalign}
+
+
 \membersection{wxSizerFlags::TripleBorder}\label{wxsizerflagstriplebleborder}
 
 \func{wxSizerFlags\& }{TripleBorder}{\param{int }{direction = wxALL}}