git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24463
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
void GetEndPos(int& row, int& col);
void GetEndPos(int& row, int& col);
- wxGridBagSizer* GetSizer() const { return m_sizer; }
- void SetSizer(wxGridBagSizer* sizer) { m_sizer = sizer; }
+ wxGridBagSizer* GetGBSizer() const { return m_gbsizer; }
+ void SetGBSizer(wxGridBagSizer* sizer) { m_gbsizer = sizer; }
protected:
wxGBPosition m_pos;
wxGBSpan m_span;
protected:
wxGBPosition m_pos;
wxGBSpan m_span;
- wxGridBagSizer* m_sizer;
+ wxGridBagSizer* m_gbsizer; // so SetPos/SetSpan can check for intersects
: wxSizerItem(width, height, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(width, height, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(window, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(window, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(sizer, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(sizer, 0, flag, border, userData),
m_pos(pos),
m_span(span),
: wxSizerItem(),
m_pos(-1,-1),
m_span(-1,-1),
: wxSizerItem(),
m_pos(-1,-1),
m_span(-1,-1),
bool wxGBSizerItem::SetPos( const wxGBPosition& pos )
{
bool wxGBSizerItem::SetPos( const wxGBPosition& pos )
{
- wxCHECK_MSG( !m_sizer->CheckForIntersection(pos, m_span, this), false,
+ wxCHECK_MSG( !m_gbsizer->CheckForIntersection(pos, m_span, this), false,
wxT("An item is already at that position") );
}
m_pos = pos;
wxT("An item is already at that position") );
}
m_pos = pos;
bool wxGBSizerItem::SetSpan( const wxGBSpan& span )
{
bool wxGBSizerItem::SetSpan( const wxGBSpan& span )
{
- wxCHECK_MSG( !m_sizer->CheckForIntersection(m_pos, span, this), false,
+ wxCHECK_MSG( !m_gbsizer->CheckForIntersection(m_pos, span, this), false,
wxT("An item is already at that position") );
}
m_span = span;
wxT("An item is already at that position") );
}
m_span = span;
bool wxGridBagSizer::Add( wxGBSizerItem *item )
{
bool wxGridBagSizer::Add( wxGBSizerItem *item )
{
- m_children.Append(item);
- item->SetSizer(this);
+ wxCHECK_MSG( !CheckForIntersection(item), false,
+ wxT("An item is already at that position") );
+ m_children.Append(item);
+ item->SetGBSizer(this);
if ( item->GetWindow() )
item->GetWindow()->SetContainingSizer( this );
if ( item->GetWindow() )
item->GetWindow()->SetContainingSizer( this );