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