Added wxWrapSizer (modified patch: [1826950] Wrapping Sizer) from Arne Steinarson

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-12-08 11:37:17 +00:00
parent a0b5751160
commit 15f7c30516
9 changed files with 615 additions and 40 deletions

View File

@@ -187,6 +187,7 @@ These are the classes relevant to sizer-based layout.
\twocolitem{\helpref{wxGridBagSizer}{wxgridbagsizer}}{Another grid sizer that lets you specify the cell an item is in, and items can span rows and/or columns.}
\twocolitem{\helpref{wxBoxSizer}{wxboxsizer}}{A sizer for laying out windows in a row or column}
\twocolitem{\helpref{wxStaticBoxSizer}{wxstaticboxsizer}}{Same as wxBoxSizer, but with a surrounding static box}
\twocolitem{\helpref{wxWrapSizer}{wxwrapsizer}}{A sizer which wraps its child controls as size permits}
\end{twocollist}
\overview{Constraints overview}{constraintsoverview} describes constraints-based layout.

View File

@@ -458,6 +458,7 @@
\input vscrolledwindow.tex
\input window.tex
\input wupdlock.tex
\input wrapsizer.tex
\input createevt.tex
\input windowdc.tex
\input destroyevt.tex

View 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

View File

@@ -0,0 +1,53 @@
\section{\class{wxWrapSizer}}\label{wxwrapsizer}
A wrap sizer lays out its items in a single line, like a box sizer - as long
as there is space available in that direction. Once all available space in
the primary direction has been used a new line is added an items are added there.
So a wrap sizer has a primary orientation for adding items, and adds lines
as needed in the secondary direction.
\wxheading{Derived from}
\helpref{wxBoxSizer}{wxboxsizer}\\
\helpref{wxSizer}{wxsizer}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/wrapsizer.h>
\wxheading{Library}
\helpref{wxCore}{librarieslist}
\wxheading{See also}
\helpref{wxBoxSizer}{wxboxsizer}, \helpref{wxSizer}{wxsizer}, \helpref{Sizer overview}{sizeroverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxWrapSizer::wxWrapSizer}\label{wxwrapsizerwxwrapsizer}
\func{}{wxWrapSizer}{\param{int }{orient}, \param{int }{flags}}
Constructor for a wxWrapSizer. {\it orient} determines the primary direction of
the sizer (the most common case being wxHORIZONTAL). The flags parameter may have
the value wxEXTEND_LAST_ON_EACH_LINE. This will cause the last item one each line
to use any remaining space on that line.
\membersection{wxWrapSizer::InformFirstDirection}\label{wxwrapsizerinformfirstdirection}
\func{bool}{InformFirstDirection}{\param{int }{direction}, \param{int }{size},
\param{int }{availableOtherDir }}
Not used by an application. This is the mechanism by which sizers can inform
sub-items of the first determined size component. The sub-item can then better
determine its size requirements.
Returns true if the information was used (and the sub-item min size was updated).