X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c482b99ec93fc52a1a10507d4b338ac217a28364..adf2eb2d343159326a68ba1a9b1a76f60f30d937:/src/univ/notebook.cpp diff --git a/src/univ/notebook.cpp b/src/univ/notebook.cpp index 39bf56b228..c1d4f7fdc0 100644 --- a/src/univ/notebook.cpp +++ b/src/univ/notebook.cpp @@ -255,7 +255,7 @@ int wxNotebook::SetSelection(int nPage) m_pages[m_sel]->Show(); } - return m_sel; + return selOld; } void wxNotebook::ChangePage(int nPage) @@ -330,6 +330,7 @@ bool wxNotebook::InsertPage(int nPage, bSelect = TRUE; Relayout(); + Refresh(); } else // not the first tab { @@ -518,10 +519,20 @@ void wxNotebook::DoDraw(wxControlRenderer *renderer) wxSize sizeSpinBtn = m_spinbtn->GetSize(); if ( IsVertical() ) + { rectTabs.height -= sizeSpinBtn.y; + + // Allow for erasing the line under selected tab + rectTabs.width += 2; + } else + { rectTabs.width -= sizeSpinBtn.x; + // Allow for erasing the line under selected tab + rectTabs.height += 2; + } + dc.SetClippingRegion(rectTabs); } @@ -566,6 +577,8 @@ void wxNotebook::DoDraw(wxControlRenderer *renderer) { DoDrawTab(dc, rectSel, m_sel); } + + dc.DestroyClippingRegion(); } // ---------------------------------------------------------------------------- @@ -949,7 +962,7 @@ void wxNotebook::SetPageSize(const wxSize& size) SetClientSize(GetSizeForPage(size)); } -wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) +wxSize wxNotebook::CalcSizeFromPage(const wxSize& sizePage) const { return AdjustSize(GetSizeForPage(sizePage)); }