int wxGridSizer::CalcRowsCols(int& nrows, int& ncols) const
{
const int nitems = m_children.GetCount();
- if ( nitems )
+ if ( m_cols && m_rows )
{
- if ( m_cols && m_rows )
- {
- // if both rows and columns are specified by user, use the provided
- // values even if we don't have enough items
- ncols = m_cols;
- nrows = m_rows;
- }
- else if ( m_cols )
- {
- ncols = m_cols;
- nrows = (nitems + m_cols - 1) / m_cols;
- }
- else if ( m_rows )
- {
- ncols = (nitems + m_rows - 1) / m_rows;
- nrows = m_rows;
- }
- else // 0 columns, 0 rows?
- {
- wxFAIL_MSG( _T("grid sizer must have either rows or columns fixed") );
+ // if both rows and columns are specified by user, use the provided
+ // values even if we don't have enough items
+ ncols = m_cols;
+ nrows = m_rows;
+ }
+ else if ( m_cols )
+ {
+ ncols = m_cols;
+ nrows = (nitems + m_cols - 1) / m_cols;
+ }
+ else if ( m_rows )
+ {
+ ncols = (nitems + m_rows - 1) / m_rows;
+ nrows = m_rows;
+ }
+ else // 0 columns, 0 rows?
+ {
+ wxFAIL_MSG( _T("grid sizer must have either rows or columns fixed") );
- nrows =
- ncols = 0;
- }
+ nrows =
+ ncols = 0;
}
return nitems;