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);
-
-#ifdef __WXOSX__
- // TODO change to better condition
- using wxSizer::Insert;
-#endif
-
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
return Insert( index, new wxSizerItem(width, height, flags) );
}
+inline wxSizerItem*
+wxSizer::Insert(size_t index, wxSizerItem *item)
+{
+ return DoInsert(index, item);
+}
+
inline wxSizerItem*
wxSizer::InsertSpacer(size_t index, int size)
{
WX_CLEAR_LIST(wxSizerItemList, m_children);
}
-wxSizerItem* wxSizer::Insert( size_t index, wxSizerItem *item )
+wxSizerItem* wxSizer::DoInsert( size_t index, wxSizerItem *item )
{
m_children.Insert( index, item );
{
}
-wxSizerItem *wxGridSizer::Insert(size_t index, wxSizerItem *item)
+wxSizerItem *wxGridSizer::DoInsert(size_t index, wxSizerItem *item)
{
// if only the number of columns or the number of rows is specified for a
// sizer, arbitrarily many items can be added to it but if both of them are
}
}
- return wxSizer::Insert(index, item);
+ return wxSizer::DoInsert(index, item);
}
int wxGridSizer::CalcRowsCols(int& nrows, int& ncols) const