X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/72da4057731919c6d386aa5a4cf8f3d0258bbe46..b53aea81d2e102224b452ef5bf7aee1132f37c6f:/src/common/gbsizer.cpp diff --git a/src/common/gbsizer.cpp b/src/common/gbsizer.cpp index 81c88b1d3c..3a14dd4aa7 100644 --- a/src/common/gbsizer.cpp +++ b/src/common/gbsizer.cpp @@ -187,7 +187,7 @@ wxSizerItem* wxGridBagSizer::Add( wxWindow *window, else { delete item; - return (wxSizerItem*)NULL; + return NULL; } } @@ -201,7 +201,7 @@ wxSizerItem* wxGridBagSizer::Add( wxSizer *sizer, else { delete item; - return (wxSizerItem*)NULL; + return NULL; } } @@ -215,7 +215,7 @@ wxSizerItem* wxGridBagSizer::Add( int width, int height, else { delete item; - return (wxSizerItem*)NULL; + return NULL; } } @@ -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 ) + 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 ) + if ( !item || !item->IsShown() ) continue; int endrow, endcol; @@ -729,56 +741,56 @@ wxSizerItem* wxGridBagSizer::Add( int width, int height, int, int flag, int bord wxSizerItem* wxGridBagSizer::Add( wxSizerItem * ) { wxFAIL_MSG(wxT("Invalid Add form called.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Prepend( wxWindow *, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Prepend should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Prepend( wxSizer *, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Prepend should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Prepend( int, int, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Prepend should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Prepend( wxSizerItem * ) { wxFAIL_MSG(wxT("Prepend should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Insert( size_t, wxWindow *, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Insert should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Insert( size_t, wxSizer *, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Insert should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Insert( size_t, int, int, int, int, int, wxObject* ) { wxFAIL_MSG(wxT("Insert should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; } wxSizerItem* wxGridBagSizer::Insert( size_t, wxSizerItem * ) { wxFAIL_MSG(wxT("Insert should not be used with wxGridBagSizer.")); - return (wxSizerItem*)NULL; + return NULL; }