X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5c33522fca7cddc441a316f5b9fb50d7685435ba..14ba694c26bb7bdf3d75db9d3dc85774e5a8d126:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index 2e1739de7e..82304be269 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -334,7 +334,7 @@ bool wxNotebook::Create(wxWindow *parent, } else { - wxLogLastError(_T("GetClassInfoEx(SysTabCtl32)")); + wxLogLastError(wxT("GetClassInfoEx(SysTabCtl32)")); } } @@ -418,14 +418,6 @@ WXDWORD wxNotebook::MSWGetStyle(long style, WXDWORD *exstyle) const else if ( style & wxBK_RIGHT ) tabStyle |= TCS_VERTICAL | TCS_RIGHT; - // ex style - if ( exstyle ) - { - // note that we never want to have the default WS_EX_CLIENTEDGE style - // as it looks too ugly for the notebooks - *exstyle = 0; - } - return tabStyle; } @@ -653,16 +645,18 @@ wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const tabSize.y = rect.bottom - rect.top; } + const int rows = GetRowCount(); + // add an extra margin in both directions const int MARGIN = 8; if ( IsVertical() ) { sizeTotal.x += MARGIN; - sizeTotal.y += tabSize.y + MARGIN; + sizeTotal.y += tabSize.y * rows + MARGIN; } else // horizontal layout { - sizeTotal.x += tabSize.x + MARGIN; + sizeTotal.x += tabSize.x * rows + MARGIN; sizeTotal.y += MARGIN; } @@ -671,7 +665,7 @@ wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const void wxNotebook::AdjustPageSize(wxNotebookPage *page) { - wxCHECK_RET( page, _T("NULL page in wxNotebook::AdjustPageSize") ); + wxCHECK_RET( page, wxT("NULL page in wxNotebook::AdjustPageSize") ); const wxRect r = GetPageSize(); if ( !r.IsEmpty() ) @@ -759,12 +753,12 @@ bool wxNotebook::InsertPage(size_t nPage, bool bSelect, int imageId) { - wxCHECK_MSG( pPage != NULL, false, _T("NULL page in wxNotebook::InsertPage") ); + wxCHECK_MSG( pPage != NULL, false, wxT("NULL page in wxNotebook::InsertPage") ); wxCHECK_MSG( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), false, - _T("invalid index in wxNotebook::InsertPage") ); + wxT("invalid index in wxNotebook::InsertPage") ); wxASSERT_MSG( pPage->GetParent() == this, - _T("notebook pages must have notebook as parent") ); + wxT("notebook pages must have notebook as parent") ); // add a new tab to the control // ---------------------------- @@ -1026,6 +1020,10 @@ void wxNotebook::OnSize(wxSizeEvent& event) MAKELPARAM(rc.right, rc.bottom)); s_isInOnSize = false; } + + // The best size depends on the number of rows of tabs, which can + // change when the notepad is resized. + InvalidateBestSize(); } #if wxUSE_UXTHEME @@ -1263,7 +1261,7 @@ WXHBRUSH wxNotebook::MSWGetBgBrushForChild(WXHDC hDC, WXHWND hWnd) if ( !::SetBrushOrgEx((HDC)hDC, -rc.left, -rc.top, NULL) ) { - wxLogLastError(_T("SetBrushOrgEx(notebook bg brush)")); + wxLogLastError(wxT("SetBrushOrgEx(notebook bg brush)")); } return m_hbrBackground;