From 04c54efe5cf13cccf9897c4b5d9bf9d364d1e078 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Tue, 13 Jul 2010 16:49:53 +0200 Subject: [PATCH] Deprecate GtkNotebookPage as used in switch-page Fixes: 618327 --- gtk/gtknotebook.c | 10 ++++++---- gtk/gtknotebook.h | 10 ++++++++++ modules/other/gail/gailnotebookpage.h | 4 ++++ tests/testgtk.c | 2 +- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index e9810b5a79..bb4650ec9f 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -398,7 +398,7 @@ static void gtk_notebook_calc_tabs (GtkNotebook *notebook, /*** GtkNotebook Page Switch Methods ***/ static void gtk_notebook_real_switch_page (GtkNotebook *notebook, - GtkNotebookPage *page, + GtkNotebookPage *child, guint page_num); /*** GtkNotebook Page Switch Functions ***/ @@ -6019,12 +6019,14 @@ gtk_notebook_update_tab_states (GtkNotebook *notebook) */ static void gtk_notebook_real_switch_page (GtkNotebook *notebook, - GtkNotebookPage *page, + GtkNotebookPage* child, guint page_num) { + GList *list = gtk_notebook_find_child (notebook, GTK_WIDGET (child), NULL); + GtkNotebookPage *page = GTK_NOTEBOOK_PAGE (list); gboolean child_has_focus; - if (notebook->cur_page == page || !gtk_widget_get_visible (page->child)) + if (notebook->cur_page == page || !gtk_widget_get_visible (GTK_WIDGET (child))) return; /* save the value here, changing visibility changes focus */ @@ -6082,7 +6084,7 @@ gtk_notebook_switch_page (GtkNotebook *notebook, g_signal_emit (notebook, notebook_signals[SWITCH_PAGE], 0, - page, + page->child, page_num); } diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h index 97128b8467..0f8dec401d 100644 --- a/gtk/gtknotebook.h +++ b/gtk/gtknotebook.h @@ -54,13 +54,19 @@ typedef enum typedef struct _GtkNotebook GtkNotebook; typedef struct _GtkNotebookClass GtkNotebookClass; +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) typedef struct _GtkNotebookPage GtkNotebookPage; +#endif struct _GtkNotebook { GtkContainer container; +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) GtkNotebookPage *GSEAL (cur_page); +#else + gpointer GSEAL (cur_page); +#endif GList *GSEAL (children); GList *GSEAL (first_tab); /* The first tab visible (for scrolling notebooks) */ GList *GSEAL (focus_tab); @@ -97,7 +103,11 @@ struct _GtkNotebookClass GtkContainerClass parent_class; void (* switch_page) (GtkNotebook *notebook, +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) GtkNotebookPage *page, +#else + gpointer page, +#endif guint page_num); /* Action signals for keybindings */ diff --git a/modules/other/gail/gailnotebookpage.h b/modules/other/gail/gailnotebookpage.h index 38e2acfb88..27778ce292 100644 --- a/modules/other/gail/gailnotebookpage.h +++ b/modules/other/gail/gailnotebookpage.h @@ -40,7 +40,11 @@ struct _GailNotebookPage AtkObject parent; GtkNotebook *notebook; +#ifndef GTK_DISABLE_DEPRECATED GtkNotebookPage *page; +#else + gpointer page; +#endif gint index; guint notify_child_added_id; diff --git a/tests/testgtk.c b/tests/testgtk.c index 0a3161b6b9..5751632cf1 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -6681,7 +6681,7 @@ set_page_image (GtkNotebook *notebook, gint page_num, GdkPixbuf *pixbuf) } static void -page_switch (GtkWidget *widget, GtkNotebookPage *page, gint page_num) +page_switch (GtkWidget *widget, gpointer *page, gint page_num) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); gint old_page_num = gtk_notebook_get_current_page (notebook);