X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d9506e775853406953c4b3ecd6f57b85abdafdfd..09b7e6184a08a6d7df8244fd5a0e97177fbe41cf:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index 63d108cf32..ff201a3ec9 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -41,15 +41,13 @@ #include // for SetWindowFont #ifndef __TWIN32__ -#ifdef __GNUWIN32__ -#ifndef wxUSE_NORLANDER_HEADERS - #include "wx/msw/gnuwin32/extra.h" -#endif -#endif + #ifdef __GNUWIN32_OLD__ + #include "wx/msw/gnuwin32/extra.h" + #endif #endif -#if !defined(__GNUWIN32__) || defined(__TWIN32__) || defined(wxUSE_NORLANDER_HEADERS) - #include +#if defined(__WIN95__) && !((defined(__GNUWIN32_OLD__) || defined(__TWIN32__)) && !defined(__CYGWIN10__)) + #include #endif // ---------------------------------------------------------------------------- @@ -83,6 +81,9 @@ // event table // ---------------------------------------------------------------------------- +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING) + BEGIN_EVENT_TABLE(wxNotebook, wxControl) EVT_NOTEBOOK_PAGE_CHANGED(-1, wxNotebook::OnSelChange) @@ -108,6 +109,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent) void wxNotebook::Init() { m_pImageList = NULL; + m_bOwnsImageList = FALSE; m_nSelection = -1; } @@ -151,6 +153,8 @@ bool wxNotebook::Create(wxWindow *parent, long tabStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP | TCS_TABS; + if ( m_windowStyle & wxCLIP_SIBLINGS ) + tabStyle |= WS_CLIPSIBLINGS; if (m_windowStyle & wxCLIP_CHILDREN) tabStyle |= WS_CLIPCHILDREN; if ( m_windowStyle & wxTC_MULTILINE ) @@ -190,6 +194,7 @@ bool wxNotebook::Create(wxWindow *parent, // dtor wxNotebook::~wxNotebook() { + if (m_bOwnsImageList) delete m_pImageList; } // ---------------------------------------------------------------------------- @@ -278,10 +283,18 @@ bool wxNotebook::SetPageImage(int nPage, int nImage) void wxNotebook::SetImageList(wxImageList* imageList) { + if (m_bOwnsImageList) delete m_pImageList; m_pImageList = imageList; + m_bOwnsImageList = FALSE; TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST()); } +void wxNotebook::AssignImageList(wxImageList* imageList) +{ + SetImageList(imageList); + m_bOwnsImageList = TRUE; +} + // ---------------------------------------------------------------------------- // wxNotebook size settings // ----------------------------------------------------------------------------