X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e72403492b3e78f8114d89baae6f81ea24c74647..3200f37d25e1e0fae6c054e773701a73318657fd:/docs/latex/wx/flexsizr.tex diff --git a/docs/latex/wx/flexsizr.tex b/docs/latex/wx/flexsizr.tex index 3b7e39f0e1..be71c5c326 100644 --- a/docs/latex/wx/flexsizr.tex +++ b/docs/latex/wx/flexsizr.tex @@ -6,12 +6,30 @@ height and all fields in one column having the same width, but all rows or all columns are not necessarily the same height or width as in the \helpref{wxGridSizer}{wxgridsizer}. +Since wxWidgets 2.5.0, wxFlexGridSizer can also size items equally in one +direction but unequally ("flexibly") in the other. If the sizer is only +flexible in one direction (this can be changed using +\helpref{SetFlexibleDrection}{wxflexgridsizersetflexibledirection}), +it needs to be decided how the sizer should grow in the other ("non flexible") +direction in order to fill the available space. The +\helpref{SetNonFlexibleGrowMode}{wxflexgridsizersetnonflexiblegrowmode} method +serves this purpose. + \wxheading{Derived from} \helpref{wxGridSizer}{wxgridsizer}\\ \helpref{wxSizer}{wxsizer}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + +\wxheading{See also} + +\helpref{wxSizer}{wxsizer}, \helpref{Sizer overview}{sizeroverview} + + \membersection{wxFlexGridSizer::wxFlexGridSizer}\label{wxflexgridsizerwxflexgridsizer} \func{}{wxFlexGridSizer}{\param{int }{rows}, \param{int }{cols}, \param{int }{vgap}, \param{int }{hgap}} @@ -27,27 +45,113 @@ all children. \membersection{wxFlexGridSizer::AddGrowableCol}\label{wxflexgridsizeraddgrowablecol} -\func{void}{AddGrowableCol}{\param{size\_t }{idx}} +\func{void}{AddGrowableCol}{\param{size\_t }{idx}, \param{int }{proportion = $0$}} -Specifies that column idx (starting from zero) should be grown if +Specifies that column {\it idx} (starting from zero) should be grown if there is extra space available to the sizer. +The {\it proportion} parameter has the same meaning as the stretch factor for +the \helpref{sizers}{sizeroverview} except that if all proportions are $0$, +then all columns are resized equally (instead of not being resized at all). + \membersection{wxFlexGridSizer::AddGrowableRow}\label{wxflexgridsizeraddgrowablerow} -\func{void}{AddGrowableRow}{\param{size\_t }{idx}} +\func{void}{AddGrowableRow}{\param{size\_t }{idx}, \param{int }{proportion = $0$}} Specifies that row idx (starting from zero) should be grown if there is extra space available to the sizer. +See \helpref{AddGrowableCol}{wxflexgridsizeraddgrowablecol} for the description +of {\it proportion} parameter. + +\membersection{wxFlexGridSizer::GetFlexibleDirection}\label{wxflexgridsizergetflexibledrection} + +\constfunc{int}{GetFlexibleDirections}{\void} + +Returns a wxOrientation value that specifies whether the sizer flexibly +resizes its columns, rows, or both (default). + +\wxheading{Return value} + +One of the following values: + +\begin{twocollist} +\twocolitem{wxVERTICAL}{Rows are flexibly sized.} +\twocolitem{wxHORIZONTAL}{Columns are flexibly sized.} +\twocolitem{wxBOTH}{Both rows and columns are flexibly sized (this is the default value).} +\end{twocollist} + +\wxheading{See also} + +\helpref{SetFlexibleDrection}{wxflexgridsizersetflexibledirection} + + +\membersection{wxFlexGridSizer::GetNonFlexibleGrowMode}\label{wxflexgridsizergetnonflexiblegrowmode} + +\constfunc{int}{GetNonFlexibleGrowMode}{\void} + +Returns the value that specifies how the sizer grows in the "non flexible" +direction if there is one. + +\wxheading{Return value} + +One of the following values: + +\begin{twocollist} +\twocolitem{wxFLEX\_GROWMODE\_NONE}{Sizer doesn't grow in the non flexible direction.} +\twocolitem{wxFLEX\_GROWMODE\_SPECIFIED}{Sizer honors growable columns/rows set with +\helpref{AddGrowableCol}{wxflexgridsizeraddgrowablecol} and +\helpref{AddGrowableRow}{wxflexgridsizeraddgrowablerow}. +In this case equal sizing applies to minimum sizes of columns or +rows (this is the default value).} +\twocolitem{wxFLEX\_GROWMODE\_ALL}{Sizer equally stretches all columns or rows +in the non flexible direction, whether they are growable or not in the flexbile +direction.} +\end{twocollist} + +\wxheading{See also} + +\helpref{SetFlexibleDrection}{wxflexgridsizersetflexibledirection}, +\helpref{SetNonFlexibleGrowMode}{wxflexgridsizersetnonflexiblegrowmode} + + \membersection{wxFlexGridSizer::RemoveGrowableCol}\label{wxflexgridsizerremovegrowablecol} \func{void}{RemoveGrowableCol}{\param{size\_t }{idx}} Specifies that column idx is no longer growable. + \membersection{wxFlexGridSizer::RemoveGrowableRow}\label{wxflexgridsizerremovegrowablerow} \func{void}{RemoveGrowableRow}{\param{size\_t }{idx}} Specifies that row idx is no longer growable. + +\membersection{wxFlexGridSizer::SetFlexibleDirection}\label{wxflexgridsizersetflexibledirection} + +\func{void}{SetFlexibleDirections}{\param{int }{direction}} + +Specifies whether the sizer should flexibly resize its columns, rows, or +both. Argument {\tt direction} can be {\tt wxVERTICAL}, {\tt wxHORIZONTAL} +or {\tt wxBOTH} (which is the default value). Any other value is ignored. See +\helpref{GetFlexibleDirection()}{wxflexgridsizergetflexibledrection} for the +explanation of these values. + +Note that this method does not trigger relayout. + + +\membersection{wxFlexGridSizer::SetNonFlexibleGrowMode}\label{wxflexgridsizersetnonflexiblegrowmode} + +\func{void}{SetNonFlexibleGrowMode}{\param{wxFlexSizerGrowMode }{mode}} + +Specifies how the sizer should grow in the non flexible direction if +there is one (so +\helpref{SetFlexibleDirections()}{wxflexgridsizersetflexibledirection} must have +been called previously). Argument {\it mode} can be one of those documented in +\helpref{GetNonFlexibleGrowMode}{wxflexgridsizergetnonflexiblegrowmode}, please +see there for their explanation. + +Note that this method does not trigger relayout. +