1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of wxWrapSizer
4 // Author: wxWidgets team
6 // Licence: wxWindows licence
7 /////////////////////////////////////////////////////////////////////////////
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.
17 So a wrap sizer has a primary orientation for adding items, and adds lines
18 as needed in the secondary direction.
23 @see wxBoxSizer, wxSizer, @ref overview_sizer
25 class wxWrapSizer
: public wxBoxSizer
29 Constructor for a wxWrapSizer.
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.
37 Both of these flags are on by default.
39 wxWrapSizer(int orient
= wxHORIZONTAL
,
40 int flags
= wxWRAPSIZER_DEFAULT_FLAGS
);
43 Not used by an application.
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.
49 Returns @true if the information was used (and the sub-item min size was
52 virtual bool InformFirstDirection(int direction
, int size
,
53 int availableOtherDir
);
55 virtual void RecalcSizes();
56 virtual wxSize
CalcMin();
60 Can be overridden in the derived classes to treat some normal items as
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.
67 virtual bool IsSpaceItem(wxSizerItem
*item
) const;