X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1eebb103c737c550dc865b418113454ecc5bc40e..b81e45065986abc34676fecc31515efeb3f3a8d4:/src/common/gbsizer.cpp diff --git a/src/common/gbsizer.cpp b/src/common/gbsizer.cpp index 2a6db88756..eb23a2e372 100644 --- a/src/common/gbsizer.cpp +++ b/src/common/gbsizer.cpp @@ -228,6 +228,18 @@ wxSizerItem* wxGridBagSizer::Add( wxGBSizerItem *item ) if ( item->GetWindow() ) item->GetWindow()->SetContainingSizer( this ); + // extend the number of rows/columns of the underlying wxFlexGridSizer if + // necessary + int row, col; + item->GetEndPos(row, col); + row++; + col++; + + if ( row > GetRows() ) + SetRows(row); + if ( col > GetCols() ) + SetCols(col); + return item; } @@ -580,7 +592,7 @@ void wxGridBagSizer::AdjustForOverflow() { wxGBPosition pos(row,col); wxGBSizerItem* item = FindItemAtPosition(pos); - if ( !item || !item->ShouldAccountFor() ) + if ( !item || !item->IsShown() ) continue; int endrow, endcol; @@ -623,7 +635,7 @@ void wxGridBagSizer::AdjustForOverflow() { wxGBPosition pos(row,col); wxGBSizerItem* item = FindItemAtPosition(pos); - if ( !item || !item->ShouldAccountFor() ) + if ( !item || !item->IsShown() ) continue; int endrow, endcol;