]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/sizer.tex
Further decorations in changes chapter. Missed methods in their base location.
[wxWidgets.git] / docs / latex / wx / sizer.tex
CommitLineData
8fe05782
VZ
1\section{\class{wxSizer}}\label{wxsizer}
2
7e9a386e 3wxSizer is the abstract base class used for laying out subwindows in a window. You
3baaf313
VZ
4cannot use wxSizer directly; instead, you will have to use one of the sizer
5classes derived from it. Currently there are \helpref{wxBoxSizer}{wxboxsizer},
6\helpref{wxStaticBoxSizer}{wxstaticboxsizer},
c6eb7785 7\helpref{wxGridSizer}{wxgridsizer}
b19d7524 8\helpref{wxFlexGridSizer}{wxflexgridsizer} and \helpref{wxGridBagSizer}{wxgridbagsizer}.
515da557 9
fc2171bd 10The layout algorithm used by sizers in wxWidgets is closely related to layout
515da557
RR
11in other GUI toolkits, such as Java's AWT, the GTK toolkit or the Qt toolkit. It is
12based upon the idea of the individual subwindows reporting their minimal required
13size and their ability to get stretched if the size of the parent window has changed.
749bb9f1
DS
14This will most often mean that the programmer does not set the original size of
15a dialog in the beginning, rather the dialog will be assigned a sizer and this sizer
1193d8fa
RR
16will be queried about the recommended size. The sizer in turn will query its
17children, which can be normal windows, empty space or other sizers, so that
18a hierarchy of sizers can be constructed. Note that wxSizer does not derive from wxWindow
749bb9f1 19and thus does not interfere with tab ordering and requires very little resources compared
515da557
RR
20to a real window on screen.
21
fc2171bd 22What makes sizers so well fitted for use in wxWidgets is the fact that every control
515da557
RR
23reports its own minimal size and the algorithm can handle differences in font sizes
24or different window (dialog item) sizes on different platforms without problems. If e.g.
25the standard font as well as the overall design of Motif widgets requires more space than
f6bcfd97 26on Windows, the initial dialog size will automatically be bigger on Motif than on Windows.
8fe05782 27
76e1c2de 28\pythonnote{If you wish to create a sizer class in wxPython you should
c9110876 29derive the class from {\tt wxPySizer} in order to get Python-aware
76e1c2de
RD
30capabilities for the various virtual methods.}
31
8fe05782
VZ
32\wxheading{Derived from}
33
749bb9f1
DS
34\helpref{wxObject}{wxobject}\\
35\helpref{wxClientDataContainer}{wxclientdatacontainer}
8fe05782 36
0bf97466
RN
37\wxheading{Include files}
38
39<wx/sizer.h>
40
1c0c339c
JS
41\wxheading{See also}
42
43\helpref{Sizer overview}{sizeroverview}
44
8fe05782
VZ
45\latexignore{\rtfignore{\wxheading{Members}}}
46
02c6137e 47
8fe05782
VZ
48\membersection{wxSizer::wxSizer}\label{wxsizerwxsizer}
49
50\func{}{wxSizer}{\void}
51
9c884972
RR
52The constructor. Note that wxSizer is an abstract base class and may not
53be instantiated.
8fe05782 54
02c6137e 55
8fe05782
VZ
56\membersection{wxSizer::\destruct{wxSizer}}\label{wxsizerdtor}
57
58\func{}{\destruct{wxSizer}}{\void}
59
9c884972 60The destructor.
8fe05782 61
02c6137e 62
8fe05782
VZ
63\membersection{wxSizer::Add}\label{wxsizeradd}
64
40210d8a
RN
65\func{wxSizerItem*}{Add}{\param{wxWindow* }{window}, \param{const wxSizerFlags\& }{flags}}
66
56eee37f 67\func{wxSizerItem*}{Add}{\param{wxWindow* }{window}, \param{int }{proportion = 0},\param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
8fe05782 68
40210d8a
RN
69\func{wxSizerItem*}{Add}{\param{wxSizer* }{sizer}, \param{const wxSizerFlags\& }{flags}}
70
56eee37f 71\func{wxSizerItem*}{Add}{\param{wxSizer* }{sizer}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
8fe05782 72
56eee37f 73\func{wxSizerItem*}{Add}{\param{int }{width}, \param{int }{height}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
8fe05782 74
00976fe5
RL
75Appends a child to the sizer. wxSizer itself is an abstract class, but the parameters are
76equivalent in the derived classes that you will instantiate to use it so they are described
77here:
8fe05782 78
4130b487
RR
79\docparam{window}{The window to be added to the sizer. Its initial size (either set explicitly by the
80user or calculated internally when using wxDefaultSize) is interpreted as the minimal and in many
f6bcfd97 81cases also the initial size. This is particularly useful in connection with \helpref{SetSizeHints}{wxsizersetsizehints}.}
4130b487
RR
82
83\docparam{sizer}{The (child-)sizer to be added to the sizer. This allows placing a child sizer in a
84sizer and thus to create hierarchies of sizers (typically a vertical box as the top sizer and several
85horizontal boxes on the level beneath).}
86
87\docparam{width and height}{The dimension of a spacer to be added to the sizer. Adding spacers to sizers
2edb0bde 88gives more flexibility in the design of dialogs; imagine for example a horizontal box with two buttons at the
4130b487 89bottom of a dialog: you might want to insert a space between the two buttons and make that space stretchable
2b5f62a0 90using the {\it proportion} flag and the result will be that the left button will be aligned with the left
4130b487
RR
91side of the dialog and the right button with the right side - the space in between will shrink and grow with
92the dialog.}
93
2b5f62a0 94\docparam{proportion}{Although the meaning of this parameter is undefined in wxSizer, it is used in wxBoxSizer
a6f3598d 95to indicate if a child of a sizer can change its size in the main orientation of the wxBoxSizer - where
2edb0bde 960 stands for not changeable and a value of more than zero is interpreted relative to the value of other
f6bcfd97
BP
97children of the same wxBoxSizer. For example, you might have a horizontal wxBoxSizer with three children, two
98of which are supposed to change their size with the sizer. Then the two stretchable windows would get a
fc9c7c09 99value of 1 each to make them grow and shrink equally with the sizer's horizontal dimension.}
a6f3598d 100
caa251e0
RD
101\docparam{flag}{This parameter can be used to set a number of flags
102which can be combined using the binary OR operator |. Two main
103behaviours are defined using these flags. One is the border around a
104window: the {\it border} parameter determines the border width whereas
105the flags given here determine which side(s) of the item that the
106border will be added. The other flags determine how the sizer item
107behaves when the space allotted to the sizer changes, and is somewhat
108dependent on the specific kind of sizer used.
109
110\twocolwidtha{5cm}%
111\begin{twocollist}\itemsep=0pt
112\twocolitem{\windowstyle{wxTOP}\\
113\windowstyle{wxBOTTOM}\\
114\windowstyle{wxLEFT}\\
115\windowstyle{wxRIGHT}\\
116\windowstyle{wxALL}}{These flags are used to specify which side(s) of
75173186
JS
117 the sizer item the {\it border} width will apply to. }
118
a70b2f80
DS
119\twocolitem{\windowstyle{wxEXPAND}}{The item will be expanded to fill
120the space assigned to the item.}
caa251e0
RD
121\twocolitem{\windowstyle{wxSHAPED}}{The item will be expanded as much
122as possible while also maintaining its aspect ratio}
2fa2b11b
JS
123\twocolitem{\windowstyle{wxFIXED\_MINSIZE}}{Normally wxSizers will use
124\helpref{GetAdjustedBestSize}{wxwindowgetadjustedbestsize} to
125determine what the minimal size of window items should be, and will
126use that size to calculate the layout. This allows layouts to
127adjust when an item changes and its {\it best size} becomes
128different. If you would rather have a window item stay the size it
129started with then use wxFIXED\_MINSIZE.}
caa251e0
RD
130\twocolitem{\windowstyle{wxALIGN\_CENTER}\\
131\windowstyle{wxALIGN\_LEFT}\\
132\windowstyle{wxALIGN\_RIGHT}\\
133\windowstyle{wxALIGN\_TOP}\\
134\windowstyle{wxALIGN\_BOTTOM}\\
135\windowstyle{wxALIGN\_CENTER\_VERTICAL}\\
136\windowstyle{wxALIGN\_CENTER\_HORIZONTAL}}{The wxALIGN flags allow you to
2fa2b11b
JS
137specify the alignment of the item within the space allotted to it by
138the sizer, adjusted for the border if any.}
caa251e0
RD
139\end{twocollist}
140}
141
142\docparam{border}{Determines the border width, if the {\it flag}
143 parameter is set to include any border flag.}
a6f3598d 144
76e1c2de
RD
145\docparam{userData}{Allows an extra object to be attached to the sizer
146item, for use in derived classes when sizing information is more
2b5f62a0 147complex than the {\it proportion} and {\it flag} will allow for.}
f6bcfd97 148
40210d8a
RN
149\docparam{flags}{A \helpref{wxSizerFlags}{wxsizerflags} object that
150enables you to specify most of the above parameters more conveniently.}
02c6137e 151
749bb9f1
DS
152\membersection{wxSizer::AddSpacer}\label{wxsizeraddspacer}
153
56eee37f 154\func{wxSizerItem*}{AddSpacer}{\param{int }{size}}
749bb9f1
DS
155
156Adds non-stretchable space to the sizer. More readable way of calling
157\helpref{Add}{wxsizeradd}(size, size, 0).
158
159
160\membersection{wxSizer::AddStretchSpacer}\label{wxsizeraddstretchspacer}
161
56eee37f 162\func{wxSizerItem*}{AddStretchSpacer}{\param{int }{prop = 1}}
749bb9f1
DS
163
164Adds stretchable space to the sizer. More readable way of calling
165\helpref{Add}{wxsizeradd}(0, 0, prop).
166
167
f6bcfd97
BP
168\membersection{wxSizer::CalcMin}\label{wxsizercalcmin}
169
170\func{wxSize}{CalcMin}{\void}
171
172This method is abstract and has to be overwritten by any derived class.
173Here, the sizer will do the actual calculation of its children minimal sizes.
174
02c6137e 175
00976fe5
RL
176\membersection{wxSizer::Detach}\label{wxsizerdetach}
177
178\func{bool}{Detach}{\param{wxWindow* }{window}}
179
180\func{bool}{Detach}{\param{wxSizer* }{sizer}}
181
12a3f227 182\func{bool}{Detach}{\param{size\_t }{index}}
00976fe5
RL
183
184Detach a child from the sizer without destroying it. {\it window} is the window to be
12a3f227 185detached, {\it sizer} is the equivalent sizer and {\it index} is the position of
00976fe5
RL
186the child in the sizer, typically 0 for the first item. This method does not
187cause any layout or resizing to take place, call \helpref{wxSizer::Layout}{wxsizerlayout}
188to update the layout "on screen" after detaching a child from the sizer.
189
cc81d32f 190Returns true if the child item was found and detached, false otherwise.
00976fe5
RL
191
192\wxheading{See also}
193
194\helpref{wxSizer::Remove}{wxsizerremove}
195
02c6137e 196
f6bcfd97
BP
197\membersection{wxSizer::Fit}\label{wxsizerfit}
198
e5251d4f 199\func{wxSize}{Fit}{\param{wxWindow* }{window}}
f6bcfd97
BP
200
201Tell the sizer to resize the {\it window} to match the sizer's minimal size. This
202is commonly done in the constructor of the window itself, see sample in the description
e5251d4f 203of \helpref{wxBoxSizer}{wxboxsizer}. Returns the new size.
f6bcfd97 204
02c6137e
VZ
205For a top level window this is the total window size, not client size.
206
207
566d84a7
RL
208\membersection{wxSizer::FitInside}\label{wxsizerfitinside}
209
210\func{void}{FitInside}{\param{wxWindow* }{window}}
211
212Tell the sizer to resize the virtual size of the {\it window} to match the sizer's
213minimal size. This will not alter the on screen size of the window, but may cause
214the addition/removal/alteration of scrollbars required to view the virtual area in
215windows which manage it.
216
217\wxheading{See also}
218
219\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
220\helpref{wxSizer::SetVirtualSizeHints}{wxsizersetvirtualsizehints}
221
02c6137e 222
9f13661f
WS
223\membersection{wxSizer::GetItem}\label{wxsizergetitem}
224
225\func{wxSizerItem *}{GetItem}{\param{wxWindow* }{window}, \param{bool }{recursive = false}}
226
227\func{wxSizerItem *}{GetItem}{\param{wxSizer* }{sizer}, \param{bool }{recursive = false}}
228
229\func{wxSizerItem *}{GetItem}{\param{size\_t }{index}}
230
231Finds item of the sizer which holds given {\it window}, {\it sizer} or is located
232in sizer at position {\it index}.
233Use parameter {\it recursive} to search in subsizers too.
234
235Returns pointer to item or NULL.
236
237
f6bcfd97
BP
238\membersection{wxSizer::GetSize}\label{wxsizergetsize}
239
240\func{wxSize}{GetSize}{\void}
241
242Returns the current size of the sizer.
243
02c6137e 244
f6bcfd97
BP
245\membersection{wxSizer::GetPosition}\label{wxsizergetposition}
246
247\func{wxPoint}{GetPosition}{\void}
248
249Returns the current position of the sizer.
250
02c6137e 251
f6bcfd97
BP
252\membersection{wxSizer::GetMinSize}\label{wxsizergetminsize}
253
254\func{wxSize}{GetMinSize}{\void}
255
256Returns the minimal size of the sizer. This is either the combined minimal
257size of all the children and their borders or the minimal size set by
258\helpref{SetMinSize}{wxsizersetminsize}, depending on which is bigger.
259
02c6137e 260
00976fe5
RL
261\membersection{wxSizer::Insert}\label{wxsizerinsert}
262
40210d8a
RN
263\func{wxSizerItem*}{Insert}{\param{size\_t }{index}, \param{wxWindow* }{window}, \param{const wxSizerFlags\& }{flags}}
264
56eee37f 265\func{wxSizerItem*}{Insert}{\param{size\_t }{index}, \param{wxWindow* }{window}, \param{int }{proportion = 0},\param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
00976fe5 266
40210d8a
RN
267\func{wxSizerItem*}{Insert}{\param{size\_t }{index}, \param{wxSizer* }{sizer}, \param{const wxSizerFlags\& }{flags}}
268
56eee37f 269\func{wxSizerItem*}{Insert}{\param{size\_t }{index}, \param{wxSizer* }{sizer}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
00976fe5 270
56eee37f 271\func{wxSizerItem*}{Insert}{\param{size\_t }{index}, \param{int }{width}, \param{int }{height}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
00976fe5 272
12a3f227 273Insert a child into the sizer before any existing item at {\it index}.
00976fe5 274
12a3f227 275\docparam{index}{The position this child should assume in the sizer.}
00976fe5
RL
276
277See \helpref{wxSizer::Add}{wxsizeradd} for the meaning of the other parameters.
278
02c6137e 279
749bb9f1
DS
280\membersection{wxSizer::InsertSpacer}\label{wxsizerinsertspacer}
281
56eee37f 282\func{wxSizerItem*}{InsertSpacer}{\param{size\_t }{index}, \param{int }{size}}
749bb9f1
DS
283
284Inserts non-stretchable space to the sizer. More readable way of calling
285\helpref{Insert}{wxsizerinsert}(size, size, 0).
286
287
288\membersection{wxSizer::InsertStretchSpacer}\label{wxsizerinsertstretchspacer}
289
56eee37f 290\func{wxSizerItem*}{InsertStretchSpacer}{\param{size\_t }{index}, \param{int }{prop = 1}}
749bb9f1
DS
291
292Inserts stretchable space to the sizer. More readable way of calling
293\helpref{Insert}{wxsizerinsert}(0, 0, prop).
294
295
f6bcfd97
BP
296\membersection{wxSizer::Layout}\label{wxsizerlayout}
297
298\func{void}{Layout}{\void}
299
300Call this to force layout of the children anew, e.g. after having added a child
301to or removed a child (window, other sizer or space) from the sizer while keeping
302the current dimension.
76e1c2de 303
02c6137e 304
9c884972 305\membersection{wxSizer::Prepend}\label{wxsizerprepend}
8fe05782 306
40210d8a
RN
307\func{wxSizerItem*}{Prepend}{\param{wxWindow* }{window}, \param{const wxSizerFlags\& }{flags}}
308
56eee37f 309\func{wxSizerItem*}{Prepend}{\param{wxWindow* }{window}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
8fe05782 310
40210d8a
RN
311\func{wxSizerItem*}{Prepend}{\param{wxSizer* }{sizer}, \param{const wxSizerFlags\& }{flags}}
312
56eee37f 313\func{wxSizerItem*}{Prepend}{\param{wxSizer* }{sizer}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border = 0}, \param{wxObject* }{userData = NULL}}
9c884972 314
56eee37f 315\func{wxSizerItem*}{Prepend}{\param{int }{width}, \param{int }{height}, \param{int }{proportion = 0}, \param{int }{flag = 0}, \param{int }{border= 0}, \param{wxObject* }{userData = NULL}}
9c884972
RR
316
317Same as \helpref{wxSizer::Add}{wxsizeradd}, but prepends the items to the beginning of the
4130b487 318list of items (windows, subsizers or spaces) owned by this sizer.
8fe05782 319
02c6137e 320
749bb9f1
DS
321\membersection{wxSizer::PrependSpacer}\label{wxsizerprependspacer}
322
56eee37f 323\func{wxSizerItem*}{PrependSpacer}{\param{int }{size}}
749bb9f1
DS
324
325Prepends non-stretchable space to the sizer. More readable way of calling
326\helpref{Prepend}{wxsizerprepend}(size, size, 0).
327
328
329\membersection{wxSizer::PrependStretchSpacer}\label{wxsizerprependstretchspacer}
330
56eee37f 331\func{wxSizerItem*}{PrependStretchSpacer}{\param{int }{prop = 1}}
749bb9f1
DS
332
333Prepends stretchable space to the sizer. More readable way of calling
334\helpref{Prepend}{wxsizerprepend}(0, 0, prop).
335
336
f6bcfd97
BP
337\membersection{wxSizer::RecalcSizes}\label{wxsizerrecalcsizes}
338
339\func{void}{RecalcSizes}{\void}
340
341This method is abstract and has to be overwritten by any derived class.
342Here, the sizer will do the actual calculation of its children's positions
343and sizes.
344
02c6137e 345
9c884972
RR
346\membersection{wxSizer::Remove}\label{wxsizerremove}
347
348\func{bool}{Remove}{\param{wxWindow* }{window}}
349
350\func{bool}{Remove}{\param{wxSizer* }{sizer}}
351
12a3f227 352\func{bool}{Remove}{\param{size\_t }{index}}
9c884972 353
12a3f227
RL
354Removes a child from the sizer and destroys it. {\it sizer} is the wxSizer to be removed,
355{\it index} is the position of the child in the sizer, typically 0 for the first item.
356This method does not cause any layout or resizing to take place, call
00976fe5
RL
357\helpref{wxSizer::Layout}{wxsizerlayout} to update the layout "on screen" after removing a
358child from the sizer.
359
12a3f227
RL
360{\bf NB:} The method taking a wxWindow* parameter is deprecated. For historical reasons
361it does not destroy the window as would usually be expected from Remove. You should use
362\helpref{wxSizer::Detach}{wxsizerdetach} in new code instead. There is currently no wxSizer
363method that will both detach and destroy a wxWindow item.
9c884972 364
cc81d32f 365Returns true if the child item was found and removed, false otherwise.
8fe05782 366
02c6137e 367
8fe05782
VZ
368\membersection{wxSizer::SetDimension}\label{wxsizersetdimension}
369
370\func{void}{SetDimension}{\param{int }{x}, \param{int }{y}, \param{int }{width}, \param{int }{height}}
371
9c884972 372Call this to force the sizer to take the given dimension and thus force the items owned
2edb0bde 373by the sizer to resize themselves according to the rules defined by the parameter in the
f6bcfd97 374\helpref{Add}{wxsizeradd} and \helpref{Prepend}{wxsizerprepend} methods.
8fe05782 375
02c6137e 376
f6bcfd97 377\membersection{wxSizer::SetMinSize}\label{wxsizersetminsize}
8fe05782 378
f6bcfd97 379\func{void}{SetMinSize}{\param{int }{width}, \param{int }{height}}
8fe05782 380
f6bcfd97 381\func{void}{SetMinSize}{\param{wxSize }{size}}
8fe05782 382
f6bcfd97
BP
383Call this to give the sizer a minimal size. Normally, the sizer will calculate its
384minimal size based purely on how much space its children need. After calling this
385method \helpref{GetMinSize}{wxsizergetminsize} will return either the minimal size
386as requested by its children or the minimal size set here, depending on which is
387bigger.
8fe05782 388
02c6137e 389
f6bcfd97 390\membersection{wxSizer::SetItemMinSize}\label{wxsizersetitemminsize}
8fe05782 391
f6bcfd97 392\func{void}{SetItemMinSize}{\param{wxWindow* }{window}, \param{int}{ width}, \param{int}{ height}}
8fe05782 393
f6bcfd97 394\func{void}{SetItemMinSize}{\param{wxSizer* }{sizer}, \param{int}{ width}, \param{int}{ height}}
8fe05782 395
12a3f227 396\func{void}{SetItemMinSize}{\param{size\_t }{index}, \param{int}{ width}, \param{int}{ height}}
8fe05782 397
f6bcfd97
BP
398Set an item's minimum size by window, sizer, or position. The item will be found recursively
399in the sizer's descendants. This function enables an application to set the size of an item
400after initial creation.
8fe05782 401
02c6137e 402
8fe05782
VZ
403\membersection{wxSizer::SetSizeHints}\label{wxsizersetsizehints}
404
405\func{void}{SetSizeHints}{\param{wxWindow* }{window}}
406
566d84a7
RL
407Tell the sizer to set (and \helpref{Fit}{wxsizerfit}) the minimal size of the {\it window} to
408match the sizer's minimal size. This is commonly done in the constructor of the window itself,
409see sample in the description of \helpref{wxBoxSizer}{wxboxsizer} if the window is resizable
410(as are many dialogs under Unix and frames on probably all platforms).
411
02c6137e 412
566d84a7
RL
413\membersection{wxSizer::SetVirtualSizeHints}\label{wxsizersetvirtualsizehints}
414
415\func{void}{SetVirtualSizeHints}{\param{wxWindow* }{window}}
416
417Tell the sizer to set the minimal size of the {\it window} virtual area to match the sizer's
2b5f62a0 418minimal size. For windows with managed scrollbars this will set them appropriately.
566d84a7
RL
419
420\wxheading{See also}
421
422\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars}
7e9a386e 423
02c6137e 424
2b5f62a0
VZ
425\membersection{wxSizer::Show}\label{wxsizershow}
426
8b2bac62 427\func{bool}{Show}{\param{wxWindow* }{window}, \param{bool }{show = true}, \param{bool }{recursive = false}}
2b5f62a0 428
8b2bac62 429\func{bool}{Show}{\param{wxSizer* }{sizer}, \param{bool }{show = true}, \param{bool }{recursive = false}}
2b5f62a0 430
8b2bac62 431\func{bool}{Show}{\param{size\_t }{index}, \param{bool }{show = true}}
12a3f227
RL
432
433Shows or hides the {\it window}, {\it sizer}, or item at {\it index}.
434To make a sizer item disappear or reappear, use Show() followed by Layout().
8b2bac62
WS
435Use parameter {\it recursive} to show or hide elements found in subsizers.
436
437Returns true if the child item was found, false otherwise.
2b5f62a0 438
55f9f0cb
VZ
439Note that this only works with wxBoxSizer and wxFlexGridSizer, since they
440are the only two sizer classes that can size rows/columns independently.
0497e172 441
2a3c8b65
RN
442
443
444
445\section{\class{wxSizerFlags}}\label{wxsizerflags}
446
40210d8a
RN
447PRELIMINARY.
448
2a3c8b65
RN
449Normally, 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.
450
451This 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.
452
f2fe4f67 453Note that by specification, all methods of wxSizerFlags return the wxSizerFlags object itself to ease the calling of multiple methods at a time.
2a3c8b65 454
f2fe4f67
RN
455
456\membersection{wxSizerFlags::wxSizer}\label{wxsizerflagsctor}
2a3c8b65
RN
457
458\func{}{wxSizerFlags}{\param{int }{proportion = 0}}
459
460Creates the wxSizer with the proportion specified by \tt{proportion}.
461
462
f2fe4f67 463\membersection{wxSizerFlags::Align}\label{wxsizerflagsalign}
2a3c8b65
RN
464
465\func{wxSizerFlags\& }{Align}{\param{int }{align = 0}}
466
467Sets the alignment of this wxSizerFlags to \tt{align}.
468
469Note that if this method is not called, the wxSizerFlags has no specified alignment.
470
471
f2fe4f67 472\membersection{wxSizerFlags::Border}\label{wxsizerflagsborder}
2a3c8b65
RN
473
474\func{wxSizerFlags\& }{Border}{\param{int }{direction}, \param{int }{borderinpixels}}
475
476Sets the wxSizerFlags to have a border of a number of pixels specified by \tt{borderinpixels} with the directions specified by \tt{direction}.
477
478\func{wxSizerFlags\& }{Border}{\param{int }{direction = wxALL}}
479
480Sets the wxSizerFlags to have a border of a default size with the directions specified by \tt{direction}.
481
482
f2fe4f67 483\membersection{wxSizerFlags::Center}\label{wxsizerflagscenter}
2a3c8b65
RN
484
485\func{wxSizerFlags\& }{Center}{\void}
486
487Sets the object of the wxSizerFlags to center itself in the area it is given.
488
489
f2fe4f67 490\membersection{wxSizerFlags::Centre}\label{wxsizerflagscentre}
2a3c8b65
RN
491
492\func{wxSizerFlags\& }{Centre}{\void}
493
494\helpref{wxSizerFlags::Center}{wxsizerflagscenter} for people with the other dialect of english.
495
496
f2fe4f67 497\membersection{wxSizerFlags::Expand}\label{wxsizerflagsexpand}
2a3c8b65
RN
498
499\func{wxSizerFlags\& }{Align}{\void}
500
501Sets the object of the wxSizerFlags to expand to fill as much area as it can.
502
503
f2fe4f67 504\membersection{wxSizerFlags::Proportion}\label{wxsizerflagsproportion}
2a3c8b65
RN
505
506\func{wxSizerFlags\& }{Proportion}{\param{int }{proportion = 0}}
507
508Sets the proportion of this wxSizerFlags to \tt{proportion}
509
510
511