X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..4e0e692f033442a2f700771a209ca08e538411b0:/src/gtk/notebook.cpp?ds=sidebyside diff --git a/src/gtk/notebook.cpp b/src/gtk/notebook.cpp index 3626e86c46..78f0ebc9d6 100644 --- a/src/gtk/notebook.cpp +++ b/src/gtk/notebook.cpp @@ -26,6 +26,13 @@ #include "wx/gtk/win_gtk.h" #include +// ---------------------------------------------------------------------------- +// events +// ---------------------------------------------------------------------------- + +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED) +DEFINE_EVENT_TYPE(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING) + //----------------------------------------------------------------------------- // idle system //----------------------------------------------------------------------------- @@ -214,8 +221,10 @@ END_EVENT_TABLE() void wxNotebook::Init() { m_imageList = (wxImageList *) NULL; + m_ownsImageList = FALSE; m_pages.DeleteContents( TRUE ); m_lastSelection = -1; + m_themeEnabled = TRUE; } wxNotebook::wxNotebook() @@ -238,6 +247,7 @@ wxNotebook::~wxNotebook() GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this ); DeleteAllPages(); + if (m_ownsImageList) delete m_imageList; } bool wxNotebook::Create(wxWindow *parent, wxWindowID id, @@ -387,7 +397,15 @@ void wxNotebook::AdvanceSelection( bool forward ) void wxNotebook::SetImageList( wxImageList* imageList ) { + if (m_ownsImageList) delete m_imageList; m_imageList = imageList; + m_ownsImageList = FALSE; +} + +void wxNotebook::AssignImageList( wxImageList* imageList ) +{ + SetImageList(imageList); + m_ownsImageList = TRUE; } bool wxNotebook::SetPageText( int page, const wxString &text ) @@ -561,6 +579,9 @@ bool wxNotebook::InsertPage( int position, wxNotebookPage* win, const wxString& gtk_signal_disconnect_by_func( GTK_OBJECT(m_widget), GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this ); + if (m_themeEnabled) + win->SetThemeEnabled(TRUE); + GtkNotebook *notebook = GTK_NOTEBOOK(m_widget); wxGtkNotebookPage *page = new wxGtkNotebookPage();