#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
{
int nrows, ncols;
if ( CalcRowsCols(nrows, ncols) == 0 )
- return wxSize(10, 10);
+ return wxSize();
// Find the max width and height for any component
int w = 0;
// Number of rows/columns can change as items are added or removed.
if ( !CalcRowsCols(nrows, ncols) )
- return wxSize(10, 10);
+ return wxSize();
m_rowHeights.SetCount(nrows);
m_colWidths.SetCount(ncols);
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);
}
//---------------------------------------------------------------------------
wxSize wxBoxSizer::CalcMin()
{
if (m_children.GetCount() == 0)
- return wxSize(10,10);
+ return wxSize();
m_stretchable = 0;
m_minWidth = 0;