int width,
int height,
const wxSizerFlags& flags);
- virtual wxSizerItem* Insert( size_t index, wxSizerItem *item);
+
+ // NB: do _not_ override this function in the derived classes, this one is
+ // virtual for compatibility reasons only to allow old code overriding
+ // it to continue to work, override DoInsert() instead in the new code
+ virtual wxSizerItem* Insert(size_t index, wxSizerItem *item);
wxSizerItem* InsertSpacer(size_t index, int size);
wxSizerItem* InsertStretchSpacer(size_t index, int prop = 1);
virtual bool DoSetItemMinSize( wxSizer *sizer, int width, int height );
virtual bool DoSetItemMinSize( size_t index, int width, int height );
+ // insert a new item into m_children at given index and return the item
+ // itself
+ virtual wxSizerItem* DoInsert(size_t index, wxSizerItem *item);
+
private:
DECLARE_CLASS(wxSizer)
};
wxGridSizer( int rows, int cols, int vgap, int hgap );
wxGridSizer( int rows, int cols, const wxSize& gap );
- virtual wxSizerItem *Insert(size_t index, wxSizerItem *item);
-
virtual void RecalcSizes();
virtual wxSize CalcMin();
int m_vgap;
int m_hgap;
+ virtual wxSizerItem *DoInsert(size_t index, wxSizerItem *item);
+
void SetItemBounds( wxSizerItem *item, int x, int y, int w, int h );
// returns the number of columns/rows needed for the current total number
public:
// ctors specifying the number of columns only: number of rows will be
// deduced automatically depending on the number of sizer elements
- wxFlexGridSizer( int cols, int vgap, int hgap = 0);
+ wxFlexGridSizer( int cols, int vgap, int hgap );
wxFlexGridSizer( int cols, const wxSize& gap = wxSize(0, 0) );
// ctors specifying the number of rows and columns
#endif // WXWIN_COMPATIBILITY_2_8
+inline wxSizerItem*
+wxSizer::Insert(size_t index, wxSizerItem *item)
+{
+ return DoInsert(index, item);
+}
+
inline wxSizerItem*
wxSizer::Add( wxSizerItem *item )