X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/14f355c2b5c71fc7c3d680aea366582d2ac60f7b..318553524df17f47321ffe416c939a0293a727cc:/src/common/sizer.cpp?ds=sidebyside diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index a882c510d2..e121731de8 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -37,9 +37,12 @@ IMPLEMENT_CLASS(wxBoxSizer, wxSizer) #if wxUSE_STATBOX IMPLEMENT_CLASS(wxStaticBoxSizer, wxBoxSizer) #endif +#if wxUSE_BOOKCTRL +IMPLEMENT_CLASS(wxBookCtrlSizer, wxSizer) #if wxUSE_NOTEBOOK -IMPLEMENT_CLASS(wxNotebookSizer, wxSizer) -#endif +IMPLEMENT_CLASS(wxNotebookSizer, wxBookCtrlSizer) +#endif // wxUSE_NOTEBOOK +#endif // wxUSE_BOOKCTRL WX_DEFINE_EXPORTED_LIST( wxSizerItemList ); @@ -985,8 +988,8 @@ void wxGridSizer::RecalcSizes() wxSize wxGridSizer::CalcMin() { - int nitems, nrows, ncols; - if ( (nitems = CalcRowsCols(nrows, ncols)) == 0 ) + int nrows, ncols; + if ( CalcRowsCols(nrows, ncols) == 0 ) return wxSize(10, 10); // Find the max width and height for any component @@ -1084,13 +1087,13 @@ void wxFlexGridSizer::RecalcSizes() size_t idx; for (idx = 0; idx < m_growableRows.GetCount(); idx++) { - // Since the number of rows/columns can change as items are inserted/deleted, we need + // Since the number of rows/columns can change as items are inserted/deleted, we need // to verify at runtime that the requested growable rows/columns are still valid. - if (m_growableRows[idx] >= nrows) + if (m_growableRows[idx] >= nrows) continue; // If all items in a row/column are hidden, that row/column will have a dimension of -1. // This causes the row/column to be hidden completely. - if (m_rowHeights[ m_growableRows[idx] ] == -1) + if (m_rowHeights[ m_growableRows[idx] ] == -1) continue; sum_proportions += m_growableRowsProportions[idx]; growable_space += m_rowHeights[ m_growableRows[idx] ]; @@ -1101,9 +1104,9 @@ void wxFlexGridSizer::RecalcSizes() { for (idx = 0; idx < m_growableRows.GetCount(); idx++) { - if (m_growableRows[idx] >= nrows ) + if (m_growableRows[idx] >= nrows ) continue; - if (m_rowHeights[ m_growableRows[idx] ] == -1) + if (m_rowHeights[ m_growableRows[idx] ] == -1) m_rowHeights[ m_growableRows[idx] ] = 0; else { @@ -1133,13 +1136,13 @@ void wxFlexGridSizer::RecalcSizes() size_t idx; for (idx = 0; idx < m_growableCols.GetCount(); idx++) { - // Since the number of rows/columns can change as items are inserted/deleted, we need + // Since the number of rows/columns can change as items are inserted/deleted, we need // to verify at runtime that the requested growable rows/columns are still valid. - if (m_growableCols[idx] >= ncols) + if (m_growableCols[idx] >= ncols) continue; // If all items in a row/column are hidden, that row/column will have a dimension of -1. // This causes the column to be hidden completely. - if (m_colWidths[ m_growableCols[idx] ] == -1) + if (m_colWidths[ m_growableCols[idx] ] == -1) continue; sum_proportions += m_growableColsProportions[idx]; // wtb 5/12/02 bugfix - was m_ColWidths[idx]!! @@ -1151,9 +1154,9 @@ void wxFlexGridSizer::RecalcSizes() { for (idx = 0; idx < m_growableCols.GetCount(); idx++) { - if (m_growableCols[idx] >= ncols ) + if (m_growableCols[idx] >= ncols ) continue; - if (m_colWidths[ m_growableCols[idx] ] == -1) + if (m_colWidths[ m_growableCols[idx] ] == -1) m_colWidths[ m_growableCols[idx] ] = 0; else { @@ -1212,9 +1215,9 @@ wxSize wxFlexGridSizer::CalcMin() m_rowHeights.SetCount(nrows); m_colWidths.SetCount(ncols); - // We have to recalcuate the sizes in case an item has wxADJUST_MINSIZE, has changed + // We have to recalcuate the sizes in case an item has wxADJUST_MINSIZE, has changed // minimum size since the previous layout, or has been hidden using wxSizer::Show(). - // If all the items in a row/column are hidden, the final dimension of the row/column + // If all the items in a row/column are hidden, the final dimension of the row/column // will be -1, indicating that the column itself is hidden. for( s = m_rowHeights.GetCount(), i = 0; i < s; ++i ) m_rowHeights[ i ] = -1; @@ -1271,7 +1274,7 @@ wxSize wxFlexGridSizer::CalcMin() // -1 is used as a magic number meaning empty column. int width = 0; for (int col = 0; col < ncols; col++) - if ( m_colWidths[ col ] != -1 ) + if ( m_colWidths[ col ] != -1 ) width += m_colWidths[ col ] + ( col == ncols-1 ? 0 : m_hgap ); int height = 0; @@ -1555,31 +1558,31 @@ wxSize wxStaticBoxSizer::CalcMin() #endif // wxUSE_STATBOX -//--------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- // wxNotebookSizer -//--------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- -#if wxUSE_NOTEBOOK +#if wxUSE_BOOKCTRL -wxNotebookSizer::wxNotebookSizer( wxNotebook *nb ) - : m_notebook( nb ) +wxBookCtrlSizer::wxBookCtrlSizer(wxBookCtrl *bookctrl) + : m_bookctrl(bookctrl) { - wxASSERT_MSG( nb, wxT("wxNotebookSizer needs a notebook") ); + wxASSERT_MSG( bookctrl, wxT("wxBookCtrlSizer needs a control") ); } -void wxNotebookSizer::RecalcSizes() +void wxBookCtrlSizer::RecalcSizes() { - m_notebook->SetSize( m_position.x, m_position.y, m_size.x, m_size.y ); + m_bookctrl->SetSize( m_position.x, m_position.y, m_size.x, m_size.y ); } -wxSize wxNotebookSizer::CalcMin() +wxSize wxBookCtrlSizer::CalcMin() { - wxSize sizeBorder = m_notebook->CalcSizeFromPage(wxSize(0, 0)); + wxSize sizeBorder = m_bookctrl->CalcSizeFromPage(wxSize(0, 0)); sizeBorder.x += 5; sizeBorder.y += 5; - if (m_notebook->GetChildren().GetCount() == 0) + if ( m_bookctrl->GetPageCount() == 0 ) { return wxSize(sizeBorder.x + 10, sizeBorder.y + 10); } @@ -1587,7 +1590,8 @@ wxSize wxNotebookSizer::CalcMin() int maxX = 0; int maxY = 0; - wxWindowList::compatibility_iterator node = m_notebook->GetChildren().GetFirst(); + wxWindowList::compatibility_iterator + node = m_bookctrl->GetChildren().GetFirst(); while (node) { wxWindow *item = node->GetData(); @@ -1609,6 +1613,14 @@ wxSize wxNotebookSizer::CalcMin() return wxSize( maxX, maxY ) + sizeBorder; } -#endif // wxUSE_NOTEBOOK -// vi:sts=4:sw=4:et +#if wxUSE_NOTEBOOK + +wxNotebookSizer::wxNotebookSizer(wxNotebook *nb) + : wxBookCtrlSizer(nb) +{ +} + +#endif // wxUSE_NOTEBOOOK +#endif // wxUSE_BOOKCTRL +