X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e978011a4053f11bf253dc758dc482a991b84628..25ae9fb8cad420fffcf8c6307fdce771af90447a:/src/common/sizer.cpp diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 4542871dd8..6038dcf18f 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -17,16 +17,17 @@ #pragma hdrstop #endif +#include "wx/sizer.h" + #ifndef WX_PRECOMP #include "wx/string.h" #include "wx/intl.h" #include "wx/math.h" #include "wx/utils.h" #include "wx/settings.h" + #include "wx/statbox.h" #endif // WX_PRECOMP -#include "wx/sizer.h" -#include "wx/statbox.h" #include "wx/listimpl.cpp" #if WXWIN_COMPATIBILITY_2_4 @@ -1480,20 +1481,38 @@ void wxFlexGridSizer::AddGrowableRow( size_t idx, int proportion ) m_growableRowsProportions.Add( proportion ); } -void wxFlexGridSizer::RemoveGrowableRow( size_t idx ) -{ - m_growableRows.Remove( idx ); -} - void wxFlexGridSizer::AddGrowableCol( size_t idx, int proportion ) { m_growableCols.Add( idx ); m_growableColsProportions.Add( proportion ); } +// helper function for RemoveGrowableCol/Row() +static void +DoRemoveFromArrays(size_t idx, wxArrayInt& items, wxArrayInt& proportions) +{ + const size_t count = items.size(); + for ( size_t n = 0; n < count; n++ ) + { + if ( (size_t)items[n] == idx ) + { + items.RemoveAt(n); + proportions.RemoveAt(n); + return; + } + } + + wxFAIL_MSG( _T("column/row is already not growable") ); +} + void wxFlexGridSizer::RemoveGrowableCol( size_t idx ) { - m_growableCols.Remove( idx ); + DoRemoveFromArrays(idx, m_growableCols, m_growableColsProportions); +} + +void wxFlexGridSizer::RemoveGrowableRow( size_t idx ) +{ + DoRemoveFromArrays(idx, m_growableRows, m_growableRowsProportions); } //--------------------------------------------------------------------------- @@ -1715,6 +1734,11 @@ wxStaticBoxSizer::wxStaticBoxSizer(int orient, wxWindow *win, const wxString& s) m_staticBox->SetContainingSizer(this); } +wxStaticBoxSizer::~wxStaticBoxSizer() +{ + delete m_staticBox; +} + static void GetStaticBoxBorders( wxStaticBox *box, int *borderTop, int *borderOther)