77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wrapsizer.h
 | 
						|
// Purpose:     interface of wxWrapSizer
 | 
						|
// Author:      wxWidgets team
 | 
						|
// Licence:     wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
// flags for wxWrapSizer
 | 
						|
enum
 | 
						|
{
 | 
						|
    wxEXTEND_LAST_ON_EACH_LINE,
 | 
						|
    wxREMOVE_LEADING_SPACES,
 | 
						|
    wxWRAPSIZER_DEFAULT_FLAGS
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    @class wxWrapSizer
 | 
						|
 | 
						|
    A wrap sizer lays out its items in a single line, like a box sizer -- as long
 | 
						|
    as there is space available in that direction.
 | 
						|
    Once all available space in the primary direction has been used, a new line
 | 
						|
    is added and items are added there.
 | 
						|
 | 
						|
    So a wrap sizer has a primary orientation for adding items, and adds lines
 | 
						|
    as needed in the secondary direction.
 | 
						|
 | 
						|
    @library{wxcore}
 | 
						|
    @category{winlayout}
 | 
						|
 | 
						|
    @see wxBoxSizer, wxSizer, @ref overview_sizer
 | 
						|
*/
 | 
						|
class wxWrapSizer : public wxBoxSizer
 | 
						|
{
 | 
						|
public:
 | 
						|
    /**
 | 
						|
        Constructor for a wxWrapSizer.
 | 
						|
 | 
						|
        @a orient determines the primary direction of the sizer (the most common
 | 
						|
        case being @c wxHORIZONTAL). The flags parameter can be a combination of
 | 
						|
        the values @c wxEXTEND_LAST_ON_EACH_LINE which will cause the last item
 | 
						|
        on each line to use any remaining space on that line and @c wxREMOVE_LEADING_SPACES
 | 
						|
        which removes any spacer elements from the beginning of a row.
 | 
						|
 | 
						|
        Both of these flags are on by default.
 | 
						|
    */
 | 
						|
    wxWrapSizer(int orient = wxHORIZONTAL,
 | 
						|
                int flags = wxWRAPSIZER_DEFAULT_FLAGS);
 | 
						|
 | 
						|
    /**
 | 
						|
        Not used by an application.
 | 
						|
 | 
						|
        This is the mechanism by which sizers can inform sub-items of the first
 | 
						|
        determined size component.
 | 
						|
        The sub-item can then better determine its size requirements.
 | 
						|
 | 
						|
        Returns @true if the information was used (and the sub-item min size was
 | 
						|
        updated).
 | 
						|
    */
 | 
						|
    virtual bool InformFirstDirection(int direction, int size,
 | 
						|
                                      int availableOtherDir);
 | 
						|
 | 
						|
    virtual void RepositionChildren(const wxSize& minSize);
 | 
						|
    virtual wxSize CalcMin();
 | 
						|
 | 
						|
protected:
 | 
						|
    /**
 | 
						|
        Can be overridden in the derived classes to treat some normal items as
 | 
						|
        spacers.
 | 
						|
 | 
						|
        This method is used to determine whether the given @a item should be
 | 
						|
        considered to be a spacer for the purposes of @c wxREMOVE_LEADING_SPACES
 | 
						|
        implementation. By default only returns @true for the real spacers.
 | 
						|
     */
 | 
						|
    virtual bool IsSpaceItem(wxSizerItem *item) const;
 | 
						|
};
 | 
						|
 |