From f53ad339941a6cab1468eef279bd518992ae68bc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Sep 2010 19:57:32 -0400 Subject: [PATCH] Remove GtkObject completely --- docs/reference/gtk/gtk3.types | 1 - gtk/Makefile.am | 2 - gtk/gtk.h | 1 - gtk/gtk.symbols | 8 +- gtk/gtkadjustment.h | 1 - gtk/gtkarrow.c | 1 + gtk/gtkbbox.c | 1 + gtk/gtkbindings.c | 31 +- gtk/gtkbindings.h | 11 +- gtk/gtkbox.c | 1 + gtk/gtkbuilder.c | 1 + gtk/gtkcellrendererspinner.c | 1 + gtk/gtkcombobox.c | 10 +- gtk/gtkcontainer.c | 18 +- gtk/gtkexpander.c | 10 +- gtk/gtkhsv.c | 1 + gtk/gtkicontheme.c | 1 + gtk/gtkimcontext.h | 1 - gtk/gtkimcontextsimple.c | 1 + gtk/gtkinvisible.c | 2 +- gtk/gtkmain.c | 18 +- gtk/gtkmain.h | 3 +- gtk/gtkmenushell.c | 2 +- gtk/gtknotebook.c | 5 +- gtk/gtkobject.c | 227 ------------ gtk/gtkobject.h | 135 ------- gtk/gtkoffscreenwindow.c | 4 +- gtk/gtkorientable.c | 1 + gtk/gtkplug-x11.c | 1 + gtk/gtkplug.c | 6 +- gtk/gtkprivate.h | 67 ++-- gtk/gtkruler.c | 1 + gtk/gtkscalebutton.c | 6 +- gtk/gtkscrolledwindow.c | 1 + gtk/gtkselection.c | 1 + gtk/gtksettings.c | 1 + gtk/gtksizegroup.c | 6 +- gtk/gtksizerequest.c | 9 +- gtk/gtksocket-win32.c | 2 +- gtk/gtksocket-x11.c | 1 + gtk/gtksocket.c | 5 +- gtk/gtkstyle.c | 1 + gtk/gtktable.c | 1 + gtk/gtktestutils.h | 3 + gtk/gtktextlayout.c | 2 +- gtk/gtktexttag.h | 3 - gtk/gtktextview.c | 2 +- gtk/gtkthemes.c | 1 + gtk/gtktoolbar.c | 2 +- gtk/gtktrayicon-x11.c | 2 + gtk/gtktreemodel.h | 3 - gtk/gtktreesortable.h | 1 + gtk/gtktreeview.c | 2 +- gtk/gtktreeviewcolumn.c | 2 +- gtk/gtktypeutils.c | 1 - gtk/gtktypeutils.h | 7 +- gtk/gtkviewport.c | 1 + gtk/gtkwidget.c | 633 ++++++++++++++++++-------------- gtk/gtkwidget.h | 16 +- gtk/gtkwindow.c | 6 +- gtk/gtkwrapbox.c | 1 + gtk/gtkxembed.c | 1 + modules/other/gail/Makefile.am | 2 - modules/other/gail/gail.c | 4 - modules/other/gail/gail.h | 1 - modules/other/gail/gailobject.c | 54 --- modules/other/gail/gailobject.h | 51 --- tests/testfilechooser.c | 4 +- tests/testgtk.c | 6 +- tests/testmerge.c | 2 +- tests/testrecentchooser.c | 4 +- 71 files changed, 502 insertions(+), 923 deletions(-) delete mode 100644 gtk/gtkobject.c delete mode 100644 gtk/gtkobject.h delete mode 100644 modules/other/gail/gailobject.c delete mode 100644 modules/other/gail/gailobject.h diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types index aaad23126..86d8d8252 100644 --- a/docs/reference/gtk/gtk3.types +++ b/docs/reference/gtk/gtk3.types @@ -93,7 +93,6 @@ gtk_message_dialog_get_type gtk_misc_get_type gtk_mount_operation_get_type gtk_notebook_get_type -gtk_object_get_type gtk_offscreen_window_get_type gtk_orientable_get_type gtk_page_setup_get_type diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 60057e575..4f2c193b5 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -244,7 +244,6 @@ gtk_public_h_sources = \ gtkmodules.h \ gtkmountoperation.h \ gtknotebook.h \ - gtkobject.h \ gtkoffscreenwindow.h \ gtkorientable.h \ gtkpagesetup.h \ @@ -512,7 +511,6 @@ gtk_base_c_sources = \ gtkmodules.c \ gtkmountoperation.c \ gtknotebook.c \ - gtkobject.c \ gtkoffscreenwindow.c \ gtkorientable.c \ gtkpagesetup.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 4484ae741..f970cb35d 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -127,7 +127,6 @@ #include #include #include -#include #include #include #include diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index b9cb16163..fd43fc7e2 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2067,13 +2067,6 @@ gtk_notebook_set_action_widget #endif #endif -#if IN_HEADER(__GTK_OBJECT_H__) -#if IN_FILE(__GTK_OBJECT_C__) -gtk_object_destroy -gtk_object_get_type G_GNUC_CONST -#endif -#endif - #if IN_HEADER(__GTK_OFFSCREEN_WINDOW_H__) #if IN_FILE(__GTK_OFFSCREEN_WINDOW_C__) gtk_offscreen_window_get_type G_GNUC_CONST @@ -4361,6 +4354,7 @@ gtk_widget_get_margin_top gtk_widget_set_margin_top gtk_widget_get_margin_bottom gtk_widget_set_margin_bottom +gtk_widget_in_destruction #endif #endif diff --git a/gtk/gtkadjustment.h b/gtk/gtkadjustment.h index 1435ba50f..0e7cafbf3 100644 --- a/gtk/gtkadjustment.h +++ b/gtk/gtkadjustment.h @@ -31,7 +31,6 @@ #ifndef __GTK_ADJUSTMENT_H__ #define __GTK_ADJUSTMENT_H__ -#include #include G_BEGIN_DECLS diff --git a/gtk/gtkarrow.c b/gtk/gtkarrow.c index 801afaf5a..2c69ca051 100644 --- a/gtk/gtkarrow.c +++ b/gtk/gtkarrow.c @@ -48,6 +48,7 @@ #include #include "gtkarrow.h" #include "gtksizerequest.h" +#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index 0e8b0c7e9..92f88fe96 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -51,6 +51,7 @@ #include "gtkorientable.h" #include "gtkprivate.h" #include "gtksizerequest.h" +#include "gtktypeutils.h" #include "gtkintl.h" diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index ff9a49f5a..6973a6a2b 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -1,7 +1,7 @@ /* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * - * GtkBindingSet: Keybinding manager for GtkObjects. + * GtkBindingSet: Keybinding manager for GObjects. * Copyright (C) 1998 Tim Janik * * This library is free software; you can redistribute it and/or @@ -34,6 +34,7 @@ #include "gtkbindings.h" #include "gtkkeyhash.h" +#include "gtktypeutils.h" #include "gtkwidget.h" #include "gtkrc.h" @@ -340,7 +341,7 @@ binding_ht_lookup_entry (GtkBindingSet *set, } static gboolean -binding_compose_params (GtkObject *object, +binding_compose_params (GObject *object, GtkBindingArg *args, GSignalQuery *query, GValue **params_p) @@ -469,7 +470,7 @@ binding_compose_params (GtkObject *object, static gboolean gtk_binding_entry_activate (GtkBindingEntry *entry, - GtkObject *object) + GObject *object) { GtkBindingSignal *sig; gboolean old_emission; @@ -593,7 +594,7 @@ gtk_binding_set_new (const gchar *set_name) /** * gtk_binding_set_by_class: - * @object_class: a valid #GtkObject class + * @object_class: a valid #GObject class * * This function returns the binding set named after the type name of * the passed in class structure. New binding sets are created on @@ -604,10 +605,10 @@ gtk_binding_set_new (const gchar *set_name) GtkBindingSet* gtk_binding_set_by_class (gpointer object_class) { - GtkObjectClass *class = object_class; + GObjectClass *class = object_class; GtkBindingSet* binding_set; - g_return_val_if_fail (GTK_IS_OBJECT_CLASS (class), NULL); + g_return_val_if_fail (G_IS_OBJECT_CLASS (class), NULL); if (!key_id_class_binding_set) key_id_class_binding_set = g_quark_from_static_string (key_class_binding_set); @@ -671,12 +672,12 @@ gboolean gtk_binding_set_activate (GtkBindingSet *binding_set, guint keyval, GdkModifierType modifiers, - GtkObject *object) + GObject *object) { GtkBindingEntry *entry; g_return_val_if_fail (binding_set != NULL, FALSE); - g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE); + g_return_val_if_fail (G_IS_OBJECT (object), FALSE); keyval = gdk_keyval_to_lower (keyval); modifiers = modifiers & BINDING_MOD_MASK (); @@ -1052,7 +1053,7 @@ gtk_binding_set_add_path (GtkBindingSet *binding_set, static gboolean binding_match_activate (GSList *pspec_list, - GtkObject *object, + GObject *object, guint path_length, gchar *path, gchar *path_reversed, @@ -1170,7 +1171,7 @@ gtk_binding_entries_sort_patterns (GSList *entries, } static gboolean -gtk_bindings_activate_list (GtkObject *object, +gtk_bindings_activate_list (GObject *object, GSList *entries, gboolean is_release) { @@ -1264,7 +1265,7 @@ gtk_bindings_activate_list (GtkObject *object, * Return value: %TRUE if a binding was found and activated */ gboolean -gtk_bindings_activate (GtkObject *object, +gtk_bindings_activate (GObject *object, guint keyval, GdkModifierType modifiers) { @@ -1274,8 +1275,6 @@ gtk_bindings_activate (GtkObject *object, gboolean handled = FALSE; gboolean is_release; - g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE); - if (!GTK_IS_WIDGET (object)) return FALSE; @@ -1296,7 +1295,7 @@ gtk_bindings_activate (GtkObject *object, /** * gtk_bindings_activate_event: - * @object: a #GtkObject (generally must be a widget) + * @object: a #GObject (generally must be a widget) * @event: a #GdkEventKey * * Looks up key bindings for @object to find one matching @@ -1307,7 +1306,7 @@ gtk_bindings_activate (GtkObject *object, * Since: 2.4 */ gboolean -gtk_bindings_activate_event (GtkObject *object, +gtk_bindings_activate_event (GObject *object, GdkEventKey *event) { GSList *entries = NULL; @@ -1315,8 +1314,6 @@ gtk_bindings_activate_event (GtkObject *object, GtkKeyHash *key_hash; gboolean handled = FALSE; - g_return_val_if_fail (GTK_IS_OBJECT (object), FALSE); - if (!GTK_IS_WIDGET (object)) return FALSE; diff --git a/gtk/gtkbindings.h b/gtk/gtkbindings.h index 904eb3e8c..260eeb80b 100644 --- a/gtk/gtkbindings.h +++ b/gtk/gtkbindings.h @@ -1,7 +1,7 @@ /* GTK - The GIMP Toolkit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * - * GtkBindingSet: Keybinding manager for GtkObjects. + * GtkBindingSet: Keybinding manager for GObjects. * Copyright (C) 1998 Tim Janik * * This library is free software; you can redistribute it and/or @@ -36,8 +36,7 @@ #include -#include - +#include G_BEGIN_DECLS @@ -101,15 +100,15 @@ struct _GtkBindingSignal GtkBindingSet* gtk_binding_set_new (const gchar *set_name); GtkBindingSet* gtk_binding_set_by_class(gpointer object_class); GtkBindingSet* gtk_binding_set_find (const gchar *set_name); -gboolean gtk_bindings_activate (GtkObject *object, +gboolean gtk_bindings_activate (GObject *object, guint keyval, GdkModifierType modifiers); -gboolean gtk_bindings_activate_event (GtkObject *object, +gboolean gtk_bindings_activate_event (GObject *object, GdkEventKey *event); gboolean gtk_binding_set_activate (GtkBindingSet *binding_set, guint keyval, GdkModifierType modifiers, - GtkObject *object); + GObject *object); void gtk_binding_entry_skip (GtkBindingSet *binding_set, guint keyval, diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index e8310c50c..fa67dbb7b 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -78,6 +78,7 @@ #include "gtkbox.h" #include "gtkorientable.h" #include "gtksizerequest.h" +#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index d0c4725ab..13c0f4b3c 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -246,6 +246,7 @@ #include "gtkbuilder.h" #include "gtkbuildable.h" #include "gtkbuilderprivate.h" +#include "gtkdebug.h" #include "gtkmain.h" #include "gtkintl.h" #include "gtkprivate.h" diff --git a/gtk/gtkcellrendererspinner.c b/gtk/gtkcellrendererspinner.c index 843d90fd3..8cb020a4a 100644 --- a/gtk/gtkcellrendererspinner.c +++ b/gtk/gtkcellrendererspinner.c @@ -32,6 +32,7 @@ #include "gtkcellrendererspinner.h" #include "gtkiconfactory.h" #include "gtkicontheme.h" +#include "gtktypeutils.h" #include "gtkintl.h" diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index ba7a2f8b3..f8ce6db0e 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -1283,7 +1283,7 @@ gtk_combo_box_remove (GtkContainer *container, gtk_widget_unparent (widget); _gtk_bin_set_child (GTK_BIN (container), NULL); - if (GTK_OBJECT_FLAGS (combo_box) & GTK_IN_DESTRUCTION) + if (gtk_widget_in_destruction (combo_box)) return; gtk_widget_queue_resize (GTK_WIDGET (container)); @@ -3964,12 +3964,12 @@ gtk_combo_box_menu_key_press (GtkWidget *widget, { GtkComboBox *combo_box = GTK_COMBO_BOX (data); - if (!gtk_bindings_activate_event (GTK_OBJECT (widget), event)) + if (!gtk_bindings_activate_event (G_OBJECT (widget), event)) { /* The menu hasn't managed the * event, forward it to the combobox */ - gtk_bindings_activate_event (GTK_OBJECT (combo_box), event); + gtk_bindings_activate_event (G_OBJECT (combo_box), event); } return TRUE; @@ -4003,12 +4003,12 @@ gtk_combo_box_list_key_press (GtkWidget *widget, return TRUE; } - if (!gtk_bindings_activate_event (GTK_OBJECT (widget), event)) + if (!gtk_bindings_activate_event (G_OBJECT (widget), event)) { /* The list hasn't managed the * event, forward it to the combobox */ - gtk_bindings_activate_event (GTK_OBJECT (combo_box), event); + gtk_bindings_activate_event (G_OBJECT (combo_box), event); } return TRUE; diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index c38153ca2..3f6f2877f 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -1086,7 +1086,7 @@ gtk_container_destroy (GtkWidget *widget) GtkContainer *container = GTK_CONTAINER (widget); GtkContainerPrivate *priv = container->priv; - if (GTK_CONTAINER_RESIZE_PENDING (container)) + if (_gtk_widget_get_resize_pending (GTK_WIDGET (container))) _gtk_container_dequeue_resize_handler (container); if (priv->focus_child) @@ -1278,10 +1278,10 @@ void _gtk_container_dequeue_resize_handler (GtkContainer *container) { g_return_if_fail (GTK_IS_CONTAINER (container)); - g_return_if_fail (GTK_CONTAINER_RESIZE_PENDING (container)); + g_return_if_fail (_gtk_widget_get_resize_pending (GTK_WIDGET (container))); container_resize_queue = g_slist_remove (container_resize_queue, container); - GTK_PRIVATE_UNSET_FLAG (container, GTK_RESIZE_PENDING); + _gtk_widget_set_resize_pending (GTK_WIDGET (container), FALSE); } /** @@ -1392,7 +1392,7 @@ gtk_container_idle_sizer (gpointer data) widget = slist->data; g_slist_free_1 (slist); - GTK_PRIVATE_UNSET_FLAG (widget, GTK_RESIZE_PENDING); + _gtk_widget_set_resize_pending (widget, FALSE); gtk_container_check_resize (GTK_CONTAINER (widget)); } @@ -1418,9 +1418,9 @@ _gtk_container_queue_resize (GtkContainer *container) while (TRUE) { - GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_WIDTH_REQUEST_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_HEIGHT_REQUEST_NEEDED); + _gtk_widget_set_alloc_needed (widget, TRUE); + _gtk_widget_set_width_request_needed (widget, TRUE); + _gtk_widget_set_height_request_needed (widget, TRUE); if ((resize_container && widget == GTK_WIDGET (resize_container)) || !(parent = gtk_widget_get_parent (widget))) @@ -1438,9 +1438,9 @@ _gtk_container_queue_resize (GtkContainer *container) switch (resize_container->priv->resize_mode) { case GTK_RESIZE_QUEUE: - if (!GTK_CONTAINER_RESIZE_PENDING (resize_container)) + if (!_gtk_widget_get_resize_pending (GTK_WIDGET (resize_container))) { - GTK_PRIVATE_SET_FLAG (resize_container, GTK_RESIZE_PENDING); + _gtk_widget_set_resize_pending (GTK_WIDGET (resize_container), TRUE); if (container_resize_queue == NULL) gdk_threads_add_idle_full (GTK_PRIORITY_RESIZE, gtk_container_idle_sizer, diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index cf5f1b8e8..9554ec183 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -608,7 +608,7 @@ gtk_expander_size_allocate (GtkWidget *widget, child_ypad = 2 * border_width + priv->spacing + (interior_focus ? 0 : 2 * focus_width + 2 * focus_pad); top_min_height = 2 * expander_spacing + expander_size; - child_visible = (child && GTK_WIDGET_CHILD_VISIBLE (child)); + child_visible = (child && gtk_widget_get_child_visible (child)); if (priv->label_widget && gtk_widget_get_visible (priv->label_widget)) { @@ -1103,7 +1103,7 @@ focus_in_site (GtkExpander *expander, { GtkWidget *child = gtk_bin_get_child (GTK_BIN (expander)); - if (child && GTK_WIDGET_CHILD_VISIBLE (child)) + if (child && gtk_widget_get_child_visible (child)) return gtk_widget_child_focus (child, direction); else return FALSE; @@ -1312,7 +1312,7 @@ gtk_expander_get_preferred_width (GtkWidget *widget, *natural_size += label_nat; } - if (child && GTK_WIDGET_CHILD_VISIBLE (child)) + if (child && gtk_widget_get_child_visible (child)) { gint child_min, child_nat; @@ -1382,7 +1382,7 @@ gtk_expander_get_preferred_height (GtkWidget *widget, *natural_size += extra; } - if (child && GTK_WIDGET_CHILD_VISIBLE (child)) + if (child && gtk_widget_get_child_visible (child)) { gint child_min, child_nat; @@ -1457,7 +1457,7 @@ gtk_expander_get_preferred_height_for_width (GtkWidget *widget, *natural_height += extra; } - if (child && GTK_WIDGET_CHILD_VISIBLE (child)) + if (child && gtk_widget_get_child_visible (child)) { gint child_min, child_nat; diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 973dc4ba3..86e398523 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -39,6 +39,7 @@ #include "gtkhsv.h" #include "gtkbindings.h" #include "gtkmarshalers.h" +#include "gtktypeutils.h" #include "gtkintl.h" /* Default width/height */ diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 4b0adee58..c77b9cba6 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -39,6 +39,7 @@ #endif /* G_OS_WIN32 */ #include "gtkicontheme.h" +#include "gtkdebug.h" #include "gtkiconfactory.h" #include "gtkiconcache.h" #include "gtkbuiltincache.h" diff --git a/gtk/gtkimcontext.h b/gtk/gtkimcontext.h index 25c218b54..1c5dfd066 100644 --- a/gtk/gtkimcontext.h +++ b/gtk/gtkimcontext.h @@ -26,7 +26,6 @@ #include -#include G_BEGIN_DECLS diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 6bdd3cc86..fac41e759 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -27,6 +27,7 @@ #include "gtkimcontextsimple.h" #include "gtksettings.h" #include "gtkwidget.h" +#include "gtkdebug.h" #include "gtkintl.h" diff --git a/gtk/gtkinvisible.c b/gtk/gtkinvisible.c index e08f62da2..942986d49 100644 --- a/gtk/gtkinvisible.c +++ b/gtk/gtkinvisible.c @@ -263,7 +263,7 @@ gtk_invisible_style_set (GtkWidget *widget, static void gtk_invisible_show (GtkWidget *widget) { - GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE); + _gtk_widget_set_visible_flag (widget, TRUE); gtk_widget_map (widget); } diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 116ade7b5..1dd2adeb5 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1931,7 +1931,7 @@ gtk_grab_notify_foreach (GtkWidget *child, if (is_shadowed) { - GTK_PRIVATE_SET_FLAG (child, GTK_SHADOWED); + _gtk_widget_set_shadowed (child, TRUE); if (!was_shadowed && devices && gtk_widget_is_sensitive (child)) synth_crossing_for_grab_notify (child, info->new_grab_widget, @@ -1940,7 +1940,7 @@ gtk_grab_notify_foreach (GtkWidget *child, } else { - GTK_PRIVATE_UNSET_FLAG (child, GTK_SHADOWED); + _gtk_widget_set_shadowed (child, FALSE); if (was_shadowed && devices && gtk_widget_is_sensitive (child)) synth_crossing_for_grab_notify (info->old_grab_widget, child, @@ -2240,25 +2240,25 @@ gtk_quit_destroy (GtkQuitFunction *quitf) } static gint -gtk_quit_destructor (GtkObject **object_p) +gtk_quit_destructor (GtkWidget **object_p) { if (*object_p) - gtk_object_destroy (*object_p); + gtk_widget_destroy (*object_p); g_free (object_p); return FALSE; } void -gtk_quit_add_destroy (guint main_level, - GtkObject *object) +gtk_quit_add_destroy (guint main_level, + GtkWidget *object) { - GtkObject **object_p; + GtkWidget **object_p; g_return_if_fail (main_level > 0); - g_return_if_fail (GTK_IS_OBJECT (object)); + g_return_if_fail (GTK_IS_WIDGET (object)); - object_p = g_new (GtkObject*, 1); + object_p = g_new (GtkWidget*, 1); *object_p = object; g_signal_connect (object, "destroy", diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 39171f584..04b9fd894 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -33,6 +33,7 @@ #include +#include #include #ifdef G_PLATFORM_WIN32 #include @@ -144,7 +145,7 @@ void gtk_device_grab_remove (GtkWidget *widget, void gtk_init_add (GtkFunction function, gpointer data); void gtk_quit_add_destroy (guint main_level, - GtkObject *object); + GtkWidget *object); guint gtk_quit_add (guint main_level, GtkFunction function, gpointer data); diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index f6b3b5b0e..e531de1c1 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -908,7 +908,7 @@ gtk_menu_shell_key_press (GtkWidget *widget, if (!(menu_shell->active_menu_item || priv->in_unselectable_item) && menu_shell->parent_menu_shell) return gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent *)event); - if (gtk_bindings_activate_event (GTK_OBJECT (widget), event)) + if (gtk_bindings_activate_event (G_OBJECT (widget), event)) return TRUE; g_object_get (gtk_widget_get_settings (widget), diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index d6c018eb8..c5b880c0f 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1702,7 +1702,7 @@ gtk_notebook_map (GtkWidget *widget) { if (priv->action_widget[i] && gtk_widget_get_visible (priv->action_widget[i]) && - GTK_WIDGET_CHILD_VISIBLE (priv->action_widget[i]) && + gtk_widget_get_child_visible (priv->action_widget[i]) && !gtk_widget_get_mapped (priv->action_widget[i])) gtk_widget_map (priv->action_widget[i]); } @@ -4527,10 +4527,9 @@ gtk_notebook_real_remove (GtkNotebook *notebook, GList * next_list; gint need_resize = FALSE; GtkWidget *tab_label; - gboolean destroying; - destroying = GTK_OBJECT_FLAGS (notebook) & GTK_IN_DESTRUCTION; + destroying = gtk_widget_in_destruction (notebook); next_list = gtk_notebook_search_page (notebook, list, STEP_NEXT, TRUE); if (!next_list) diff --git a/gtk/gtkobject.c b/gtk/gtkobject.c deleted file mode 100644 index 0b26cfd3f..000000000 --- a/gtk/gtkobject.c +++ /dev/null @@ -1,227 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include -#include -#include - -#include "gtkobject.h" -#include "gtkintl.h" -#include "gtkmarshalers.h" -#include "gtkprivate.h" - -/** - * SECTION:gtkobject - * @Short_description: The base class of the GTK+ type hierarchy - * @Title: GtkObject - * @See_also:#GObject - * - * #GtkObject is the base class for all widgets, and for a few - * non-widget objects such as #GtkAdjustment. #GtkObject predates - * #GObject; non-widgets that derive from #GtkObject rather than - * #GObject do so for backward compatibility reasons. - * - * #GtkObjects are created with a "floating" reference count. - * This means that the initial reference is not owned by anyone. Calling - * g_object_unref() on a newly-created #GtkObject is incorrect, the floating - * reference has to be removed first. This can be done by anyone at any time, - * by calling g_object_ref_sink() to convert the floating reference into a - * regular reference. g_object_ref_sink() returns a new reference if an object - * is already sunk (has no floating reference). - * - * When you add a widget to its parent container, the parent container - * will do this: - * - * g_object_ref_sink (G_OBJECT (child_widget)); - * - * This means that the container now owns a reference to the child widget - * and the child widget has no floating reference. - * - * The purpose of the floating reference is to keep the child widget alive - * until you add it to a parent container: - * - * button = gtk_button_new (); - * /* button has one floating reference to keep it alive */ - * gtk_container_add (GTK_CONTAINER (container), button); - * /* button has one non-floating reference owned by the container */ - * - * - * #GtkWindow is a special case, because GTK+ itself will ref/sink it on creation. - * That is, after calling gtk_window_new(), the #GtkWindow will have one - * reference which is owned by GTK+, and no floating references. - * - * One more factor comes into play: the #GtkObject::destroy signal, emitted by the - * gtk_object_destroy() method. The #GtkObject::destroy signal asks all code owning a - * reference to an object to release said reference. So, for example, if you call - * gtk_object_destroy() on a #GtkWindow, GTK+ will release the reference count that - * it owns; if you call gtk_object_destroy() on a #GtkButton, then the button will - * be removed from its parent container and the parent container will release its - * reference to the button. Because these references are released, calling - * gtk_object_destroy() should result in freeing all memory associated with an - * object, unless some buggy code fails to release its references in response to - * the #GtkObject::destroy signal. Freeing memory (referred to as - * finalization) only happens if the reference count reaches - * zero. - * - * Some simple rules for handling #GtkObject: - * - * - * Never call g_object_unref() unless you have previously called g_object_ref(), - * even if you created the #GtkObject. (Note: this is not - * true for #GObject; for #GObject, the creator of the object owns a reference.) - * - * - * Call gtk_object_destroy() to get rid of most objects in most cases. - * In particular, widgets are almost always destroyed in this way. - * - * Because of the floating reference count, you don't need to - * worry about reference counting for widgets and toplevel windows, unless you - * explicitly call g_object_ref() yourself. - * - */ - - -enum { - DESTROY, - LAST_SIGNAL -}; - -static void gtk_object_dispose (GObject *object); -static void gtk_object_real_destroy (GtkObject *object); -static void gtk_object_finalize (GObject *object); - -static guint object_signals[LAST_SIGNAL] = { 0 }; - - -/**************************************************** - * GtkObject type, class and instance initialization - * - ****************************************************/ - -G_DEFINE_ABSTRACT_TYPE (GtkObject, gtk_object, G_TYPE_INITIALLY_UNOWNED); - -static void -gtk_object_init (GtkObject *object) -{ -} - -static void -gtk_object_class_init (GtkObjectClass *class) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (class); - - gobject_class->dispose = gtk_object_dispose; - gobject_class->finalize = gtk_object_finalize; - - class->destroy = gtk_object_real_destroy; - - /** - * GtkObject::destroy: - * @object: the object which received the signal. - * - * Signals that all holders of a reference to the #GtkObject should release - * the reference that they hold. May result in finalization of the object - * if all references are released. - */ - object_signals[DESTROY] = - g_signal_new (I_("destroy"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_CLEANUP | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS, - G_STRUCT_OFFSET (GtkObjectClass, destroy), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); -} - - -/******************************************** - * Functions to end a GtkObject's life time - * - ********************************************/ -/** - * gtk_object_destroy: - * @object: the object to destroy. - * - * Emits the #GtkObject::destroy signal notifying all reference holders that they should - * release the #GtkObject. See the overview documentation at the top of the - * page for more details. - * - * The memory for the object itself won't be deleted until - * its reference count actually drops to 0; gtk_object_destroy() merely asks - * reference holders to release their references, it does not free the object. - */ -void -gtk_object_destroy (GtkObject *object) -{ - g_return_if_fail (GTK_IS_OBJECT (object)); - - if (!(GTK_OBJECT_FLAGS (object) & GTK_IN_DESTRUCTION)) - g_object_run_dispose (G_OBJECT (object)); -} - -static void -gtk_object_dispose (GObject *gobject) -{ - GtkObject *object = GTK_OBJECT (gobject); - - /* guard against reinvocations during - * destruction with the GTK_IN_DESTRUCTION flag. - */ - if (!(GTK_OBJECT_FLAGS (object) & GTK_IN_DESTRUCTION)) - { - GTK_OBJECT_SET_FLAGS (object, GTK_IN_DESTRUCTION); - - g_signal_emit (object, object_signals[DESTROY], 0); - - GTK_OBJECT_UNSET_FLAGS (object, GTK_IN_DESTRUCTION); - } - - G_OBJECT_CLASS (gtk_object_parent_class)->dispose (gobject); -} - -static void -gtk_object_real_destroy (GtkObject *object) -{ - g_signal_handlers_destroy (object); -} - -static void -gtk_object_finalize (GObject *gobject) -{ - GtkObject *object = GTK_OBJECT (gobject); - - if (g_object_is_floating (object)) - { - g_warning ("A floating object was finalized. This means that someone\n" - "called g_object_unref() on an object that had only a floating\n" - "reference; the initial floating reference is not owned by anyone\n" - "and must be removed with g_object_ref_sink()."); - } - - G_OBJECT_CLASS (gtk_object_parent_class)->finalize (gobject); -} diff --git a/gtk/gtkobject.h b/gtk/gtkobject.h deleted file mode 100644 index d8339a0b6..000000000 --- a/gtk/gtkobject.h +++ /dev/null @@ -1,135 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GTK_OBJECT_H__ -#define __GTK_OBJECT_H__ - - -#include -#include -#include -#include - - -G_BEGIN_DECLS - -/* macros for casting a pointer to a GtkObject or GtkObjectClass pointer, - * and to test whether `object' and `klass' are of type GTK_TYPE_OBJECT. - * these are the standard macros for all GtkObject-derived classes. - */ -#define GTK_TYPE_OBJECT (gtk_object_get_type ()) -#define GTK_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_OBJECT, GtkObject)) -#define GTK_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_OBJECT, GtkObjectClass)) -#define GTK_IS_OBJECT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_OBJECT)) -#define GTK_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OBJECT)) -#define GTK_OBJECT_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GTK_TYPE_OBJECT, GtkObjectClass)) - -#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) -/* GtkObject only uses the first 4 bits of the flags field. - * Derived objects may use the remaining bits. Though this - * is a kinda nasty break up, it does make the size of - * derived objects smaller. - */ -/** - * GtkObjectFlags: - * @GTK_IN_DESTRUCTION: the object is currently being destroyed. This is used - * internally by GTK+ to prevent reinvokations during destruction. - * @GTK_RESERVED_1: reserved for future use - * @GTK_RESERVED_2: reserved for future use - * - * Tells about the state of the object. - * - * Deprecated: 2.22: Do not re-use #GtkObject flags but use your own variable to - * store flags. - */ -typedef enum -{ - GTK_IN_DESTRUCTION = 1 << 0, /* Used internally during dispose */ - GTK_RESERVED_1 = 1 << 2, - GTK_RESERVED_2 = 1 << 3 -} GtkObjectFlags; - -/** - * GTK_OBJECT_FLAGS: - * @obj: the object whose flags are returned. - * - * Gets the #GtkObjectFlags for an object without directly - * accessing its members. - * - * Deprecated: 2.22: Do not re-use #GtkObject flags but use your own variable to - * store flags. - */ -#define GTK_OBJECT_FLAGS(obj) (GTK_OBJECT (obj)->flags) - -/* Macros for setting and clearing bits in the object_flags field of GtkObject. - */ -#define GTK_OBJECT_SET_FLAGS(obj,flag) G_STMT_START{ (GTK_OBJECT_FLAGS (obj) |= (flag)); }G_STMT_END -#define GTK_OBJECT_UNSET_FLAGS(obj,flag) G_STMT_START{ (GTK_OBJECT_FLAGS (obj) &= ~(flag)); }G_STMT_END -#endif - -typedef struct _GtkObjectClass GtkObjectClass; - - -struct _GtkObject -{ - GInitiallyUnowned parent_instance; - - /* 32 bits of flags. GtkObject only uses 4 of these bits and - * GtkWidget uses the rest. This is done because structs are - * aligned on 4 or 8 byte boundaries. If a new bitfield were - * used in GtkWidget much space would be wasted. - */ - guint32 GSEAL (flags); -}; - -struct _GtkObjectClass -{ - GInitiallyUnownedClass parent_class; - - /* Default signal handler for the ::destroy signal, which is - * invoked to request that references to the widget be dropped. - * If an object class overrides destroy() in order to perform class - * specific destruction then it must still invoke its superclass' - * implementation of the method after it is finished with its - * own cleanup. (See gtk_widget_real_destroy() for an example of - * how to do this). - */ - void (*destroy) (GtkObject *object); -}; - -/* Application-level methods */ - -GType gtk_object_get_type (void) G_GNUC_CONST; - -void gtk_object_destroy (GtkObject *object); - -G_END_DECLS - -#endif /* __GTK_OBJECT_H__ */ diff --git a/gtk/gtkoffscreenwindow.c b/gtk/gtkoffscreenwindow.c index 9c0552a64..2ff6a5436 100644 --- a/gtk/gtkoffscreenwindow.c +++ b/gtk/gtkoffscreenwindow.c @@ -194,7 +194,7 @@ gtk_offscreen_window_show (GtkWidget *widget) gboolean need_resize; GtkContainer *container; - GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE); + _gtk_widget_set_visible_flag (widget, TRUE); container = GTK_CONTAINER (widget); need_resize = _gtk_container_get_need_resize (container) || !gtk_widget_get_realized (widget); @@ -213,7 +213,7 @@ gtk_offscreen_window_show (GtkWidget *widget) static void gtk_offscreen_window_hide (GtkWidget *widget) { - GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE); + _gtk_widget_set_visible_flag (widget, FALSE); gtk_widget_unmap (widget); } diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c index 33a59df2a..2a3c76135 100644 --- a/gtk/gtkorientable.c +++ b/gtk/gtkorientable.c @@ -25,6 +25,7 @@ #include "gtkorientable.h" #include "gtkprivate.h" +#include "gtktypeutils.h" #include "gtkintl.h" diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index 48d2818f9..ca7e3e085 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -45,6 +45,7 @@ #include "gtkplug.h" #include "gtkprivate.h" #include "gtkplugprivate.h" +#include "gtkdebug.h" #include "x11/gdkx.h" diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index f1209cb73..fa5e53582 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -418,7 +418,7 @@ _gtk_plug_remove_from_socket (GtkPlug *plug, priv = plug->priv; widget = GTK_WIDGET (plug); - if (GTK_WIDGET_IN_REPARENT (widget)) + if (_gtk_widget_get_in_reparent (widget)) return; g_object_ref (plug); @@ -428,12 +428,12 @@ _gtk_plug_remove_from_socket (GtkPlug *plug, window = gtk_widget_get_window (widget); gdk_window_hide (window); - GTK_PRIVATE_SET_FLAG (plug, GTK_IN_REPARENT); + _gtk_widget_set_in_reparent (widget, TRUE); gdk_window_reparent (window, gtk_widget_get_root_window (widget), 0, 0); gtk_widget_unparent (GTK_WIDGET (plug)); - GTK_PRIVATE_UNSET_FLAG (plug, GTK_IN_REPARENT); + _gtk_widget_set_in_reparent (widget, FALSE); socket_->plug_widget = NULL; if (socket_->plug_window != NULL) diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h index 53c073c65..c0f14b4f3 100644 --- a/gtk/gtkprivate.h +++ b/gtk/gtkprivate.h @@ -31,50 +31,29 @@ G_BEGIN_DECLS -/* The private flags that are used in the private_flags member of GtkWidget. - */ -typedef enum -{ - PRIVATE_GTK_USER_STYLE = 1 << 0, - PRIVATE_GTK_RESIZE_PENDING = 1 << 2, - PRIVATE_GTK_HAS_POINTER = 1 << 3, /* If the pointer is above a window belonging to the widget */ - PRIVATE_GTK_SHADOWED = 1 << 4, /* If there is a grab in effect shadowing the widget */ - PRIVATE_GTK_HAS_SHAPE_MASK = 1 << 5, - PRIVATE_GTK_IN_REPARENT = 1 << 6, - PRIVATE_GTK_DIRECTION_SET = 1 << 7, /* If the reading direction is not DIR_NONE */ - PRIVATE_GTK_DIRECTION_LTR = 1 << 8, /* If the reading direction is DIR_LTR */ - PRIVATE_GTK_ANCHORED = 1 << 9, /* If widget has a GtkWindow ancestor */ - PRIVATE_GTK_CHILD_VISIBLE = 1 << 10, /* If widget should be mapped when parent is mapped */ - PRIVATE_GTK_REDRAW_ON_ALLOC = 1 << 11, /* If we should queue a draw on the entire widget when it is reallocated */ - PRIVATE_GTK_ALLOC_NEEDED = 1 << 12, /* If we we should allocate even if the allocation is the same */ - PRIVATE_GTK_WIDTH_REQUEST_NEEDED = 1 << 13, /* Whether we need to call gtk_extended_layout_get_desired_width */ - PRIVATE_GTK_HEIGHT_REQUEST_NEEDED = 1 << 14 /* Whether we need to call gtk_extended_layout_get_desired_height */ -} GtkPrivateFlags; - -/* Macros for extracting a widgets private_flags from GtkWidget. - */ -#define GTK_PRIVATE_FLAGS(wid) (GTK_WIDGET (wid)->private_flags) -#define GTK_WIDGET_USER_STYLE(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_USER_STYLE) != 0) -#define GTK_CONTAINER_RESIZE_PENDING(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_RESIZE_PENDING) != 0) -#define GTK_WIDGET_HAS_POINTER(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_HAS_POINTER) != 0) -#define GTK_WIDGET_SHADOWED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_SHADOWED) != 0) -#define GTK_WIDGET_HAS_SHAPE_MASK(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_HAS_SHAPE_MASK) != 0) -#define GTK_WIDGET_IN_REPARENT(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_IN_REPARENT) != 0) -#define GTK_WIDGET_DIRECTION_SET(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_DIRECTION_SET) != 0) -#define GTK_WIDGET_DIRECTION_LTR(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_DIRECTION_LTR) != 0) -#define GTK_WIDGET_ANCHORED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_ANCHORED) != 0) -#define GTK_WIDGET_CHILD_VISIBLE(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_CHILD_VISIBLE) != 0) -#define GTK_WIDGET_REDRAW_ON_ALLOC(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_REDRAW_ON_ALLOC) != 0) -#define GTK_WIDGET_ALLOC_NEEDED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_ALLOC_NEEDED) != 0) -#define GTK_WIDGET_WIDTH_REQUEST_NEEDED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_WIDTH_REQUEST_NEEDED) != 0) -#define GTK_WIDGET_HEIGHT_REQUEST_NEEDED(obj) ((GTK_PRIVATE_FLAGS (obj) & PRIVATE_GTK_HEIGHT_REQUEST_NEEDED) != 0) - -/* Macros for setting and clearing private widget flags. - * we use a preprocessor string concatenation here for a clear - * flags/private_flags distinction at the cost of single flag operations. - */ -#define GTK_PRIVATE_SET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) |= (PRIVATE_ ## flag)); }G_STMT_END -#define GTK_PRIVATE_UNSET_FLAG(wid,flag) G_STMT_START{ (GTK_PRIVATE_FLAGS (wid) &= ~(PRIVATE_ ## flag)); }G_STMT_END +void _gtk_widget_set_visible_flag (GtkWidget *widget, + gboolean visible); +gboolean _gtk_widget_get_resize_pending (GtkWidget *widget); +void _gtk_widget_set_resize_pending (GtkWidget *widget, + gboolean resize_pending); +gboolean _gtk_widget_get_in_reparent (GtkWidget *widget); +void _gtk_widget_set_in_reparent (GtkWidget *widget, + gboolean in_reparent); +gboolean _gtk_widget_get_anchored (GtkWidget *widget); +void _gtk_widget_set_anchored (GtkWidget *widget, + gboolean anchored); +gboolean _gtk_widget_get_shadowed (GtkWidget *widget); +void _gtk_widget_set_shadowed (GtkWidget *widget, + gboolean shadowed); +gboolean _gtk_widget_get_alloc_needed (GtkWidget *widget); +void _gtk_widget_set_alloc_needed (GtkWidget *widget, + gboolean alloc_needed); +gboolean _gtk_widget_get_width_request_needed (GtkWidget *widget); +void _gtk_widget_set_width_request_needed (GtkWidget *widget, + gboolean width_request_needed); +gboolean _gtk_widget_get_height_request_needed (GtkWidget *widget); +void _gtk_widget_set_height_request_needed (GtkWidget *widget, + gboolean height_request_needed); #ifdef G_OS_WIN32 diff --git a/gtk/gtkruler.c b/gtk/gtkruler.c index 3d2d21dac..7a630aa55 100644 --- a/gtk/gtkruler.c +++ b/gtk/gtkruler.c @@ -31,6 +31,7 @@ #include "gtkorientable.h" #include "gtkruler.h" +#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index 3e4f653cf..60b8153a2 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -1139,7 +1139,7 @@ static gboolean gtk_scale_button_key_release (GtkWidget *widget, GdkEventKey *event) { - return gtk_bindings_activate_event (GTK_OBJECT (widget), event); + return gtk_bindings_activate_event (G_OBJECT (widget), event); } /* This is called when the grab is broken for @@ -1386,10 +1386,10 @@ cb_dock_key_release (GtkWidget *widget, return TRUE; } - if (!gtk_bindings_activate_event (GTK_OBJECT (widget), event)) + if (!gtk_bindings_activate_event (G_OBJECT (widget), event)) { /* The popup hasn't managed the event, pass onto the button */ - gtk_bindings_activate_event (GTK_OBJECT (user_data), event); + gtk_bindings_activate_event (G_OBJECT (user_data), event); } return TRUE; diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 55fccbac8..68254280e 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -31,6 +31,7 @@ #include "gtkmarshalers.h" #include "gtkscrolledwindow.h" #include "gtkwindow.h" +#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 44116bb90..0a18fba6b 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -57,6 +57,7 @@ #include "gdk.h" #include "gtkmain.h" +#include "gtkdebug.h" #include "gtkselection.h" #include "gtktextbufferrichtext.h" #include "gtkintl.h" diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 57e429421..9152c33f1 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -27,6 +27,7 @@ #include "gtkrc.h" #include "gtkintl.h" #include "gtkwidget.h" +#include "gtktypeutils.h" #include "gtkprivate.h" #ifdef GDK_WINDOWING_X11 diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c index f22f146e1..1663f9732 100644 --- a/gtk/gtksizegroup.c +++ b/gtk/gtksizegroup.c @@ -186,9 +186,9 @@ real_queue_resize (GtkWidget *widget) { GtkWidget *parent; - GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_WIDTH_REQUEST_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_HEIGHT_REQUEST_NEEDED); + _gtk_widget_set_alloc_needed (widget, TRUE); + _gtk_widget_set_width_request_needed (widget, TRUE); + _gtk_widget_set_height_request_needed (widget, TRUE); parent = gtk_widget_get_parent (widget); if (parent) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index c11844fbb..6ba06d662 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -122,6 +122,7 @@ #include #include "gtksizerequest.h" #include "gtksizegroup.h" +#include "gtkdebug.h" #include "gtkprivate.h" #include "gtkintl.h" @@ -282,7 +283,7 @@ compute_size_for_orientation (GtkWidget *request, { cached_size = &cache->widths[0]; - if (!GTK_WIDGET_WIDTH_REQUEST_NEEDED (request)) + if (!_gtk_widget_get_width_request_needed (widget)) found_in_cache = get_cached_size (cache, orientation, for_size, &cached_size); else { @@ -295,7 +296,7 @@ compute_size_for_orientation (GtkWidget *request, { cached_size = &cache->heights[0]; - if (!GTK_WIDGET_HEIGHT_REQUEST_NEEDED (request)) + if (!_gtk_widget_get_height_request_needed (widget)) found_in_cache = get_cached_size (cache, orientation, for_size, &cached_size); else { @@ -354,9 +355,9 @@ compute_size_for_orientation (GtkWidget *request, cached_size->for_size = for_size; if (orientation == GTK_SIZE_GROUP_HORIZONTAL) - GTK_PRIVATE_UNSET_FLAG (request, GTK_WIDTH_REQUEST_NEEDED); + _gtk_widget_set_width_request_needed (widget, FALSE); else - GTK_PRIVATE_UNSET_FLAG (request, GTK_HEIGHT_REQUEST_NEEDED); + _gtk_widget_set_height_request_needed (widget, FALSE); adjusted_min = cached_size->minimum_size; adjusted_natural = cached_size->natural_size; diff --git a/gtk/gtksocket-win32.c b/gtk/gtksocket-win32.c index 8e9406f81..d300304d5 100644 --- a/gtk/gtksocket-win32.c +++ b/gtk/gtksocket-win32.c @@ -43,7 +43,7 @@ GdkNativeWindow _gtk_socket_windowing_get_id (GtkSocket *socket) { g_return_val_if_fail (GTK_IS_SOCKET (socket), 0); - g_return_val_if_fail (GTK_WIDGET_ANCHORED (socket), 0); + g_return_val_if_fail (_gtk_widget_get_anchored (GTK_WIDGET (socket)), 0); if (!gtk_widget_get_realized (GTK_WIDGET (socket))) gtk_widget_realize (GTK_WIDGET (socket)); diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index 8430e7d93..a1a32e229 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -37,6 +37,7 @@ #include "gtksocket.h" #include "gtksocketprivate.h" #include "gtkdnd.h" +#include "gtkdebug.h" #include "x11/gdkx.h" diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 523b60cda..7389a7e0d 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -40,6 +40,7 @@ #include "gtkprivate.h" #include "gtksocketprivate.h" #include "gtkdnd.h" +#include "gtkdebug.h" #include "gtkintl.h" @@ -309,7 +310,7 @@ gtk_socket_add_id (GtkSocket *socket, GdkNativeWindow window_id) { g_return_if_fail (GTK_IS_SOCKET (socket)); - g_return_if_fail (GTK_WIDGET_ANCHORED (socket)); + g_return_if_fail (_gtk_widget_get_anchored (GTK_WIDGET (socket))); if (!gtk_widget_get_realized (GTK_WIDGET (socket))) gtk_widget_realize (GTK_WIDGET (socket)); @@ -334,7 +335,7 @@ GdkNativeWindow gtk_socket_get_id (GtkSocket *socket) { g_return_val_if_fail (GTK_IS_SOCKET (socket), 0); - g_return_val_if_fail (GTK_WIDGET_ANCHORED (socket), 0); + g_return_val_if_fail (_gtk_widget_get_anchored (GTK_WIDGET (socket)), 0); if (!gtk_widget_get_realized (GTK_WIDGET (socket))) gtk_widget_realize (GTK_WIDGET (socket)); diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 2e0ad1ce4..a5566e298 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -39,6 +39,7 @@ #include "gtkiconfactory.h" #include "gtksettings.h" /* _gtk_settings_parse_convert() */ #include "gtkintl.h" +#include "gtkdebug.h" #include "gtkspinner.h" diff --git a/gtk/gtktable.c b/gtk/gtktable.c index 5d3b29832..9a485d164 100644 --- a/gtk/gtktable.c +++ b/gtk/gtktable.c @@ -28,6 +28,7 @@ #include "gtktable.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtktestutils.h b/gtk/gtktestutils.h index 5b90dc67c..c6fe4fa5b 100644 --- a/gtk/gtktestutils.h +++ b/gtk/gtktestutils.h @@ -25,6 +25,9 @@ #ifndef __GTK_TEST_UTILS_H__ #define __GTK_TEST_UTILS_H__ +#include +#include + G_BEGIN_DECLS /* --- Gtk+ Test Utility API --- */ diff --git a/gtk/gtktextlayout.c b/gtk/gtktextlayout.c index c8e073054..283d8f691 100644 --- a/gtk/gtktextlayout.c +++ b/gtk/gtktextlayout.c @@ -222,7 +222,7 @@ gtk_text_layout_class_init (GtkTextLayoutClass *klass) _gtk_marshal_VOID__OBJECT_INT_INT, G_TYPE_NONE, 3, - GTK_TYPE_OBJECT, + G_TYPE_OBJECT, G_TYPE_INT, G_TYPE_INT); diff --git a/gtk/gtktexttag.h b/gtk/gtktexttag.h index d74a43bf3..20d631af9 100644 --- a/gtk/gtktexttag.h +++ b/gtk/gtktexttag.h @@ -58,9 +58,6 @@ #include #include -/* Not needed, retained for compatibility -Yosh */ -#include - G_BEGIN_DECLS diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 9a1ef3894..a09dbc467 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -3437,7 +3437,7 @@ gtk_text_view_allocate_children (GtkTextView *text_view) * get in the way. Invalidating the layout around the anchor * achieves this. */ - if (GTK_WIDGET_ALLOC_NEEDED (child->widget)) + if (_gtk_widget_get_alloc_needed (child->widget)) { GtkTextIter end = child_loc; gtk_text_iter_forward_char (&end); diff --git a/gtk/gtkthemes.c b/gtk/gtkthemes.c index 7a553226b..1533fa48c 100644 --- a/gtk/gtkthemes.c +++ b/gtk/gtkthemes.c @@ -33,6 +33,7 @@ #include "gtkthemes.h" #include "gtkrc.h" #include "gtkintl.h" +#include "gtkdebug.h" typedef struct _GtkThemeEngineClass GtkThemeEngineClass; diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 46d37cf28..bc91bff85 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -3390,7 +3390,7 @@ toolbar_content_get_state (ToolbarContent *content) static gboolean toolbar_content_child_visible (ToolbarContent *content) { - return GTK_WIDGET_CHILD_VISIBLE (content->item); + return gtk_widget_get_child_visible (content->item); } static void diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index 9f7fc4bac..287496b17 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -29,6 +29,8 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtktrayicon.h" +#include "gtktestutils.h" +#include "gtkdebug.h" #include "x11/gdkx.h" #include diff --git a/gtk/gtktreemodel.h b/gtk/gtktreemodel.h index e7f59c672..b706a00f9 100644 --- a/gtk/gtktreemodel.h +++ b/gtk/gtktreemodel.h @@ -26,9 +26,6 @@ #include -/* Not needed, retained for compatibility -Yosh */ -#include - G_BEGIN_DECLS #define GTK_TYPE_TREE_MODEL (gtk_tree_model_get_type ()) diff --git a/gtk/gtktreesortable.h b/gtk/gtktreesortable.h index a779a7de6..4931276d9 100644 --- a/gtk/gtktreesortable.h +++ b/gtk/gtktreesortable.h @@ -25,6 +25,7 @@ #define __GTK_TREE_SORTABLE_H__ +#include #include #include diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 3da1d7c9d..75821fe94 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -11715,7 +11715,7 @@ gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, */ if (!gtk_widget_get_visible (GTK_WIDGET (tree_view)) || !gtk_widget_get_realized (GTK_WIDGET (tree_view)) || - GTK_WIDGET_ALLOC_NEEDED (tree_view) || + _gtk_widget_get_alloc_needed (tree_view) || GTK_RBNODE_FLAG_SET (tree_view->priv->tree->root, GTK_RBNODE_DESCENDANTS_INVALID)) { if (tree_view->priv->scroll_to_path) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 16c376d79..ad576f68f 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -160,7 +160,7 @@ static void gtk_tree_view_column_buildable_init (GtkBuildableIfa static guint tree_column_signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE_WITH_CODE (GtkTreeViewColumn, gtk_tree_view_column, GTK_TYPE_OBJECT, +G_DEFINE_TYPE_WITH_CODE (GtkTreeViewColumn, gtk_tree_view_column, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_tree_view_column_cell_layout_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, diff --git a/gtk/gtktypeutils.c b/gtk/gtktypeutils.c index 984d82f18..d1e74d91a 100644 --- a/gtk/gtktypeutils.c +++ b/gtk/gtktypeutils.c @@ -28,7 +28,6 @@ #include /* strcmp */ #include "gtktypeutils.h" -#include "gtkobject.h" #include "gtkintl.h" diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h index 883266e11..51760cf0a 100644 --- a/gtk/gtktypeutils.h +++ b/gtk/gtktypeutils.h @@ -46,7 +46,6 @@ GType gtk_identifier_get_type (void) G_GNUC_CONST; * provide some fundamental function signatures */ typedef struct _GtkArg GtkArg; -typedef struct _GtkObject GtkObject; /* object forward declaration */ /** * GtkFunction: @@ -60,14 +59,14 @@ typedef gboolean (*GtkFunction) (gpointer data); /** * GtkCallbackMarshal: - * @object: #GtkObject* + * @object: #GObject* * @data: #gpointer * @n_args: #guint * @args: #GtkArg* * * Defines a function pointer. */ -typedef void (*GtkCallbackMarshal) (GtkObject *object, +typedef void (*GtkCallbackMarshal) (GObject *object, gpointer data, guint n_args, GtkArg *args); @@ -107,7 +106,7 @@ struct _GtkArg gfloat float_data; gdouble double_data; gchar *string_data; - GtkObject *object_data; + GObject *object_data; gpointer pointer_data; /* structured values */ diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index 3c04d3120..546ec1e50 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -28,6 +28,7 @@ #include "gtkviewport.h" #include "gtkintl.h" #include "gtkmarshalers.h" +#include "gtktypeutils.h" #include "gtkprivate.h" diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 686e52b18..9472578cc 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -57,6 +57,7 @@ #include "gtkbuildable.h" #include "gtkbuilderprivate.h" #include "gtksizerequest.h" +#include "gtkdebug.h" /** @@ -147,10 +148,39 @@ struct _GtkWidgetPrivate */ guint saved_state : 3; - /* unused bits in our 32-bit block */ - guint reserved : 10; - - guint in_destruction : 1; + guint direction : 2; + + guint in_destruction : 1; + guint toplevel : 1; + guint anchored : 1; + guint composite_child : 1; + guint no_window : 1; + guint realized : 1; + guint mapped : 1; + guint visible : 1; + guint sensitive : 1; + guint parent_sensitive : 1; + guint can_focus : 1; + guint has_focus : 1; + guint can_default : 1; + guint has_default : 1; + guint receives_default : 1; + guint has_grab : 1; + guint shadowed : 1; + guint rc_style : 1; + guint user_style : 1; + guint app_paintable : 1; + guint double_buffered : 1; + guint redraw_on_alloc : 1; + guint no_show_all : 1; + guint child_visible : 1; + guint multidevice : 1; + guint has_shape_mask : 1; + guint in_reparent : 1; + guint resize_pending : 1; + guint alloc_needed : 1; + guint width_request_needed : 1; + guint height_request_needed : 1; /* The widget's name. If the widget does not have a name * (the name is NULL), then its name (as returned by @@ -316,7 +346,7 @@ static void gtk_widget_get_property (GObject *object, GValue *value, GParamSpec *pspec); static void gtk_widget_dispose (GObject *object); -static void gtk_widget_real_destroy (GtkObject *object); +static void gtk_widget_real_destroy (GtkWidget *object); static void gtk_widget_finalize (GObject *object); static void gtk_widget_real_show (GtkWidget *widget); static void gtk_widget_real_hide (GtkWidget *widget); @@ -567,7 +597,6 @@ gtk_widget_class_init (GtkWidgetClass *klass) { static GObjectNotifyContext cpn_context = { 0, NULL, NULL }; GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass); GtkBindingSet *binding_set; gtk_widget_parent_class = g_type_class_peek_parent (klass); @@ -602,8 +631,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) gobject_class->set_property = gtk_widget_set_property; gobject_class->get_property = gtk_widget_get_property; - object_class->destroy = gtk_widget_real_destroy; - + klass->destroy = gtk_widget_real_destroy; + klass->activate_signal = 0; klass->set_scroll_adjustments_signal = 0; klass->dispatch_child_properties_changed = gtk_widget_dispatch_child_properties_changed; @@ -1040,14 +1069,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) 0, GTK_PARAM_READWRITE)); - /** - * GtkWidget::destroy: - * @object: the object which received the signal - * - * Signals that all holders of a reference to the widget should release - * the reference that they hold. May result in finalization of the widget - * if all references are released. - */ + /** + * GtkWidget::destroy: + * @object: the object which received the signal + * + * Signals that all holders of a reference to the widget should release + * the reference that they hold. May result in finalization of the widget + * if all references are released. + */ widget_signals[DESTROY] = g_signal_new (I_("destroy"), G_TYPE_FROM_CLASS (gobject_class), @@ -1243,14 +1272,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) _gtk_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GTK_TYPE_STYLE); -/** - * GtkWidget::direction-changed: - * @widget: the object on which the signal is emitted - * @previous_direction: the previous text direction of @widget - * - * The ::direction-changed signal is emitted when the text direction - * of a widget changes. - */ + + /** + * GtkWidget::direction-changed: + * @widget: the object on which the signal is emitted + * @previous_direction: the previous text direction of @widget + * + * The ::direction-changed signal is emitted when the text direction + * of a widget changes. + */ widget_signals[DIRECTION_CHANGED] = g_signal_new (I_("direction-changed"), G_TYPE_FROM_CLASS (gobject_class), @@ -1286,15 +1316,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) G_TYPE_NONE, 1, G_TYPE_BOOLEAN); -/** - * GtkWidget::child-notify: - * @widget: the object which received the signal - * @pspec: the #GParamSpec of the changed child property - * - * The ::child-notify signal is emitted for each - * child property that has - * changed on an object. The signal's detail holds the property name. - */ + /** + * GtkWidget::child-notify: + * @widget: the object which received the signal + * @pspec: the #GParamSpec of the changed child property + * + * The ::child-notify signal is emitted for each + * child property that has + * changed on an object. The signal's detail holds the property name. + */ widget_signals[CHILD_NOTIFY] = g_signal_new (I_("child-notify"), G_TYPE_FROM_CLASS (gobject_class), @@ -1368,7 +1398,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[FOCUS] = g_signal_new (I_("focus"), - G_TYPE_FROM_CLASS (object_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, focus), _gtk_boolean_handled_accumulator, NULL, @@ -1383,7 +1413,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[MOVE_FOCUS] = g_signal_new_class_handler (I_("move-focus"), - G_TYPE_FROM_CLASS (object_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_CALLBACK (gtk_widget_real_move_focus), NULL, NULL, @@ -1391,6 +1421,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) G_TYPE_NONE, 1, GTK_TYPE_DIRECTION_TYPE); + /** * GtkWidget::event: * @widget: the object which received the signal. @@ -1410,7 +1441,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[EVENT] = g_signal_new (I_("event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, event), _gtk_boolean_handled_accumulator, NULL, @@ -1430,7 +1461,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[EVENT_AFTER] = g_signal_new (I_("event-after"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), 0, 0, NULL, NULL, @@ -1457,7 +1488,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[BUTTON_PRESS_EVENT] = g_signal_new (I_("button-press-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, button_press_event), _gtk_boolean_handled_accumulator, NULL, @@ -1484,7 +1515,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[BUTTON_RELEASE_EVENT] = g_signal_new (I_("button-release-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, button_release_event), _gtk_boolean_handled_accumulator, NULL, @@ -1512,13 +1543,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SCROLL_EVENT] = g_signal_new (I_("scroll-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, scroll_event), _gtk_boolean_handled_accumulator, NULL, _gtk_marshal_BOOLEAN__BOXED, G_TYPE_BOOLEAN, 1, GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); + /** * GtkWidget::motion-notify-event: * @widget: the object which received the signal. @@ -1538,7 +1570,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[MOTION_NOTIFY_EVENT] = g_signal_new (I_("motion-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, motion_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -1556,7 +1588,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[COMPOSITED_CHANGED] = g_signal_new (I_("composited-changed"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GtkWidgetClass, composited_changed), NULL, NULL, @@ -1579,7 +1611,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) **/ widget_signals[KEYNAV_FAILED] = g_signal_new_class_handler (I_("keynav-failed"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_CALLBACK (gtk_widget_real_keynav_failed), _gtk_boolean_handled_accumulator, NULL, @@ -1603,7 +1635,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DELETE_EVENT] = g_signal_new (I_("delete-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, delete_event), _gtk_boolean_handled_accumulator, NULL, @@ -1630,7 +1662,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DESTROY_EVENT] = g_signal_new (I_("destroy-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, destroy_event), _gtk_boolean_handled_accumulator, NULL, @@ -1655,7 +1687,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[KEY_PRESS_EVENT] = g_signal_new (I_("key-press-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, key_press_event), _gtk_boolean_handled_accumulator, NULL, @@ -1680,7 +1712,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[KEY_RELEASE_EVENT] = g_signal_new (I_("key-release-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, key_release_event), _gtk_boolean_handled_accumulator, NULL, @@ -1707,7 +1739,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[ENTER_NOTIFY_EVENT] = g_signal_new (I_("enter-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, enter_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -1734,7 +1766,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[LEAVE_NOTIFY_EVENT] = g_signal_new (I_("leave-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, leave_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -1743,7 +1775,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::configure-event + * GtkWidget::configure-event: * @widget: the object which received the signal * @event: (type Gdk.EventConfigure): the #GdkEventConfigure which triggered * this signal. @@ -1760,7 +1792,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[CONFIGURE_EVENT] = g_signal_new (I_("configure-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, configure_event), _gtk_boolean_handled_accumulator, NULL, @@ -1769,7 +1801,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::focus-in-event + * GtkWidget::focus-in-event: * @widget: the object which received the signal * @event: (type Gdk.EventFocus): the #GdkEventFocus which triggered * this signal. @@ -1785,7 +1817,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[FOCUS_IN_EVENT] = g_signal_new (I_("focus-in-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, focus_in_event), _gtk_boolean_handled_accumulator, NULL, @@ -1794,7 +1826,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::focus-out-event + * GtkWidget::focus-out-event: * @widget: the object which received the signal * @event: (type Gdk.EventFocus): the #GdkEventFocus which triggered this * signal. @@ -1810,7 +1842,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[FOCUS_OUT_EVENT] = g_signal_new (I_("focus-out-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, focus_out_event), _gtk_boolean_handled_accumulator, NULL, @@ -1819,7 +1851,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::map-event + * GtkWidget::map-event: * @widget: the object which received the signal * @event: (type Gdk.EventAny): the #GdkEventAny which triggered this signal. * @@ -1835,7 +1867,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[MAP_EVENT] = g_signal_new (I_("map-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, map_event), _gtk_boolean_handled_accumulator, NULL, @@ -1844,7 +1876,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::unmap-event + * GtkWidget::unmap-event: * @widget: the object which received the signal * @event: (type Gdk.EventAny): the #GdkEventAny which triggered this signal * @@ -1864,7 +1896,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[UNMAP_EVENT] = g_signal_new (I_("unmap-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, unmap_event), _gtk_boolean_handled_accumulator, NULL, @@ -1873,7 +1905,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::property-notify-event + * GtkWidget::property-notify-event: * @widget: the object which received the signal * @event: (type Gdk.EventProperty): the #GdkEventProperty which triggered * this signal. @@ -1889,7 +1921,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[PROPERTY_NOTIFY_EVENT] = g_signal_new (I_("property-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, property_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -1898,7 +1930,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::selection-clear-event + * GtkWidget::selection-clear-event: * @widget: the object which received the signal * @event: (type Gdk.EventSelection): the #GdkEventSelection which triggered * this signal. @@ -1911,7 +1943,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SELECTION_CLEAR_EVENT] = g_signal_new (I_("selection-clear-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, selection_clear_event), _gtk_boolean_handled_accumulator, NULL, @@ -1920,7 +1952,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::selection-request-event + * GtkWidget::selection-request-event: * @widget: the object which received the signal * @event: (type Gdk.EventSelection): the #GdkEventSelection which triggered * this signal. @@ -1934,7 +1966,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SELECTION_REQUEST_EVENT] = g_signal_new (I_("selection-request-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, selection_request_event), _gtk_boolean_handled_accumulator, NULL, @@ -1951,7 +1983,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SELECTION_NOTIFY_EVENT] = g_signal_new (I_("selection-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, selection_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -1967,7 +1999,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SELECTION_RECEIVED] = g_signal_new (I_("selection-received"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, selection_received), NULL, NULL, @@ -1985,7 +2017,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SELECTION_GET] = g_signal_new (I_("selection-get"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, selection_get), NULL, NULL, @@ -1996,7 +2028,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) G_TYPE_UINT); /** - * GtkWidget::proximity-in-event + * GtkWidget::proximity-in-event: * @widget: the object which received the signal * @event: (type Gdk.EventProximity): the #GdkEventProximity which triggered * this signal. @@ -2011,7 +2043,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[PROXIMITY_IN_EVENT] = g_signal_new (I_("proximity-in-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, proximity_in_event), _gtk_boolean_handled_accumulator, NULL, @@ -2020,7 +2052,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); /** - * GtkWidget::proximity-out-event + * GtkWidget::proximity-out-event: * @widget: the object which received the signal * @event: (type Gdk.EventProximity): the #GdkEventProximity which triggered * this signal. @@ -2035,7 +2067,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[PROXIMITY_OUT_EVENT] = g_signal_new (I_("proximity-out-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, proximity_out_event), _gtk_boolean_handled_accumulator, NULL, @@ -2056,7 +2088,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_LEAVE] = g_signal_new (I_("drag-leave"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_leave), NULL, NULL, @@ -2080,7 +2112,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_BEGIN] = g_signal_new (I_("drag-begin"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_begin), NULL, NULL, @@ -2099,7 +2131,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_END] = g_signal_new (I_("drag-end"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_end), NULL, NULL, @@ -2119,7 +2151,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_DATA_DELETE] = g_signal_new (I_("drag-data-delete"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_data_delete), NULL, NULL, @@ -2145,7 +2177,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_FAILED] = g_signal_new (I_("drag-failed"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, _gtk_boolean_handled_accumulator, NULL, _gtk_marshal_BOOLEAN__OBJECT_ENUM, @@ -2248,7 +2280,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_MOTION] = g_signal_new (I_("drag-motion"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_motion), _gtk_boolean_handled_accumulator, NULL, @@ -2281,7 +2313,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_DROP] = g_signal_new (I_("drag-drop"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_drop), _gtk_boolean_handled_accumulator, NULL, @@ -2309,7 +2341,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_DATA_GET] = g_signal_new (I_("drag-data-get"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_data_get), NULL, NULL, @@ -2386,7 +2418,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DRAG_DATA_RECEIVED] = g_signal_new (I_("drag-data-received"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, drag_data_received), NULL, NULL, @@ -2416,7 +2448,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[VISIBILITY_NOTIFY_EVENT] = g_signal_new (I_("visibility-notify-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, visibility_notify_event), _gtk_boolean_handled_accumulator, NULL, @@ -2439,7 +2471,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[CLIENT_EVENT] = g_signal_new (I_("client-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, client_event), _gtk_boolean_handled_accumulator, NULL, @@ -2463,7 +2495,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[NO_EXPOSE_EVENT] = g_signal_new (I_("no-expose-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, no_expose_event), _gtk_boolean_handled_accumulator, NULL, @@ -2489,7 +2521,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[WINDOW_STATE_EVENT] = g_signal_new (I_("window-state-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, window_state_event), _gtk_boolean_handled_accumulator, NULL, @@ -2513,13 +2545,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[DAMAGE_EVENT] = g_signal_new (I_("damage-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0, _gtk_boolean_handled_accumulator, NULL, _gtk_marshal_BOOLEAN__BOXED, G_TYPE_BOOLEAN, 1, GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); + /** * GtkWidget::grab-broken-event: * @widget: the object which received the signal @@ -2539,13 +2572,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[GRAB_BROKEN] = g_signal_new (I_("grab-broken-event"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, grab_broken_event), _gtk_boolean_handled_accumulator, NULL, _gtk_marshal_BOOLEAN__BOXED, G_TYPE_BOOLEAN, 1, GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); + /** * GtkWidget::query-tooltip: * @widget: the object which received the signal @@ -2575,7 +2609,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[QUERY_TOOLTIP] = g_signal_new (I_("query-tooltip"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, query_tooltip), _gtk_boolean_handled_accumulator, NULL, @@ -2601,7 +2635,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[POPUP_MENU] = g_signal_new (I_("popup-menu"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GtkWidgetClass, popup_menu), _gtk_boolean_handled_accumulator, NULL, @@ -2615,7 +2649,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SHOW_HELP] = g_signal_new (I_("show-help"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (GtkWidgetClass, show_help), _gtk_boolean_handled_accumulator, NULL, @@ -2629,7 +2663,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[ACCEL_CLOSURES_CHANGED] = g_signal_new (I_("accel-closures-changed"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), 0, 0, NULL, NULL, @@ -2647,7 +2681,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[SCREEN_CHANGED] = g_signal_new (I_("screen-changed"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, screen_changed), NULL, NULL, @@ -2670,7 +2704,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) */ widget_signals[CAN_ACTIVATE_ACCEL] = g_signal_new (I_("can-activate-accel"), - G_TYPE_FROM_CLASS (gobject_class), + G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkWidgetClass, can_activate_accel), _gtk_boolean_handled_accumulator, NULL, @@ -3090,7 +3124,7 @@ gtk_widget_get_property (GObject *object, g_value_set_boolean (value, (gtk_widget_get_receives_default (widget) != FALSE)); break; case PROP_COMPOSITE_CHILD: - g_value_set_boolean (value, (GTK_OBJECT_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0 ); + g_value_set_boolean (value, widget->priv->composite_child); break; case PROP_STYLE: g_value_set_object (value, gtk_widget_get_style (widget)); @@ -3179,7 +3213,7 @@ gtk_widget_init (GtkWidget *widget) GtkWidgetPrivate); priv = widget->priv; - GTK_PRIVATE_FLAGS (widget) = PRIVATE_GTK_CHILD_VISIBLE; + priv->child_visible = TRUE; priv->state = GTK_STATE_NORMAL; priv->saved_state = GTK_STATE_NORMAL; priv->name = NULL; @@ -3190,15 +3224,14 @@ gtk_widget_init (GtkWidget *widget) priv->window = NULL; priv->parent = NULL; - GTK_OBJECT_FLAGS (widget) |= GTK_SENSITIVE; - GTK_OBJECT_FLAGS (widget) |= GTK_PARENT_SENSITIVE; - GTK_OBJECT_FLAGS (widget) |= composite_child_stack ? GTK_COMPOSITE_CHILD : 0; - gtk_widget_set_double_buffered (widget, TRUE); - - GTK_PRIVATE_SET_FLAG (widget, GTK_REDRAW_ON_ALLOC); - GTK_PRIVATE_SET_FLAG (widget, GTK_WIDTH_REQUEST_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_HEIGHT_REQUEST_NEEDED); - GTK_PRIVATE_SET_FLAG (widget, GTK_ALLOC_NEEDED); + priv->sensitive = TRUE; + priv->parent_sensitive = TRUE; + priv->composite_child = composite_child_stack != 0; + priv->double_buffered = TRUE; + priv->redraw_on_alloc = TRUE; + priv->width_request_needed = TRUE; + priv->height_request_needed = TRUE; + priv->alloc_needed = TRUE; priv->style = gtk_widget_get_default_style (); g_object_ref (priv->style); @@ -3401,7 +3434,7 @@ gtk_widget_unparent (GtkWidget *widget) /* If we are unanchoring the child, we save around the toplevel * to emit hierarchy changed */ - if (GTK_WIDGET_ANCHORED (priv->parent)) + if (priv->parent->priv->anchored) g_object_ref (toplevel); else toplevel = NULL; @@ -3418,7 +3451,7 @@ gtk_widget_unparent (GtkWidget *widget) if (gtk_widget_get_realized (widget)) { - if (GTK_WIDGET_IN_REPARENT (widget)) + if (priv->in_reparent) gtk_widget_unmap (widget); else gtk_widget_unrealize (widget); @@ -3428,7 +3461,7 @@ gtk_widget_unparent (GtkWidget *widget) * flag to the default state, so it doesn't affect the child * in the next parent. */ - GTK_PRIVATE_SET_FLAG (widget, GTK_CHILD_VISIBLE); + priv->child_visible = TRUE; old_parent = priv->parent; priv->parent = NULL; @@ -3541,11 +3574,11 @@ gtk_widget_real_show (GtkWidget *widget) if (!gtk_widget_get_visible (widget)) { - GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE); + priv->visible = TRUE; if (priv->parent && gtk_widget_get_mapped (priv->parent) && - GTK_WIDGET_CHILD_VISIBLE (widget) && + gtk_widget_get_child_visible (widget) && !gtk_widget_get_mapped (widget)) gtk_widget_map (widget); } @@ -3627,7 +3660,7 @@ gtk_widget_real_hide (GtkWidget *widget) { if (gtk_widget_get_visible (widget)) { - GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE); + widget->priv->visible = FALSE; if (gtk_widget_get_mapped (widget)) gtk_widget_unmap (widget); @@ -3717,7 +3750,7 @@ gtk_widget_map (GtkWidget *widget) g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (gtk_widget_get_visible (widget)); - g_return_if_fail (GTK_WIDGET_CHILD_VISIBLE (widget)); + g_return_if_fail (gtk_widget_get_child_visible (widget)); priv = widget->priv; @@ -3860,7 +3893,7 @@ gtk_widget_realize (GtkWidget *widget) cairo_region_t *region; g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (GTK_WIDGET_ANCHORED (widget) || + g_return_if_fail (widget->priv->anchored || GTK_IS_INVISIBLE (widget)); priv = widget->priv; @@ -3889,7 +3922,7 @@ gtk_widget_realize (GtkWidget *widget) GPOINTER_TO_UINT (g_object_get_qdata (G_OBJECT (widget), quark_has_tooltip)), TRUE); - if (GTK_WIDGET_HAS_SHAPE_MASK (widget)) + if (priv->has_shape_mask) { region = g_object_get_qdata (G_OBJECT (widget), quark_shape_info); gdk_window_shape_combine_region (priv->window, region, 0, 0); @@ -3903,7 +3936,7 @@ gtk_widget_realize (GtkWidget *widget) if (mode != GDK_EXTENSION_EVENTS_NONE) gtk_widget_set_extension_events_internal (widget, mode, NULL); - if ((GTK_WIDGET_FLAGS (widget) & GTK_MULTIDEVICE) != 0) + if (priv->multidevice) gdk_window_set_support_multidevice (priv->window, TRUE); _gtk_widget_enable_device_events (widget); @@ -3923,7 +3956,7 @@ gtk_widget_unrealize (GtkWidget *widget) { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (GTK_WIDGET_HAS_SHAPE_MASK (widget)) + if (widget->priv->has_shape_mask) gtk_widget_shape_combine_region (widget, NULL); if (g_object_get_qdata (G_OBJECT (widget), quark_input_shape_info)) @@ -4277,10 +4310,10 @@ gtk_widget_size_allocate (GtkWidget *widget, } #endif /* G_ENABLE_DEBUG */ - alloc_needed = GTK_WIDGET_ALLOC_NEEDED (widget); - if (!GTK_WIDGET_WIDTH_REQUEST_NEEDED (widget) && - !GTK_WIDGET_HEIGHT_REQUEST_NEEDED (widget)) /* Preserve request/allocate ordering */ - GTK_PRIVATE_UNSET_FLAG (widget, GTK_ALLOC_NEEDED); + alloc_needed = priv->alloc_needed; + if (!priv->width_request_needed && !priv->height_request_needed) + /* Preserve request/allocate ordering */ + priv->alloc_needed = FALSE; old_allocation = priv->allocation; real_allocation = *allocation; @@ -4328,7 +4361,7 @@ gtk_widget_size_allocate (GtkWidget *widget, if (gtk_widget_get_mapped (widget)) { - if (!gtk_widget_get_has_window (widget) && GTK_WIDGET_REDRAW_ON_ALLOC (widget) && position_changed) + if (!gtk_widget_get_has_window (widget) && priv->redraw_on_alloc && position_changed) { /* Invalidate union(old_allaction,priv->allocation) in priv->window */ @@ -4341,7 +4374,7 @@ gtk_widget_size_allocate (GtkWidget *widget, if (size_changed) { - if (GTK_WIDGET_REDRAW_ON_ALLOC (widget)) + if (priv->redraw_on_alloc) { /* Invalidate union(old_allaction,priv->allocation) in priv->window and descendents owned by widget */ @@ -5181,7 +5214,7 @@ gtk_widget_draw (GtkWidget *widget, GdkEventExpose *tmp_event; g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (!GTK_WIDGET_ALLOC_NEEDED (widget)); + g_return_if_fail (!widget->priv->alloc_needed); g_return_if_fail (cr != NULL); cairo_save (cr); @@ -5202,14 +5235,14 @@ static gboolean gtk_widget_real_key_press_event (GtkWidget *widget, GdkEventKey *event) { - return gtk_bindings_activate_event (GTK_OBJECT (widget), event); + return gtk_bindings_activate_event (G_OBJECT (widget), event); } static gboolean gtk_widget_real_key_release_event (GtkWidget *widget, GdkEventKey *event) { - return gtk_bindings_activate_event (GTK_OBJECT (widget), event); + return gtk_bindings_activate_event (G_OBJECT (widget), event); } static gboolean @@ -5748,16 +5781,16 @@ gtk_widget_reparent (GtkWidget *widget, * that gtk_widget_unparent doesn't unrealize widget */ if (gtk_widget_get_realized (widget) && gtk_widget_get_realized (new_parent)) - GTK_PRIVATE_SET_FLAG (widget, GTK_IN_REPARENT); + priv->in_reparent = TRUE; g_object_ref (widget); gtk_container_remove (GTK_CONTAINER (priv->parent), widget); gtk_container_add (GTK_CONTAINER (new_parent), widget); g_object_unref (widget); - if (GTK_WIDGET_IN_REPARENT (widget)) + if (priv->in_reparent) { - GTK_PRIVATE_UNSET_FLAG (widget, GTK_IN_REPARENT); + priv->in_reparent = FALSE; gtk_widget_reparent_subwindows (widget, gtk_widget_get_parent_window (widget)); gtk_widget_reparent_fixup_child (widget, @@ -6085,12 +6118,9 @@ gtk_widget_set_can_focus (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (can_focus != gtk_widget_get_can_focus (widget)) + if (widget->priv->can_focus != can_focus) { - if (can_focus) - GTK_OBJECT_FLAGS (widget) |= GTK_CAN_FOCUS; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_CAN_FOCUS); + widget->priv->can_focus = can_focus; gtk_widget_queue_resize (widget); g_object_notify (G_OBJECT (widget), "can-focus"); @@ -6113,7 +6143,7 @@ gtk_widget_get_can_focus (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_CAN_FOCUS) != 0; + return widget->priv->can_focus; } /** @@ -6133,7 +6163,7 @@ gtk_widget_has_focus (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_FOCUS) != 0; + return widget->priv->has_focus; } /** @@ -6179,12 +6209,9 @@ gtk_widget_set_can_default (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (can_default != gtk_widget_get_can_default (widget)) + if (widget->priv->can_default != can_default) { - if (can_default) - GTK_OBJECT_FLAGS (widget) |= GTK_CAN_DEFAULT; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_CAN_DEFAULT); + widget->priv->can_default = can_default; gtk_widget_queue_resize (widget); g_object_notify (G_OBJECT (widget), "can-default"); @@ -6207,7 +6234,7 @@ gtk_widget_get_can_default (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_CAN_DEFAULT) != 0; + return widget->priv->can_default; } /** @@ -6227,17 +6254,14 @@ gtk_widget_has_default (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_DEFAULT) != 0; + return widget->priv->has_default; } void _gtk_widget_set_has_default (GtkWidget *widget, gboolean has_default) { - if (has_default) - GTK_OBJECT_FLAGS (widget) |= GTK_HAS_DEFAULT; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_HAS_DEFAULT); + widget->priv->has_default = has_default; } /** @@ -6290,12 +6314,9 @@ gtk_widget_set_receives_default (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (receives_default != gtk_widget_get_receives_default (widget)) + if (widget->priv->receives_default != receives_default) { - if (receives_default) - GTK_OBJECT_FLAGS (widget) |= GTK_RECEIVES_DEFAULT; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_RECEIVES_DEFAULT); + widget->priv->receives_default = receives_default; g_object_notify (G_OBJECT (widget), "receives-default"); } @@ -6321,7 +6342,7 @@ gtk_widget_get_receives_default (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_RECEIVES_DEFAULT) != 0; + return widget->priv->receives_default; } /** @@ -6342,17 +6363,14 @@ gtk_widget_has_grab (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_HAS_GRAB) != 0; + return widget->priv->has_grab; } void _gtk_widget_set_has_grab (GtkWidget *widget, gboolean has_grab) { - if (has_grab) - GTK_OBJECT_FLAGS (widget) |= GTK_HAS_GRAB; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_HAS_GRAB); + widget->priv->has_grab = has_grab; } /** @@ -6435,7 +6453,7 @@ gtk_widget_set_name (GtkWidget *widget, g_free (priv->name); priv->name = new_name; - if (gtk_widget_has_rc_style (widget)) + if (priv->rc_style) gtk_widget_reset_rc_style (widget); g_object_notify (G_OBJECT (widget), "name"); @@ -6556,6 +6574,13 @@ gtk_widget_set_visible (GtkWidget *widget, } } +void +_gtk_widget_set_visible_flag (GtkWidget *widget, + gboolean visible) +{ + widget->priv->visible = visible; +} + /** * gtk_widget_get_visible: * @widget: a #GtkWidget @@ -6575,7 +6600,7 @@ gtk_widget_get_visible (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_VISIBLE) != 0; + return widget->priv->visible; } /** @@ -6602,10 +6627,7 @@ gtk_widget_set_has_window (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (has_window) - GTK_OBJECT_FLAGS (widget) &= ~(GTK_NO_WINDOW); - else - GTK_OBJECT_FLAGS (widget) |= GTK_NO_WINDOW; + widget->priv->no_window = !has_window; } /** @@ -6624,7 +6646,7 @@ gtk_widget_get_has_window (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return !((GTK_OBJECT_FLAGS (widget) & GTK_NO_WINDOW) != 0); + return ! widget->priv->no_window; } /** @@ -6644,17 +6666,14 @@ gtk_widget_is_toplevel (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_TOPLEVEL) != 0; + return widget->priv->toplevel; } void _gtk_widget_set_is_toplevel (GtkWidget *widget, gboolean is_toplevel) { - if (is_toplevel) - GTK_OBJECT_FLAGS (widget) |= GTK_TOPLEVEL; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_TOPLEVEL); + widget->priv->toplevel = is_toplevel; } /** @@ -6692,7 +6711,7 @@ gtk_widget_get_realized (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_REALIZED) != 0; + return widget->priv->realized; } /** @@ -6713,10 +6732,7 @@ gtk_widget_set_realized (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (realized) - GTK_OBJECT_FLAGS (widget) |= GTK_REALIZED; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_REALIZED); + widget->priv->realized = realized; } /** @@ -6734,7 +6750,7 @@ gtk_widget_get_mapped (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_MAPPED) != 0; + return widget->priv->mapped; } /** @@ -6755,10 +6771,7 @@ gtk_widget_set_mapped (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (mapped) - GTK_OBJECT_FLAGS (widget) |= GTK_MAPPED; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_MAPPED); + widget->priv->mapped = mapped; } /** @@ -6786,12 +6799,9 @@ gtk_widget_set_app_paintable (GtkWidget *widget, app_paintable = (app_paintable != FALSE); - if (gtk_widget_get_app_paintable (widget) != app_paintable) + if (widget->priv->app_paintable != app_paintable) { - if (app_paintable) - GTK_OBJECT_FLAGS (widget) |= GTK_APP_PAINTABLE; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_APP_PAINTABLE); + widget->priv->app_paintable = app_paintable; if (gtk_widget_is_drawable (widget)) gtk_widget_queue_draw (widget); @@ -6818,7 +6828,7 @@ gtk_widget_get_app_paintable (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_APP_PAINTABLE) != 0; + return widget->priv->app_paintable; } /** @@ -6853,12 +6863,9 @@ gtk_widget_set_double_buffered (GtkWidget *widget, double_buffered = (double_buffered != FALSE); - if (double_buffered != gtk_widget_get_double_buffered (widget)) + if (widget->priv->double_buffered != double_buffered) { - if (double_buffered) - GTK_OBJECT_FLAGS (widget) |= GTK_DOUBLE_BUFFERED; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_DOUBLE_BUFFERED); + widget->priv->double_buffered = double_buffered; g_object_notify (G_OBJECT (widget), "double-buffered"); } @@ -6881,7 +6888,7 @@ gtk_widget_get_double_buffered (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_DOUBLE_BUFFERED) != 0; + return widget->priv->double_buffered; } /** @@ -6912,10 +6919,7 @@ gtk_widget_set_redraw_on_allocate (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (redraw_on_allocate) - GTK_PRIVATE_SET_FLAG (widget, GTK_REDRAW_ON_ALLOC); - else - GTK_PRIVATE_UNSET_FLAG (widget, GTK_REDRAW_ON_ALLOC); + widget->priv->redraw_on_alloc = redraw_on_allocate; } /** @@ -6941,24 +6945,24 @@ gtk_widget_set_sensitive (GtkWidget *widget, sensitive = (sensitive != FALSE); - if (sensitive == (gtk_widget_get_sensitive (widget) != FALSE)) + if (widget->priv->sensitive == sensitive) return; if (sensitive) { - GTK_OBJECT_FLAGS (widget) |= GTK_SENSITIVE; + widget->priv->sensitive = TRUE; data.state = priv->saved_state; } else { - GTK_OBJECT_FLAGS (widget) &= ~(GTK_SENSITIVE); + widget->priv->sensitive = FALSE; data.state = gtk_widget_get_state (widget); } data.state_restoration = TRUE; data.use_forall = TRUE; if (priv->parent) - data.parent_sensitive = (gtk_widget_is_sensitive (priv->parent) != FALSE); + data.parent_sensitive = gtk_widget_is_sensitive (priv->parent); else data.parent_sensitive = TRUE; @@ -6988,7 +6992,7 @@ gtk_widget_get_sensitive (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_SENSITIVE) != 0; + return widget->priv->sensitive; } /** @@ -7007,8 +7011,7 @@ gtk_widget_is_sensitive (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (gtk_widget_get_sensitive (widget) && - (GTK_OBJECT_FLAGS (widget) & GTK_PARENT_SENSITIVE) != 0); + return widget->priv->sensitive && widget->priv->parent_sensitive; } /** @@ -7066,7 +7069,7 @@ gtk_widget_set_parent (GtkWidget *widget, gtk_widget_reset_rc_styles (widget); g_signal_emit (widget, widget_signals[PARENT_SET], 0, NULL); - if (GTK_WIDGET_ANCHORED (priv->parent)) + if (priv->parent->priv->anchored) _gtk_widget_propagate_hierarchy_changed (widget, NULL); g_object_notify (G_OBJECT (widget), "parent"); @@ -7078,7 +7081,7 @@ gtk_widget_set_parent (GtkWidget *widget, if (gtk_widget_get_visible (priv->parent) && gtk_widget_get_visible (widget)) { - if (GTK_WIDGET_CHILD_VISIBLE (widget) && + if (gtk_widget_get_child_visible (widget) && gtk_widget_get_mapped (priv->parent)) gtk_widget_map (widget); @@ -7154,7 +7157,7 @@ gtk_widget_has_rc_style (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_RC_STYLE) != 0; + return widget->priv->rc_style; } /** @@ -7178,16 +7181,16 @@ gtk_widget_set_style (GtkWidget *widget, { gboolean initial_emission; - initial_emission = !gtk_widget_has_rc_style (widget) && !GTK_WIDGET_USER_STYLE (widget); + initial_emission = !widget->priv->rc_style && !widget->priv->user_style; - GTK_OBJECT_FLAGS (widget) &= ~(GTK_RC_STYLE); - GTK_PRIVATE_SET_FLAG (widget, GTK_USER_STYLE); + widget->priv->rc_style = FALSE; + widget->priv->user_style = TRUE; gtk_widget_set_style_internal (widget, style, initial_emission); } else { - if (GTK_WIDGET_USER_STYLE (widget)) + if (widget->priv->user_style) gtk_widget_reset_rc_style (widget); } } @@ -7206,8 +7209,7 @@ gtk_widget_ensure_style (GtkWidget *widget) { g_return_if_fail (GTK_IS_WIDGET (widget)); - if (!GTK_WIDGET_USER_STYLE (widget) && - !gtk_widget_has_rc_style (widget)) + if (!widget->priv->rc_style && !widget->priv->user_style) gtk_widget_reset_rc_style (widget); } @@ -7220,12 +7222,12 @@ gtk_widget_reset_rc_style (GtkWidget *widget) GtkWidgetPrivate *priv = widget->priv; GtkStyle *new_style = NULL; gboolean initial_emission; - - initial_emission = !gtk_widget_has_rc_style (widget) && !GTK_WIDGET_USER_STYLE (widget); - GTK_PRIVATE_UNSET_FLAG (widget, GTK_USER_STYLE); - GTK_OBJECT_FLAGS (widget) |= GTK_RC_STYLE; - + initial_emission = !priv->rc_style && !priv->user_style; + + priv->user_style = FALSE; + priv->rc_style = TRUE; + if (gtk_widget_has_screen (widget)) new_style = gtk_rc_get_style (widget); if (!new_style) @@ -7290,7 +7292,7 @@ gtk_widget_modify_style (GtkWidget *widget, * modifier style and the only reference was our own. */ - if (gtk_widget_has_rc_style (widget)) + if (widget->priv->rc_style) gtk_widget_reset_rc_style (widget); } @@ -7656,7 +7658,7 @@ gtk_widget_set_style_internal (GtkWidget *widget, initial_emission ? NULL : previous_style); g_object_unref (previous_style); - if (GTK_WIDGET_ANCHORED (widget) && !initial_emission) + if (priv->anchored && !initial_emission) gtk_widget_queue_resize (widget); } else if (initial_emission) @@ -7704,16 +7706,13 @@ gtk_widget_propagate_hierarchy_changed_recurse (GtkWidget *widget, GtkWidgetPrivate *priv = widget->priv; HierarchyChangedInfo *info = client_data; gboolean new_anchored = gtk_widget_is_toplevel (widget) || - (priv->parent && GTK_WIDGET_ANCHORED (priv->parent)); + (priv->parent && priv->parent->priv->anchored); - if (GTK_WIDGET_ANCHORED (widget) != new_anchored) + if (priv->anchored != new_anchored) { g_object_ref (widget); - - if (new_anchored) - GTK_PRIVATE_SET_FLAG (widget, GTK_ANCHORED); - else - GTK_PRIVATE_UNSET_FLAG (widget, GTK_ANCHORED); + + priv->anchored = new_anchored; g_signal_emit (widget, widget_signals[HIERARCHY_CHANGED], 0, info->previous_toplevel); do_screen_change (widget, info->previous_screen, info->new_screen); @@ -7737,8 +7736,8 @@ gtk_widget_propagate_hierarchy_changed_recurse (GtkWidget *widget, * emitting #GtkWidget::hierarchy-changed. **/ void -_gtk_widget_propagate_hierarchy_changed (GtkWidget *widget, - GtkWidget *previous_toplevel) +_gtk_widget_propagate_hierarchy_changed (GtkWidget *widget, + GtkWidget *previous_toplevel) { GtkWidgetPrivate *priv = widget->priv; HierarchyChangedInfo info; @@ -7747,7 +7746,7 @@ _gtk_widget_propagate_hierarchy_changed (GtkWidget *widget, info.previous_screen = previous_toplevel ? gtk_widget_get_screen (previous_toplevel) : NULL; if (gtk_widget_is_toplevel (widget) || - (priv->parent && GTK_WIDGET_ANCHORED (priv->parent))) + (priv->parent && priv->parent->priv->anchored)) info.new_screen = gtk_widget_get_screen (widget); else info.new_screen = NULL; @@ -7861,7 +7860,7 @@ _gtk_widget_propagate_screen_changed (GtkWidget *widget, static void reset_rc_styles_recurse (GtkWidget *widget, gpointer data) { - if (gtk_widget_has_rc_style (widget)) + if (widget->priv->rc_style) gtk_widget_reset_rc_style (widget); if (GTK_IS_CONTAINER (widget)) @@ -8206,12 +8205,12 @@ gtk_widget_set_child_visible (GtkWidget *widget, g_object_ref (widget); if (is_visible) - GTK_PRIVATE_SET_FLAG (widget, GTK_CHILD_VISIBLE); + priv->child_visible = TRUE; else { GtkWidget *toplevel; - - GTK_PRIVATE_UNSET_FLAG (widget, GTK_CHILD_VISIBLE); + + priv->child_visible = FALSE; toplevel = gtk_widget_get_toplevel (widget); if (toplevel != widget && gtk_widget_is_toplevel (toplevel)) @@ -8221,7 +8220,7 @@ gtk_widget_set_child_visible (GtkWidget *widget, if (priv->parent && gtk_widget_get_realized (priv->parent)) { if (gtk_widget_get_mapped (priv->parent) && - GTK_WIDGET_CHILD_VISIBLE (widget) && + priv->child_visible && gtk_widget_get_visible (widget)) gtk_widget_map (widget); else @@ -8249,7 +8248,7 @@ gtk_widget_get_child_visible (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return GTK_WIDGET_CHILD_VISIBLE (widget); + return widget->priv->child_visible; } static GdkScreen * @@ -9133,7 +9132,7 @@ gtk_widget_set_composite_name (GtkWidget *widget, const gchar *name) { g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail ((GTK_OBJECT_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0); + g_return_if_fail (widget->priv->composite_child); g_return_if_fail (name != NULL); if (!quark_composite_name) @@ -9164,7 +9163,7 @@ gtk_widget_get_composite_name (GtkWidget *widget) priv = widget->priv; - if (((GTK_OBJECT_FLAGS (widget) & GTK_COMPOSITE_CHILD) != 0) && priv->parent) + if (widget->priv->composite_child && priv->parent) return _gtk_container_child_composite_name (GTK_CONTAINER (priv->parent), widget); else @@ -9249,17 +9248,8 @@ gtk_widget_set_direction (GtkWidget *widget, g_return_if_fail (dir >= GTK_TEXT_DIR_NONE && dir <= GTK_TEXT_DIR_RTL); old_dir = gtk_widget_get_direction (widget); - - if (dir == GTK_TEXT_DIR_NONE) - GTK_PRIVATE_UNSET_FLAG (widget, GTK_DIRECTION_SET); - else - { - GTK_PRIVATE_SET_FLAG (widget, GTK_DIRECTION_SET); - if (dir == GTK_TEXT_DIR_LTR) - GTK_PRIVATE_SET_FLAG (widget, GTK_DIRECTION_LTR); - else - GTK_PRIVATE_UNSET_FLAG (widget, GTK_DIRECTION_LTR); - } + + widget->priv->direction = dir; if (old_dir != gtk_widget_get_direction (widget)) gtk_widget_emit_direction_changed (widget, old_dir); @@ -9279,10 +9269,10 @@ gtk_widget_get_direction (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), GTK_TEXT_DIR_LTR); - if (GTK_WIDGET_DIRECTION_SET (widget)) - return GTK_WIDGET_DIRECTION_LTR (widget) ? GTK_TEXT_DIR_LTR : GTK_TEXT_DIR_RTL; - else + if (widget->priv->direction == GTK_TEXT_DIR_NONE) return gtk_default_direction; + else + return widget->priv->direction; } static void @@ -9292,7 +9282,7 @@ gtk_widget_set_default_direction_recurse (GtkWidget *widget, gpointer data) g_object_ref (widget); - if (!GTK_WIDGET_DIRECTION_SET (widget)) + if (widget->priv->direction == GTK_TEXT_DIR_NONE) gtk_widget_emit_direction_changed (widget, old_dir); if (GTK_IS_CONTAINER (widget)) @@ -9363,7 +9353,7 @@ gtk_widget_dispose (GObject *object) else if (gtk_widget_get_visible (widget)) gtk_widget_hide (widget); - GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE); + priv->visible = FALSE; if (gtk_widget_get_realized (widget)) gtk_widget_unrealize (widget); @@ -9378,7 +9368,7 @@ gtk_widget_dispose (GObject *object) } static void -gtk_widget_real_destroy (GtkObject *object) +gtk_widget_real_destroy (GtkWidget *object) { /* gtk_object_destroy() will already hold a refcount on object */ GtkWidget *widget = GTK_WIDGET (object); @@ -9390,7 +9380,7 @@ gtk_widget_real_destroy (GtkObject *object) /* Callers of add_mnemonic_label() should disconnect on ::destroy */ g_object_set_qdata (G_OBJECT (widget), quark_mnemonic_labels, NULL); - + gtk_grab_remove (widget); g_object_unref (priv->style); @@ -9990,10 +9980,7 @@ gtk_widget_propagate_state (GtkWidget *widget, */ - if (data->parent_sensitive) - GTK_OBJECT_FLAGS (widget) |= GTK_PARENT_SENSITIVE; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_PARENT_SENSITIVE); + priv->parent_sensitive = data->parent_sensitive; if (gtk_widget_is_sensitive (widget)) { @@ -10033,7 +10020,7 @@ gtk_widget_propagate_state (GtkWidget *widget, g_signal_emit (widget, widget_signals[STATE_CHANGED], 0, old_state); - if (!GTK_WIDGET_SHADOWED (widget)) + if (!priv->shadowed) { GList *event_windows = NULL; GList *devices, *d; @@ -10176,8 +10163,8 @@ gtk_widget_shape_combine_region (GtkWidget *widget, if (region == NULL) { - GTK_PRIVATE_UNSET_FLAG (widget, GTK_HAS_SHAPE_MASK); - + priv->has_shape_mask = FALSE; + if (priv->window) gdk_window_shape_combine_region (priv->window, NULL, 0, 0); @@ -10185,7 +10172,7 @@ gtk_widget_shape_combine_region (GtkWidget *widget, } else { - GTK_PRIVATE_SET_FLAG (widget, GTK_HAS_SHAPE_MASK); + priv->has_shape_mask = TRUE; g_object_set_qdata_full (G_OBJECT (widget), quark_shape_info, cairo_region_copy (region), @@ -10276,7 +10263,7 @@ gtk_widget_reset_shapes (GtkWidget *widget) priv = widget->priv; - if (!GTK_WIDGET_HAS_SHAPE_MASK (widget)) + if (!priv->has_shape_mask) gtk_reset_shapes_recurse (widget, priv->window); } @@ -11745,7 +11732,7 @@ gtk_widget_get_no_show_all (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return (GTK_OBJECT_FLAGS (widget) & GTK_NO_SHOW_ALL) != 0; + return widget->priv->no_show_all; } /** @@ -11770,15 +11757,12 @@ gtk_widget_set_no_show_all (GtkWidget *widget, no_show_all = (no_show_all != FALSE); - if (no_show_all == gtk_widget_get_no_show_all (widget)) - return; + if (widget->priv->no_show_all != no_show_all) + { + widget->priv->no_show_all = no_show_all; - if (no_show_all) - GTK_OBJECT_FLAGS (widget) |= GTK_NO_SHOW_ALL; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_NO_SHOW_ALL); - - g_object_notify (G_OBJECT (widget), "no-show-all"); + g_object_notify (G_OBJECT (widget), "no-show-all"); + } } @@ -12264,7 +12248,7 @@ gtk_widget_get_support_multidevice (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - return GTK_WIDGET_FLAGS (widget) & GTK_MULTIDEVICE; + return widget->priv->multidevice; } /** @@ -12291,12 +12275,12 @@ gtk_widget_set_support_multidevice (GtkWidget *widget, if (support_multidevice) { - GTK_WIDGET_SET_FLAGS (widget, GTK_MULTIDEVICE); + priv->multidevice = TRUE; gtk_widget_set_extension_events (widget, GDK_EXTENSION_EVENTS_ALL); } else { - GTK_WIDGET_UNSET_FLAGS (widget, GTK_MULTIDEVICE); + priv->multidevice = FALSE; gtk_widget_set_extension_events (widget, GDK_EXTENSION_EVENTS_NONE); } @@ -12308,10 +12292,7 @@ static void _gtk_widget_set_has_focus (GtkWidget *widget, gboolean has_focus) { - if (has_focus) - GTK_OBJECT_FLAGS (widget) |= GTK_HAS_FOCUS; - else - GTK_OBJECT_FLAGS (widget) &= ~(GTK_HAS_FOCUS); + widget->priv->has_focus = has_focus; } /** @@ -12369,3 +12350,99 @@ gtk_widget_send_focus_change (GtkWidget *widget, return res; } + +gboolean +gtk_widget_in_destruction (GtkWidget *widget) +{ + return widget->priv->in_destruction; +} + +_gtk_widget_get_resize_pending (GtkWidget *widget) +{ + return widget->priv->resize_pending; +} + +void +_gtk_widget_set_resize_pending (GtkWidget *widget, + gboolean resize_pending) +{ + widget->priv->resize_pending = resize_pending; +} + +gboolean +_gtk_widget_get_in_reparent (GtkWidget *widget) +{ + return widget->priv->in_reparent; +} + +void +_gtk_widget_set_in_reparent (GtkWidget *widget, + gboolean in_reparent) +{ + widget->priv->in_reparent = in_reparent; +} + +gboolean +_gtk_widget_get_anchored (GtkWidget *widget) +{ + return widget->priv->anchored; +} + +void +_gtk_widget_set_anchored (GtkWidget *widget, + gboolean anchored) +{ + widget->priv->anchored = anchored; +} + +gboolean +_gtk_widget_get_shadowed (GtkWidget *widget) +{ + return widget->priv->shadowed; +} + +void +_gtk_widget_set_shadowed (GtkWidget *widget, + gboolean shadowed) +{ + widget->priv->shadowed = shadowed; +} + +gboolean +_gtk_widget_get_alloc_needed (GtkWidget *widget) +{ + return widget->priv->alloc_needed; +} + +void +_gtk_widget_set_alloc_needed (GtkWidget *widget, + gboolean alloc_needed) +{ + widget->priv->alloc_needed = alloc_needed; +} + +gboolean +_gtk_widget_get_width_request_needed (GtkWidget *widget) +{ + return widget->priv->width_request_needed; +} + +void +_gtk_widget_set_width_request_needed (GtkWidget *widget, + gboolean width_request_needed) +{ + widget->priv->width_request_needed = width_request_needed; +} + +gboolean +_gtk_widget_get_height_request_needed (GtkWidget *widget) +{ + return widget->priv->height_request_needed; +} + +void +_gtk_widget_set_height_request_needed (GtkWidget *widget, + gboolean height_request_needed) +{ + widget->priv->height_request_needed = height_request_needed; +} diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index a5746aa49..af72dea72 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -33,7 +33,6 @@ #include #include -#include #include #include #include @@ -249,16 +248,7 @@ struct _GtkRequisition */ struct _GtkWidget { - /* The object structure needs to be the first - * element in the widget structure in order for - * the object mechanism to work correctly. This - * allows a GtkWidget pointer to be cast to a - * GtkObject pointer. - */ - GInitiallyUnowned object; - - /* internally used private flags. */ - guint GSEAL (private_flags) : 16; + GInitiallyUnowned parent_instance; GtkWidgetPrivate *priv; }; @@ -268,7 +258,7 @@ struct _GtkWidget * @parent_class: The object class structure needs to be the first * element in the widget class structure in order for the class mechanism * to work correctly. This allows a GtkWidgetClass pointer to be cast to - * a GtkObjectClass pointer. + * a GObjectClass pointer. * @activate_signal: The signal to emit when a widget of this class is * activated, gtk_widget_activate() handles the emission. * Implementation of this signal is optional. @@ -1030,6 +1020,8 @@ void _gtk_widget_buildable_finish_accelerator (GtkWidget *widget, GtkWidget *toplevel, gpointer user_data); +gboolean gtk_widget_in_destruction (GtkWidget *widget); + G_END_DECLS #endif /* __GTK_WIDGET_H__ */ diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 974cfbfa1..b66363669 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -989,7 +989,7 @@ gtk_window_init (GtkWindow *window) gtk_widget_set_has_window (GTK_WIDGET (window), TRUE); _gtk_widget_set_is_toplevel (GTK_WIDGET (window), TRUE); - GTK_PRIVATE_SET_FLAG (window, GTK_ANCHORED); + _gtk_widget_set_anchored (GTK_WIDGET (window), TRUE); gtk_container_set_resize_mode (GTK_CONTAINER (window), GTK_RESIZE_QUEUE); @@ -4382,7 +4382,7 @@ gtk_window_show (GtkWidget *widget) GtkContainer *container = GTK_CONTAINER (window); gboolean need_resize; - GTK_WIDGET_SET_FLAGS (widget, GTK_VISIBLE); + _gtk_widget_set_visible_flag (widget, TRUE); need_resize = _gtk_container_get_need_resize (container) || !gtk_widget_get_realized (widget); _gtk_container_set_need_resize (container, FALSE); @@ -4464,7 +4464,7 @@ gtk_window_hide (GtkWidget *widget) GtkWindow *window = GTK_WINDOW (widget); GtkWindowPrivate *priv = window->priv; - GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE); + _gtk_widget_set_visible_flag (widget, FALSE); gtk_widget_unmap (widget); if (priv->modal) diff --git a/gtk/gtkwrapbox.c b/gtk/gtkwrapbox.c index 21cb7f7c6..ed751f65b 100644 --- a/gtk/gtkwrapbox.c +++ b/gtk/gtkwrapbox.c @@ -37,6 +37,7 @@ #include "gtkwrapbox.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypeutils.h" typedef struct _GtkWrapBoxChild GtkWrapBoxChild; diff --git a/gtk/gtkxembed.c b/gtk/gtkxembed.c index 22f2d4390..7353e30cd 100644 --- a/gtk/gtkxembed.c +++ b/gtk/gtkxembed.c @@ -23,6 +23,7 @@ #include "gtkmain.h" #include "gtkprivate.h" #include "gtkxembed.h" +#include "gtkdebug.h" typedef struct _GtkXEmbedMessage GtkXEmbedMessage; diff --git a/modules/other/gail/Makefile.am b/modules/other/gail/Makefile.am index a734ec214..6be2ca13c 100644 --- a/modules/other/gail/Makefile.am +++ b/modules/other/gail/Makefile.am @@ -36,7 +36,6 @@ gail_c_sources = \ gailmenuitem.c \ gailnotebook.c \ gailnotebookpage.c \ - gailobject.c \ gailpaned.c \ gailprogressbar.c \ gailradiobutton.c \ @@ -90,7 +89,6 @@ gail_private_h_sources = \ gailmenuitem.h \ gailnotebook.h \ gailnotebookpage.h \ - gailobject.h \ gailpaned.h \ gailprogressbar.h \ gailradiobutton.h \ diff --git a/modules/other/gail/gail.c b/modules/other/gail/gail.c index f9f4738cc..21abd08d3 100644 --- a/modules/other/gail/gail.c +++ b/modules/other/gail/gail.c @@ -71,7 +71,6 @@ static guint focus_notify_handler = 0; static guint focus_tracker_id = 0; static GQuark quark_focus_object = 0; -GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_OBJECT, GailObject, gail_object, GTK_TYPE_OBJECT) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_WIDGET, GailWidget, gail_widget, GTK_TYPE_WIDGET) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_CONTAINER, GailContainer, gail_container, GTK_TYPE_CONTAINER) GAIL_IMPLEMENT_FACTORY (GAIL_TYPE_BUTTON, GailButton, gail_button, GTK_TYPE_BUTTON) @@ -907,9 +906,6 @@ gail_accessibility_module_init (void) GAIL_WIDGET_SET_FACTORY (GTK_TYPE_RADIO_MENU_ITEM, gail_radio_menu_item); GAIL_WIDGET_SET_FACTORY (GTK_TYPE_EXPANDER, gail_expander); - /* LIBGNOMECANVAS SUPPORT */ - GAIL_WIDGET_SET_FACTORY (GTK_TYPE_OBJECT, gail_object); - atk_focus_tracker_init (gail_focus_tracker_init); focus_tracker_id = atk_add_focus_tracker (gail_focus_tracker); diff --git a/modules/other/gail/gail.h b/modules/other/gail/gail.h index d730f9a76..98fb25585 100644 --- a/modules/other/gail/gail.h +++ b/modules/other/gail/gail.h @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include diff --git a/modules/other/gail/gailobject.c b/modules/other/gail/gailobject.c deleted file mode 100644 index fe2f0e9ef..000000000 --- a/modules/other/gail/gailobject.c +++ /dev/null @@ -1,54 +0,0 @@ -/* GAIL - The GNOME Accessibility Implementation Library - * Copyright 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include -#include "gailobject.h" - -static void gail_object_class_init (GailObjectClass *klass); - -static void gail_object_init (GailObject *object); - -static void gail_object_real_initialize (AtkObject *obj, - gpointer data); - -G_DEFINE_TYPE (GailObject, gail_object, ATK_TYPE_GOBJECT_ACCESSIBLE) - -static void -gail_object_class_init (GailObjectClass *klass) -{ - AtkObjectClass *class = ATK_OBJECT_CLASS (klass); - - class->initialize = gail_object_real_initialize; -} - -static void -gail_object_init (GailObject *object) -{ -} - -static void -gail_object_real_initialize (AtkObject *obj, - gpointer data) -{ - ATK_OBJECT_CLASS (gail_object_parent_class)->initialize (obj, data); - - obj->role = ATK_ROLE_UNKNOWN; -} diff --git a/modules/other/gail/gailobject.h b/modules/other/gail/gailobject.h deleted file mode 100644 index 4aff2eeed..000000000 --- a/modules/other/gail/gailobject.h +++ /dev/null @@ -1,51 +0,0 @@ -/* GAIL - The GNOME Accessibility Implementation Library - * Copyright 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GAIL_OBJECT_H__ -#define __GAIL_OBJECT_H__ - -#include - -G_BEGIN_DECLS - -#define GAIL_TYPE_OBJECT (gail_object_get_type ()) -#define GAIL_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_OBJECT, GailObject) -#define GAIL_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_OBJECT, GailObjectlass)) -#define GAIL_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_OBJECT)) -#define GAIL_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_OBJECT)) -#define GAIL_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_OBJECT, GailObjectlass)) - -typedef struct _GailObject GailObject; -typedef struct _GailObjectClass GailObjectClass; - -struct _GailObject -{ - AtkGObjectAccessible parent; -}; - -GType gail_object_get_type (void); - -struct _GailObjectClass -{ - AtkGObjectAccessibleClass parent_class; -}; - -G_END_DECLS - -#endif /* __GAIL_OBJECT_H__ */ diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c index 0678f22e8..61cd59170 100644 --- a/tests/testfilechooser.c +++ b/tests/testfilechooser.c @@ -407,9 +407,9 @@ unmap_and_remap_cb (GtkButton *button, } static void -kill_dependent (GtkWindow *win, GtkObject *dep) +kill_dependent (GtkWindow *win, GtkWidget *dep) { - gtk_object_destroy (dep); + gtk_widget_destroy (dep); g_object_unref (dep); } diff --git a/tests/testgtk.c b/tests/testgtk.c index a1aa61c4a..ef8870804 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -2252,7 +2252,7 @@ create_rotated_label (GtkWidget *widget) gtk_widget_get_screen (widget)); g_signal_connect (window, "response", - G_CALLBACK (gtk_object_destroy), NULL); + G_CALLBACK (gtk_widget_destroy), NULL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); @@ -2382,7 +2382,7 @@ create_rotated_text (GtkWidget *widget) gtk_widget_get_screen (widget)); g_signal_connect (window, "response", - G_CALLBACK (gtk_object_destroy), NULL); + G_CALLBACK (gtk_widget_destroy), NULL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); @@ -3676,7 +3676,7 @@ create_key_lookup (GtkWidget *widget) window_ptr = &window; g_object_add_weak_pointer (G_OBJECT (window), window_ptr); - g_signal_connect (window, "response", G_CALLBACK (gtk_object_destroy), NULL); + g_signal_connect (window, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show_all (window); } diff --git a/tests/testmerge.c b/tests/testmerge.c index a9b1222d2..b1ca1e407 100644 --- a/tests/testmerge.c +++ b/tests/testmerge.c @@ -264,7 +264,7 @@ toggle_merge (GtkWidget *button, "could not merge %s: %s", merge_ids[mergenum].filename, err->message); - g_signal_connect (dialog, "response", G_CALLBACK (gtk_object_destroy), NULL); + g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (dialog); g_clear_error (&err); diff --git a/tests/testrecentchooser.c b/tests/testrecentchooser.c index cb6968e22..36a2c9783 100644 --- a/tests/testrecentchooser.c +++ b/tests/testrecentchooser.c @@ -97,9 +97,9 @@ notify_multiple_cb (GtkWidget *dialog, static void kill_dependent (GtkWindow *win, - GtkObject *dep) + GtkWidget *dep) { - gtk_object_destroy (dep); + gtk_widget_destroy (dep); g_object_unref (dep); } -- 2.43.2