wxSize wxBookCtrlBase::DoGetBestSize() const { wxSize bestSize; // iterate over all pages, get the largest width and height const size_t nCount = m_pages.size(); for ( size_t nPage = 0; nPage < nCount; nPage++ ) { const wxWindow * const pPage = m_pages[nPage]; if( pPage ) { wxSize childBestSize(pPage->GetBestSize()); if ( childBestSize.x > bestSize.x ) bestSize.x = childBestSize.x; if ( childBestSize.y > bestSize.y ) bestSize.y = childBestSize.y; } } if (m_fitToCurrentPage && GetCurrentPage()) bestSize = GetCurrentPage()->GetBestSize(); // convert display area to window area, adding the size necessary for the // tabs wxSize best = CalcSizeFromPage(bestSize); CacheBestSize(best); return best; }
wxSize wxBookCtrlBase::DoGetBestSize() const { wxSize bestSize; if (m_fitToCurrentPage && GetCurrentPage()) { bestSize = GetCurrentPage()->GetBestSize(); } else { // iterate over all pages, get the largest width and height const size_t nCount = m_pages.size(); for ( size_t nPage = 0; nPage < nCount; nPage++ ) { const wxWindow * const pPage = m_pages[nPage]; if ( pPage ) bestSize.IncTo(pPage->GetBestSize()); } } // convert display area to window area, adding the size necessary for the // tabs return CalcSizeFromPage(bestSize); }
void wxBookCtrlBase::SetPageSize(const wxSize& size) { SetClientSize(CalcSizeFromPage(size)); }
void wxNotebook::SetPageSize(const wxSize& size) { SetSize( CalcSizeFromPage( size ) ); }