]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/latex/wx/flexsizr.tex
escape underscores introduced by the last change
[wxWidgets.git] / docs / latex / wx / flexsizr.tex
... / ...
CommitLineData
1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name: flexsizr.tex
3%% Purpose: wxFlexGridSizer
4%% Author: wxWidgets Team
5%% Modified by:
6%% Created:
7%% RCS-ID: $Id$
8%% Copyright: (c) wxWidgets Team
9%% License: wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12\section{\class{wxFlexGridSizer}}\label{wxflexgridsizer}
13
14A flex grid sizer is a sizer which lays out its children in a two-dimensional
15table with all table fields in one row having the same
16height and all fields in one column having the same width, but all
17rows or all columns are not necessarily the same height or width as in
18the \helpref{wxGridSizer}{wxgridsizer}.
19
20Since wxWidgets 2.5.0, wxFlexGridSizer can also size items equally in one
21direction but unequally ("flexibly") in the other. If the sizer is only
22flexible in one direction (this can be changed using
23\helpref{SetFlexibleDirection}{wxflexgridsizersetflexibledirection}),
24it needs to be decided how the sizer should grow in the other ("non-flexible")
25direction in order to fill the available space. The
26\helpref{SetNonFlexibleGrowMode}{wxflexgridsizersetnonflexiblegrowmode} method
27serves this purpose.
28
29\wxheading{Derived from}
30
31\helpref{wxGridSizer}{wxgridsizer}\\
32\helpref{wxSizer}{wxsizer}\\
33\helpref{wxObject}{wxobject}
34
35\wxheading{Include files}
36
37<wx/sizer.h>
38
39\wxheading{Library}
40
41\helpref{wxCore}{librarieslist}
42
43\wxheading{See also}
44
45\helpref{wxSizer}{wxsizer}, \helpref{Sizer overview}{sizeroverview}
46
47\latexignore{\rtfignore{\wxheading{Members}}}
48
49\membersection{wxFlexGridSizer::wxFlexGridSizer}\label{wxflexgridsizerwxflexgridsizer}
50
51\func{}{wxFlexGridSizer}{\param{int }{rows}, \param{int }{cols}, \param{int }{vgap}, \param{int }{hgap}}
52
53\func{}{wxFlexGridSizer}{\param{int }{cols}, \param{int }{vgap = 0}, \param{int }{hgap = 0}}
54
55Constructor for a wxGridSizer. {\it rows} and {\it cols} determine the number of
56columns and rows in the sizer - if either of the parameters is zero, it will be
57calculated to form the total number of children in the sizer, thus making the
58sizer grow dynamically. {\it vgap} and {\it hgap} define extra space between
59all children.
60
61
62\membersection{wxFlexGridSizer::AddGrowableCol}\label{wxflexgridsizeraddgrowablecol}
63
64\func{void}{AddGrowableCol}{\param{size\_t }{idx}, \param{int }{proportion = $0$}}
65
66Specifies that column {\it idx} (starting from zero) should be grown if
67there is extra space available to the sizer.
68
69The {\it proportion} parameter has the same meaning as the stretch factor for
70the \helpref{sizers}{sizeroverview} except that if all proportions are $0$,
71then all columns are resized equally (instead of not being resized at all).
72
73\membersection{wxFlexGridSizer::AddGrowableRow}\label{wxflexgridsizeraddgrowablerow}
74
75\func{void}{AddGrowableRow}{\param{size\_t }{idx}, \param{int }{proportion = $0$}}
76
77Specifies that row idx (starting from zero) should be grown if there
78is extra space available to the sizer.
79
80See \helpref{AddGrowableCol}{wxflexgridsizeraddgrowablecol} for the description
81of {\it proportion} parameter.
82
83\membersection{wxFlexGridSizer::GetFlexibleDirection}\label{wxflexgridsizergetflexibledrection}
84
85\constfunc{int}{GetFlexibleDirection}{\void}
86
87Returns a wxOrientation value that specifies whether the sizer flexibly
88resizes its columns, rows, or both (default).
89
90\wxheading{Return value}
91
92One of the following values:
93
94\begin{twocollist}
95\twocolitem{wxVERTICAL}{Rows are flexibly sized.}
96\twocolitem{wxHORIZONTAL}{Columns are flexibly sized.}
97\twocolitem{wxBOTH}{Both rows and columns are flexibly sized (this is the default value).}
98\end{twocollist}
99
100\wxheading{See also}
101
102\helpref{SetFlexibleDirection}{wxflexgridsizersetflexibledirection}
103
104
105\membersection{wxFlexGridSizer::GetNonFlexibleGrowMode}\label{wxflexgridsizergetnonflexiblegrowmode}
106
107\constfunc{int}{GetNonFlexibleGrowMode}{\void}
108
109Returns the value that specifies how the sizer grows in the "non-flexible"
110direction if there is one.
111
112\wxheading{Return value}
113
114One of the following values:
115
116\begin{twocollist}
117\twocolitem{wxFLEX\_GROWMODE\_NONE}{Sizer doesn't grow in the non-flexible direction.}
118\twocolitem{wxFLEX\_GROWMODE\_SPECIFIED}{Sizer honors growable columns/rows set with
119\helpref{AddGrowableCol}{wxflexgridsizeraddgrowablecol} and
120\helpref{AddGrowableRow}{wxflexgridsizeraddgrowablerow}.
121In this case equal sizing applies to minimum sizes of columns or
122rows (this is the default value).}
123\twocolitem{wxFLEX\_GROWMODE\_ALL}{Sizer equally stretches all columns or rows
124in the non-flexible direction, whether they are growable or not in the flexible
125direction.}
126\end{twocollist}
127
128\wxheading{See also}
129
130\helpref{SetFlexibleDirection}{wxflexgridsizersetflexibledirection},
131\helpref{SetNonFlexibleGrowMode}{wxflexgridsizersetnonflexiblegrowmode}
132
133
134\membersection{wxFlexGridSizer::RemoveGrowableCol}\label{wxflexgridsizerremovegrowablecol}
135
136\func{void}{RemoveGrowableCol}{\param{size\_t }{idx}}
137
138Specifies that column idx is no longer growable.
139
140
141\membersection{wxFlexGridSizer::RemoveGrowableRow}\label{wxflexgridsizerremovegrowablerow}
142
143\func{void}{RemoveGrowableRow}{\param{size\_t }{idx}}
144
145Specifies that row idx is no longer growable.
146
147
148\membersection{wxFlexGridSizer::SetFlexibleDirection}\label{wxflexgridsizersetflexibledirection}
149
150\func{void}{SetFlexibleDirection}{\param{int }{direction}}
151
152Specifies whether the sizer should flexibly resize its columns, rows, or
153both. Argument {\tt direction} can be {\tt wxVERTICAL}, {\tt wxHORIZONTAL}
154or {\tt wxBOTH} (which is the default value). Any other value is ignored. See
155\helpref{GetFlexibleDirection()}{wxflexgridsizergetflexibledrection} for the
156explanation of these values.
157
158Note that this method does not trigger relayout.
159
160
161\membersection{wxFlexGridSizer::SetNonFlexibleGrowMode}\label{wxflexgridsizersetnonflexiblegrowmode}
162
163\func{void}{SetNonFlexibleGrowMode}{\param{wxFlexSizerGrowMode }{mode}}
164
165Specifies how the sizer should grow in the non-flexible direction if
166there is one (so
167\helpref{SetFlexibleDirection()}{wxflexgridsizersetflexibledirection} must have
168been called previously). Argument {\it mode} can be one of those documented in
169\helpref{GetNonFlexibleGrowMode}{wxflexgridsizergetnonflexiblegrowmode}, please
170see there for their explanation.
171
172Note that this method does not trigger relayout.
173