X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/da1158bb912c4aef45c07ce2de5b69ea2773f65e..e97251c58ea8b3676ec05ecccdcae77c61e97a10:/src/univ/notebook.cpp?ds=sidebyside diff --git a/src/univ/notebook.cpp b/src/univ/notebook.cpp index d3d4b29fe1..da6d4b486f 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 { @@ -462,7 +463,9 @@ void wxNotebook::DoDrawTab(wxDC& dc, const wxRect& rect, size_t n) { int image = m_images[n]; -#ifdef __WXMSW__ // FIXME + // Not needed now that wxGenericImageList is being + // used for wxUniversal under MSW +#if 0 // def __WXMSW__ // FIXME int w, h; m_imageList->GetSize(n, w, h); bmp.Create(w, h); @@ -516,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); } @@ -564,6 +577,8 @@ void wxNotebook::DoDraw(wxControlRenderer *renderer) { DoDrawTab(dc, rectSel, m_sel); } + + dc.DestroyClippingRegion(); } // ----------------------------------------------------------------------------