wxObject* userData = NULL);
/**
- Adds non-stretchable space to the sizer.
+ This base function adds non-stretchable space to both the horizontal
+ and vertical orientation of the sizer.
More readable way of calling:
@code
wxSizer::Add(size, size, 0).
@endcode
+ @see wxBoxSizer::AddSpacer()
*/
- wxSizerItem* AddSpacer(int size);
+ virtual wxSizerItem *AddSpacer(int size);
/**
Adds stretchable space to the sizer.
/**
Inserts non-stretchable space to the sizer.
- More readable way of calling wxSizer::Insert(size, size, 0).
+ More readable way of calling wxSizer::Insert(index, size, size).
*/
wxSizerItem* InsertSpacer(size_t index, int size);
/**
Set an item's minimum size by window, sizer, or position.
- The item will be found recursively in the sizer's descendants.
This function enables an application to set the size of an item after
initial creation.
+ The @a window or @a sizer will be found recursively in the sizer's
+ descendants.
+
@see wxSizerItem::SetMinSize()
+
+ @return
+ @true if the minimal size was successfully set or @false if the
+ item was not found.
*/
+ //@{
bool SetItemMinSize(wxWindow* window, int width, int height);
+ bool SetItemMinSize(wxWindow* window, const wxSize& size);
- /**
- Set an item's minimum size by window, sizer, or position.
-
- The item will be found recursively in the sizer's descendants.
- This function enables an application to set the size of an item after
- initial creation.
-
- @see wxSizerItem::SetMinSize()
- */
bool SetItemMinSize(wxSizer* sizer, int width, int height);
+ bool SetItemMinSize(wxSizer* sizer, const wxSize& size);
- /**
- Set an item's minimum size by window, sizer, or position.
-
- The item will be found recursively in the sizer's descendants.
- This function enables an application to set the size of an item after
- initial creation.
-
- @see wxSizerItem::SetMinSize()
- */
bool SetItemMinSize(size_t index, int width, int height);
+ bool SetItemMinSize(size_t index, const wxSize& size);
+ //@}
/**
Call this to give the sizer a minimal size.
public:
//@{
/**
- Constructor for a wxFlexGridSizer.
+ wxFlexGridSizer constructors.
- @a rows and @a cols determine the number of columns and rows in the sizer -
- if either of the parameters is zero, it will be calculated to form the
- total number of children in the sizer, thus making the sizer grow
- dynamically.
+ Usually only the number of columns in the flex grid sizer needs to be
+ specified using @a cols argument. The number of rows will be deduced
+ automatically depending on the number of the elements added to the
+ sizer. If the number of @a rows is explicitly specified (and not zero),
+ the sizer will check that it no more than @code cols*rows @endcode
+ elements are added to it.
- @a vgap and @a hgap define extra space between all children.
+ The @a gap (or @a vgap and @a hgap, which correspond to the height and
+ width of the wxSize object) argument defines the size of the padding
+ between the rows (its vertical component, or @a vgap) and columns
+ (its horizontal component, or @a hgap), in pixels.
+
+ @since 2.9.1 (except for the four argument overload)
*/
- wxFlexGridSizer(int rows, int cols, int vgap, int hgap);
- wxFlexGridSizer(int cols, int vgap = 0, int hgap = 0);
+ wxFlexGridSizer( int cols, int vgap, int hgap );
+ wxFlexGridSizer( int cols, const wxSize& gap = wxSize(0, 0) );
+
+ wxFlexGridSizer( int rows, int cols, int vgap, int hgap );
+ wxFlexGridSizer( int rows, int cols, const wxSize& gap );
//@}
/**
public:
//@{
/**
- Constructor for a wxGridSizer.
+ wxGridSizer constructors.
+
+ Usually only the number of columns in the grid sizer needs to be
+ specified using @a cols argument. The number of rows will be deduced
+ automatically depending on the number of the elements added to the
+ sizer. If the number of @a rows is explicitly specified (and not zero),
+ the sizer will check that it no more than @code cols*rows @endcode
+ elements are added to it.
- @a rows and @a cols determine the number of columns and rows in the sizer -
- if either of the parameters is zero, it will be calculated to form the
- total number of children in the sizer, thus making the sizer grow dynamically.
+ The @a gap (or @a vgap and @a hgap, which correspond to @c y and @c x
+ fields of the wxSize object) argument defines the size of the padding
+ between the grid rows (its vertical component, or @a vgap) and columns
+ (its horizontal component, or @a hgap), in pixels.
- @a vgap and @a hgap define extra space between all children.
+ @since 2.9.1 (except for the four argument overload)
*/
- wxGridSizer(int rows, int cols, int vgap, int hgap);
- wxGridSizer(int cols, int vgap = 0, int hgap = 0);
+ wxGridSizer( int cols, int vgap, int hgap );
+ wxGridSizer( int cols, const wxSize& gap = wxSize(0, 0) );
+
+ wxGridSizer( int rows, int cols, int vgap, int hgap );
+ wxGridSizer( int rows, int cols, const wxSize& gap );
//@}
+ //@{
/**
- Returns the number of columns in the sizer.
+ Returns the number of columns or rows that has been specified for the
+ sizer.
+
+ Returns zero if the sizer is automatically adjusting the number of
+ columns/rows depending on number of its children. To get the effective
+ number of columns or rows being currently used, see
+ GetEffectiveColsCount() and GetEffectiveRowsCount().
*/
int GetCols() const;
+ int GetRows() const;
+ //@}
+ //@{
/**
- Returns the horizontal gap (in pixels) between cells in the sizer.
+ Returns the number of columns or rows currently used by the sizer.
+
+ This will depend on the number of children the sizer has if
+ the sizer is automatically adjusting the number of columns/rows.
+
+ @since 2.9.1
*/
- int GetHGap() const;
+ int GetEffectiveColsCount() const;
+ int GetEffectiveRowsCount() const;
+ //@}
/**
- Returns the number of rows in the sizer.
+ Returns the horizontal gap (in pixels) between cells in the sizer.
*/
- int GetRows() const;
+ int GetHGap() const;
/**
Returns the vertical gap (in pixels) between the cells in the sizer.
/**
@class wxStaticBoxSizer
- wxStaticBoxSizer is a sizer derived from wxBoxSizer but adds a static box around
+ wxStaticBoxSizer is a sizer derived from wxBoxSizer but adds a static box around
the sizer.
- The static box may be either created independently or the sizer may create it
+ The static box may be either created independently or the sizer may create it
itself as a convenience. In any case, the sizer owns the wxStaticBox control
and will delete it in the wxStaticBoxSizer destructor.
+ Note that since wxWidgets 2.9.1 you are encouraged to create the windows
+ which are added to wxStaticBoxSizer as children of wxStaticBox itself, see
+ this class documentation for more details.
+
+ Example of use of this class:
+ @code
+ void MyFrame::CreateControls()
+ {
+ wxPanel *panel = new wxPanel(this);
+ ...
+ wxStaticBoxSizer *sz = new wxStaticBoxSizer(wxVERTICAL, panel, "Box");
+ sz->Add(new wxStaticText(sz->GetStaticBox(), wxID_ANY,
+ "This window is a child of the staticbox"));
+ ...
+ }
+ @endcode
+
@library{wxcore}
@category{winlayout}
*/
wxBoxSizer(int orient);
+ /**
+ Adds non-stretchable space to the main orientation of the sizer only.
+ More readable way of calling:
+ @code
+ if ( wxBoxSizer::IsVertical() )
+ {
+ wxBoxSizer::Add(0, size, 0).
+ }
+ else
+ {
+ wxBoxSizer::Add(size, 0, 0).
+ }
+ @endcode
+ */
+ virtual wxSizerItem *AddSpacer(int size);
+
/**
Implements the calculation of a box sizer's minimal.