X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e421922f90186d0619a806d277a0a2182e61b5fb..67e49a98bbba6793cf1e344477bee9e46d4d5c71:/src/msw/notebook.cpp?ds=sidebyside diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index dc4f4d5d4c..2022f361f9 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -110,7 +110,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent) // common part of all ctors void wxNotebook::Init() { - m_bOwnsImageList = FALSE; m_imageList = NULL; m_nSelection = -1; } @@ -162,7 +161,7 @@ bool wxNotebook::Create(wxWindow *parent, if ( m_windowStyle & wxTC_MULTILINE ) tabStyle |= TCS_MULTILINE; if ( m_windowStyle & wxBORDER ) - tabStyle &= WS_BORDER; + tabStyle |= WS_BORDER; if (m_windowStyle & wxNB_FIXEDWIDTH) tabStyle |= TCS_FIXEDWIDTH ; if (m_windowStyle & wxNB_BOTTOM) @@ -193,16 +192,10 @@ bool wxNotebook::Create(wxWindow *parent, return TRUE; } -// dtor -wxNotebook::~wxNotebook() -{ - if (m_bOwnsImageList) - delete m_imageList; -} - // ---------------------------------------------------------------------------- // wxNotebook accessors // ---------------------------------------------------------------------------- + int wxNotebook::GetPageCount() const { // consistency check @@ -276,21 +269,12 @@ bool wxNotebook::SetPageImage(int nPage, int nImage) void wxNotebook::SetImageList(wxImageList* imageList) { - if ( m_bOwnsImageList ) + wxNotebookBase::SetImageList(imageList); + + if ( imageList ) { - delete m_imageList; + TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST()); } - - m_bOwnsImageList = FALSE; - m_imageList = imageList; - - TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST()); -} - -void wxNotebook::AssignImageList(wxImageList* imageList) -{ - SetImageList(imageList); - m_bOwnsImageList = TRUE; } // ---------------------------------------------------------------------------- @@ -342,7 +326,7 @@ bool wxNotebook::DeletePage(int nPage) TabCtrl_DeleteItem(m_hwnd, nPage); delete m_pages[nPage]; - m_pages.Remove(nPage); + m_pages.RemoveAt(nPage); if ( m_pages.IsEmpty() ) { // no selection if the notebook became empty @@ -358,13 +342,12 @@ bool wxNotebook::DeletePage(int nPage) // remove one page from the notebook, without deleting wxNotebookPage *wxNotebook::DoRemovePage(int nPage) { - wxCHECK_MSG( IS_VALID_PAGE(nPage), NULL, wxT("notebook page out of range") ); + wxNotebookPage *pageRemoved = wxNotebookBase::DoRemovePage(nPage); + if ( !pageRemoved ) + return NULL; TabCtrl_DeleteItem(m_hwnd, nPage); - wxNotebookPage *pageRemoved = m_pages[nPage]; - m_pages.Remove(nPage); - if ( m_pages.IsEmpty() ) m_nSelection = -1; else