projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added QueryRawValue() to wxRegKey and test code for it in the sample
[wxWidgets.git]
/
src
/
gtk1
/
notebook.cpp
diff --git
a/src/gtk1/notebook.cpp
b/src/gtk1/notebook.cpp
index 2d4ed460a5dbbd6bb526cdf38e0d820e90681aa8..1554c9e8011ff3fb066bfe88d3673b2657056699 100644
(file)
--- a/
src/gtk1/notebook.cpp
+++ b/
src/gtk1/notebook.cpp
@@
-178,6
+178,7
@@
static gint gtk_notebook_key_press_callback( GtkWidget *widget, GdkEventKey *gdk
/* GDK reports GDK_ISO_Left_Tab for SHIFT-TAB */
event.SetDirection( (gdk_event->keyval == GDK_Tab) );
/* CTRL-TAB changes the (parent) window, i.e. switch notebook page */
/* GDK reports GDK_ISO_Left_Tab for SHIFT-TAB */
event.SetDirection( (gdk_event->keyval == GDK_Tab) );
/* CTRL-TAB changes the (parent) window, i.e. switch notebook page */
+ event.SetWindowChange( (gdk_event->state & GDK_CONTROL_MASK) );
event.SetCurrentFocus( win );
if (!page->m_client->GetEventHandler()->ProcessEvent( event ))
{
event.SetCurrentFocus( win );
if (!page->m_client->GetEventHandler()->ProcessEvent( event ))
{
@@
-213,8
+214,10
@@
END_EVENT_TABLE()
void wxNotebook::Init()
{
m_imageList = (wxImageList *) NULL;
void wxNotebook::Init()
{
m_imageList = (wxImageList *) NULL;
+ m_ownsImageList = FALSE;
m_pages.DeleteContents( TRUE );
m_lastSelection = -1;
m_pages.DeleteContents( TRUE );
m_lastSelection = -1;
+ m_themeEnabled = TRUE;
}
wxNotebook::wxNotebook()
}
wxNotebook::wxNotebook()
@@
-237,6
+240,7
@@
wxNotebook::~wxNotebook()
GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this );
DeleteAllPages();
GTK_SIGNAL_FUNC(gtk_notebook_page_change_callback), (gpointer) this );
DeleteAllPages();
+ if (m_ownsImageList) delete m_imageList;
}
bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
}
bool wxNotebook::Create(wxWindow *parent, wxWindowID id,
@@
-357,6
+361,10
@@
int wxNotebook::SetSelection( int page )
int selOld = GetSelection();
gtk_notebook_set_page( GTK_NOTEBOOK(m_widget), page );
int selOld = GetSelection();
gtk_notebook_set_page( GTK_NOTEBOOK(m_widget), page );
+
+ wxGtkNotebookPage* g_page = GetNotebookPage( page );
+ if (g_page->m_client)
+ g_page->m_client->SetFocus();
return selOld;
}
return selOld;
}
@@
-382,7
+390,15
@@
void wxNotebook::AdvanceSelection( bool forward )
void wxNotebook::SetImageList( wxImageList* imageList )
{
void wxNotebook::SetImageList( wxImageList* imageList )
{
+ if (m_ownsImageList) delete m_imageList;
m_imageList = 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 )
}
bool wxNotebook::SetPageText( int page, const wxString &text )
@@
-516,7
+532,7
@@
bool wxNotebook::DeletePage( int page )
if (!nb_page) return FALSE;
/* GTK sets GtkNotebook.cur_page to NULL before sending
if (!nb_page) return FALSE;
/* GTK sets GtkNotebook.cur_page to NULL before sending
- the swit
v
h page event */
+ the swit
c
h page event */
m_lastSelection = GetSelection();
nb_page->m_client->Destroy();
m_lastSelection = GetSelection();
nb_page->m_client->Destroy();
@@
-531,8
+547,12
@@
bool wxNotebook::RemovePage( int page )
{
wxGtkNotebookPage* nb_page = GetNotebookPage(page);
{
wxGtkNotebookPage* nb_page = GetNotebookPage(page);
-
if (!nb_page) return FALSE
;
+
wxCHECK_MSG( nb_page, FALSE, _T("wxNotebook::RemovePage: invalid page") )
;
+ gtk_widget_ref( nb_page->m_client->m_widget );
+ gtk_widget_unrealize( nb_page->m_client->m_widget );
+ gtk_widget_unparent( nb_page->m_client->m_widget );
+
gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page );
m_pages.DeleteObject( nb_page );
gtk_notebook_remove_page( GTK_NOTEBOOK(m_widget), page );
m_pages.DeleteObject( nb_page );
@@
-552,6
+572,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 );
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();
GtkNotebook *notebook = GTK_NOTEBOOK(m_widget);
wxGtkNotebookPage *page = new wxGtkNotebookPage();
@@
-647,6
+670,8
@@
wxNotebookPage *wxNotebook::GetPage( int page ) const
return nb_page->m_client;
}
return nb_page->m_client;
}
+#if wxUSE_CONSTRAINTS
+
// override these 2 functions to do nothing: everything is done in OnSize
void wxNotebook::SetConstraintSizes( bool WXUNUSED(recurse) )
{
// override these 2 functions to do nothing: everything is done in OnSize
void wxNotebook::SetConstraintSizes( bool WXUNUSED(recurse) )
{
@@
-659,6
+684,8
@@
bool wxNotebook::DoPhase( int WXUNUSED(nPhase) )
return TRUE;
}
return TRUE;
}
+#endif
+
void wxNotebook::ApplyWidgetStyle()
{
// TODO, font for labels etc
void wxNotebook::ApplyWidgetStyle()
{
// TODO, font for labels etc