]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/notebook.cpp
applied (slightly modified) wxToggleButton patch from John Norris and Axel Schlueter
[wxWidgets.git] / src / msw / notebook.cpp
index b8ac425b2e9234a2cdada25fd631ccac2907cf1c..426b8af2a082a109860a4160dc0185009c53577d 100644 (file)
@@ -81,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)
 
@@ -106,6 +109,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
 void wxNotebook::Init()
 {
   m_pImageList = NULL;
+  m_bOwnsImageList = FALSE;
   m_nSelection = -1;
 }
 
@@ -188,6 +192,7 @@ bool wxNotebook::Create(wxWindow *parent,
 // dtor
 wxNotebook::~wxNotebook()
 {
+  if (m_bOwnsImageList) delete m_pImageList;
 }
 
 // ----------------------------------------------------------------------------
@@ -276,10 +281,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
 // ----------------------------------------------------------------------------