]>
Commit | Line | Data |
---|---|---|
23324ae1 FM |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: wrapsizer.h | |
e54c96f1 | 3 | // Purpose: interface of wxWrapSizer |
23324ae1 FM |
4 | // Author: wxWidgets team |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows license | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | /** | |
10 | @class wxWrapSizer | |
11 | @wxheader{wrapsizer.h} | |
7c913512 FM |
12 | |
13 | A wrap sizer lays out its items in a single line, like a box sizer -- as long | |
14 | as there is space available in that direction. Once all available space in | |
23324ae1 FM |
15 | the primary direction has been used, a new line is added and items are added |
16 | there. | |
7c913512 | 17 | |
23324ae1 | 18 | So a wrap sizer has a primary orientation for adding items, and adds lines |
7c913512 FM |
19 | as needed in the secondary direction. |
20 | ||
23324ae1 FM |
21 | @library{wxcore} |
22 | @category{winlayout} | |
7c913512 | 23 | |
e54c96f1 | 24 | @see wxBoxSizer, wxSizer, @ref overview_sizeroverview "Sizer overview" |
23324ae1 FM |
25 | */ |
26 | class wxWrapSizer : public wxBoxSizer | |
27 | { | |
28 | public: | |
29 | /** | |
4cc4bfaf | 30 | Constructor for a wxWrapSizer. @a orient determines the primary direction of |
23324ae1 | 31 | the sizer (the most common case being @c wxHORIZONTAL). The flags |
4fc3ee30 VZ |
32 | parameter can be a combination of the values @c |
33 | wxEXTEND_LAST_ON_EACH_LINE which will cause the last item on each line | |
34 | to use any remaining space on that line and @c wxREMOVE_LEADING_SPACES | |
35 | which removes any spacer elements from the beginning of a row. Both of | |
36 | these flags are on by default. | |
23324ae1 | 37 | */ |
4fc3ee30 VZ |
38 | wxWrapSizer(int orient = wxHORIZONTAL, |
39 | int flags = wxEXTEND_LAST_ON_EACH_LINE | | |
40 | wxREMOVE_LEADING_SPACES); | |
23324ae1 FM |
41 | |
42 | /** | |
7c913512 | 43 | Not used by an application. This is the mechanism by which sizers can inform |
23324ae1 | 44 | sub-items of the first determined size component. The sub-item can then better |
7c913512 | 45 | determine its size requirements. |
23324ae1 FM |
46 | Returns @true if the information was used (and the sub-item min size was |
47 | updated). | |
48 | */ | |
49 | bool InformFirstDirection(int direction, int size, | |
50 | int availableOtherDir); | |
4fc3ee30 VZ |
51 | |
52 | protected: | |
53 | /** | |
54 | Can be overridden in the derived classes to treat some normal items as | |
55 | spacers. | |
56 | ||
57 | This method is used to determine whether the given @a item should be | |
58 | considered to be a spacer for the purposes of @c wxREMOVE_LEADING_SPACES | |
59 | implementation. By default only returns @true for the real spacers. | |
60 | */ | |
61 | virtual bool IsSpaceItem(wxSizerItem *item) const; | |
23324ae1 | 62 | }; |
e54c96f1 | 63 |