]> Pileus Git - ~andy/gtk/commitdiff
Remove GtkObject completely
authorMatthias Clasen <mclasen@redhat.com>
Sat, 18 Sep 2010 23:57:32 +0000 (19:57 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 27 Sep 2010 02:18:19 +0000 (22:18 -0400)
71 files changed:
docs/reference/gtk/gtk3.types
gtk/Makefile.am
gtk/gtk.h
gtk/gtk.symbols
gtk/gtkadjustment.h
gtk/gtkarrow.c
gtk/gtkbbox.c
gtk/gtkbindings.c
gtk/gtkbindings.h
gtk/gtkbox.c
gtk/gtkbuilder.c
gtk/gtkcellrendererspinner.c
gtk/gtkcombobox.c
gtk/gtkcontainer.c
gtk/gtkexpander.c
gtk/gtkhsv.c
gtk/gtkicontheme.c
gtk/gtkimcontext.h
gtk/gtkimcontextsimple.c
gtk/gtkinvisible.c
gtk/gtkmain.c
gtk/gtkmain.h
gtk/gtkmenushell.c
gtk/gtknotebook.c
gtk/gtkobject.c [deleted file]
gtk/gtkobject.h [deleted file]
gtk/gtkoffscreenwindow.c
gtk/gtkorientable.c
gtk/gtkplug-x11.c
gtk/gtkplug.c
gtk/gtkprivate.h
gtk/gtkruler.c
gtk/gtkscalebutton.c
gtk/gtkscrolledwindow.c
gtk/gtkselection.c
gtk/gtksettings.c
gtk/gtksizegroup.c
gtk/gtksizerequest.c
gtk/gtksocket-win32.c
gtk/gtksocket-x11.c
gtk/gtksocket.c
gtk/gtkstyle.c
gtk/gtktable.c
gtk/gtktestutils.h
gtk/gtktextlayout.c
gtk/gtktexttag.h
gtk/gtktextview.c
gtk/gtkthemes.c
gtk/gtktoolbar.c
gtk/gtktrayicon-x11.c
gtk/gtktreemodel.h
gtk/gtktreesortable.h
gtk/gtktreeview.c
gtk/gtktreeviewcolumn.c
gtk/gtktypeutils.c
gtk/gtktypeutils.h
gtk/gtkviewport.c
gtk/gtkwidget.c
gtk/gtkwidget.h
gtk/gtkwindow.c
gtk/gtkwrapbox.c
gtk/gtkxembed.c
modules/other/gail/Makefile.am
modules/other/gail/gail.c
modules/other/gail/gail.h
modules/other/gail/gailobject.c [deleted file]
modules/other/gail/gailobject.h [deleted file]
tests/testfilechooser.c
tests/testgtk.c
tests/testmerge.c
tests/testrecentchooser.c

index aaad23126ead7ec99e603f0eb35f791988411b89..86d8d82523afa48d1ec1e51c49d1c225ded38128 100644 (file)
@@ -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
index 60057e575f8dcf7781607efd121b61cf3a82ef4f..4f2c193b5fcbee551afaf66ef0ec1d4a47fe41f6 100644 (file)
@@ -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          \
index 4484ae741e9ac9a5518ba0d7c5403f045b5f8236..f970cb35d0b34057c2b5907f2ea1eb8708c34905 100644 (file)
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
 #include <gtk/gtkmodules.h>
 #include <gtk/gtkmountoperation.h>
 #include <gtk/gtknotebook.h>
-#include <gtk/gtkobject.h>
 #include <gtk/gtkoffscreenwindow.h>
 #include <gtk/gtkorientable.h>
 #include <gtk/gtkpagesetup.h>
index b9cb16163963b826fe3f4b3cbacdeba506a27385..fd43fc7e26cda26db3279bffa84782e71560bb6f 100644 (file)
@@ -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
 
index 1435ba50f98b2f87becd02021f2807feadf466e4..0e7cafbf3077d47d7afa7a35fa3a436c39b79b8b 100644 (file)
@@ -31,7 +31,6 @@
 #ifndef __GTK_ADJUSTMENT_H__
 #define __GTK_ADJUSTMENT_H__
 
-#include <gtk/gtkobject.h>
 #include <gdk/gdk.h>
 
 G_BEGIN_DECLS
index 801afaf5aa31844d385cb6fb4f85e535cf4857ef..2c69ca05155f3ef061de70e94d8a07db59383733 100644 (file)
@@ -48,6 +48,7 @@
 #include <math.h>
 #include "gtkarrow.h"
 #include "gtksizerequest.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
index 0e8b0c7e9b109d7a900f3bd6739530ab46edcd6a..92f88fe961ad2d02e03352f715bc43b4a382402b 100644 (file)
@@ -51,6 +51,7 @@
 #include "gtkorientable.h"
 #include "gtkprivate.h"
 #include "gtksizerequest.h"
+#include "gtktypeutils.h"
 
 #include "gtkintl.h"
 
index ff9a49f5a2b7ad67ae0b300a64f3682e4901944d..6973a6a2bbe2c1dd72073a6cb6519f1b50afff30 100644 (file)
@@ -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;
 
index 904eb3e8c1e7602c5e426bba807ace631df0ea89..260eeb80b11f4a3759b201977ae2c53a5134451d 100644 (file)
@@ -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 <gdk/gdk.h>
-#include <gtk/gtkobject.h>
-
+#include <gtk/gtkenums.h>
 
 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,
index e8310c50c52a19353055fa7879b88d08955fdf9a..fa67dbb7b7448028b55c87ca6695a9e0a605392f 100644 (file)
@@ -78,6 +78,7 @@
 #include "gtkbox.h"
 #include "gtkorientable.h"
 #include "gtksizerequest.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
index d0c4725ab5ce37a158f5796b9e5044edc2c6bff3..13c0f4b3c923293679541befbe2691cc12924dc9 100644 (file)
 #include "gtkbuilder.h"
 #include "gtkbuildable.h"
 #include "gtkbuilderprivate.h"
+#include "gtkdebug.h"
 #include "gtkmain.h"
 #include "gtkintl.h"
 #include "gtkprivate.h"
index 843d90fd393ccf44443fb8000f6c1eb930c106fb..8cb020a4a8427598cead9fcea71829e63b8be89c 100644 (file)
@@ -32,6 +32,7 @@
 #include "gtkcellrendererspinner.h"
 #include "gtkiconfactory.h"
 #include "gtkicontheme.h"
+#include "gtktypeutils.h"
 #include "gtkintl.h"
 
 
index ba7a2f8b32714c78f1325cbe3957ee742dfc2d17..f8ce6db0ee27b814c5cd6fdfdb1dd274ed6783eb 100644 (file)
@@ -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;
index c38153ca277711772aa4e1e1da604c6dfb1c8710..3f6f2877f35cc367e243c2b60687a71e7a29a568 100644 (file)
@@ -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,
index cf5f1b8e823b92688eb999e64bd746f6a5275160..9554ec1830f544e408a5cc3a54dca871b6106281 100644 (file)
@@ -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;
 
index 973dc4ba3a932888972c1a2836131233d2514ef7..86e3985239cf0760ee1b9ad3f084ad81de2cd29e 100644 (file)
@@ -39,6 +39,7 @@
 #include "gtkhsv.h"
 #include "gtkbindings.h"
 #include "gtkmarshalers.h"
+#include "gtktypeutils.h"
 #include "gtkintl.h"
 
 /* Default width/height */
index 4b0adee58bfeecc6ed4d7624dc21865e33c11680..c77b9cba662a77faa97a46524223710d84e5306a 100644 (file)
@@ -39,6 +39,7 @@
 #endif /* G_OS_WIN32 */
 
 #include "gtkicontheme.h"
+#include "gtkdebug.h"
 #include "gtkiconfactory.h"
 #include "gtkiconcache.h"
 #include "gtkbuiltincache.h"
index 25c218b545291013c4a1bb47d210d4b5ce8f7f92..1c5dfd0664083b011a5915219ba6789790af619e 100644 (file)
@@ -26,7 +26,6 @@
 
 
 #include <gdk/gdk.h>
-#include <gtk/gtkobject.h>
 
 
 G_BEGIN_DECLS
index 6bdd3cc8643e136e20fe82fdc711776db8578c16..fac41e75943879444b83ea2cae2e3e26f9db1c53 100644 (file)
@@ -27,6 +27,7 @@
 #include "gtkimcontextsimple.h"
 #include "gtksettings.h"
 #include "gtkwidget.h"
+#include "gtkdebug.h"
 #include "gtkintl.h"
 
 
index e08f62da24ada571a493274bf23f843ded6891cb..942986d49a0b2a83c4f2ff3431365dde3fbb5e11 100644 (file)
@@ -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);
 }
 
index 116ade7b500c7aad1812dd53ab2ecb93c400f189..1dd2adeb5c84a4f2ceb8b1954bb7000f98686b32 100644 (file)
@@ -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",
index 39171f584847b3998596fa43899ba11173c6622b..04b9fd8941d1b62934b4912c6fed88f77a09c29e 100644 (file)
@@ -33,6 +33,7 @@
 
 
 #include <gdk/gdk.h>
+#include <gtk/gtktypeutils.h>
 #include <gtk/gtkwidget.h>
 #ifdef G_PLATFORM_WIN32
 #include <gtk/gtkbox.h>
@@ -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);
index f6b3b5b0e7510e11597800defeaffb037b328986..e531de1c13d90c99f58bfd0cafc7e3686f60c589 100644 (file)
@@ -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),
index d6c018eb842250226cc9170bf1de918dde9d278d..c5b880c0f16cc7062d72d99f56c6918a5bbdadd1 100644 (file)
@@ -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 (file)
index 0b26cfd..0000000
+++ /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 <stdarg.h>
-#include <string.h>
-#include <stdio.h>
-
-#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.
- *
- * #GtkObject<!-- -->s 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:
- * <informalexample><programlisting>
- *   g_object_ref_sink (G_OBJECT (child_widget));
- * </programlisting></informalexample>
- * 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:
- * <informalexample><programlisting>
- *    button = gtk_button_new (<!-- -->);
- *    /&ast; button has one floating reference to keep it alive &ast;/
- *    gtk_container_add (GTK_CONTAINER (container), button);
- *    /&ast; button has one non-floating reference owned by the container &ast;/
- * </programlisting></informalexample>
- *
- * #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
- * <firstterm>finalization</firstterm>) only happens if the reference count reaches
- * zero.
- *
- * Some simple rules for handling #GtkObject:
- * <itemizedlist>
- * <listitem><para>
- * Never call g_object_unref() unless you have previously called g_object_ref(),
- * even if you created the #GtkObject. (Note: this is <emphasis>not</emphasis>
- * true for #GObject; for #GObject, the creator of the object owns a reference.)
- * </para></listitem>
- * <listitem><para>
- * Call gtk_object_destroy() to get rid of most objects in most cases.
- * In particular, widgets are almost always destroyed in this way.
- * </para></listitem>
- * <listitem><para> 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.</para></listitem>
- * </itemizedlist>
- */
-
-
-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 (file)
index d8339a0..0000000
+++ /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 <gtk/gtk.h> can be included directly."
-#endif
-
-#ifndef __GTK_OBJECT_H__
-#define __GTK_OBJECT_H__
-
-
-#include <gdkconfig.h>
-#include <gtk/gtkenums.h>
-#include <gtk/gtktypeutils.h>
-#include <gtk/gtkdebug.h>
-
-
-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__ */
index 9c0552a6416dcccda2f8ab4aace6cdbf9bc83773..2ff6a543680e9e101ca9cdd9f54e4be3ee0db72b 100644 (file)
@@ -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);
 }
 
index 33a59df2a774db674597573866a39a92c078e034..2a3c761355945b43919d05f19b826f6dd573582c 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "gtkorientable.h"
 #include "gtkprivate.h"
+#include "gtktypeutils.h"
 #include "gtkintl.h"
 
 
index 48d2818f91c563f1382fd23aec82d82bf7df795c..ca7e3e085724c56e8a62d404ef32e2bf222c8913 100644 (file)
@@ -45,6 +45,7 @@
 #include "gtkplug.h"
 #include "gtkprivate.h"
 #include "gtkplugprivate.h"
+#include "gtkdebug.h"
 
 #include "x11/gdkx.h"
 
index f1209cb73cf624e2a7f75af52431efefd98c0f07..fa5e5358226994fcf92a1a803145f8464dc17728 100644 (file)
@@ -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)
index 53c073c657c07e1cbe75bfc728ad2ea13f47e303..c0f14b4f328dc4abab8ccc3f2e0fb968e5ff311a 100644 (file)
 
 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
 
index 3d2d21dace4ab0df2a2446ae1035330f637d05d5..7a630aa55d90aa4de86dd4d0a0420730e4699246 100644 (file)
@@ -31,6 +31,7 @@
 
 #include "gtkorientable.h"
 #include "gtkruler.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
index 3e4f653cf610f00b6c72d6a4e413d62029163698..60b8153a23fd2b790a98ac7127d8a90219e715d2 100644 (file)
@@ -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;
index 55fccbac8361f319210084b9ce30c0f6e1ef619c..68254280e1ae9cae47ea791adb2eec195951dbcf 100644 (file)
@@ -31,6 +31,7 @@
 #include "gtkmarshalers.h"
 #include "gtkscrolledwindow.h"
 #include "gtkwindow.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
index 44116bb90c61016ae195174f18a58a6ca95e2145..0a18fba6b74cddd55417ff406d683143d3ffac9f 100644 (file)
@@ -57,6 +57,7 @@
 #include "gdk.h"
 
 #include "gtkmain.h"
+#include "gtkdebug.h"
 #include "gtkselection.h"
 #include "gtktextbufferrichtext.h"
 #include "gtkintl.h"
index 57e42942169bc3d586de5f259c4dff63bc990fa9..9152c33f1fd156952a38d2563ad294d9a9d8164f 100644 (file)
@@ -27,6 +27,7 @@
 #include "gtkrc.h"
 #include "gtkintl.h"
 #include "gtkwidget.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 
 #ifdef GDK_WINDOWING_X11
index f22f146e1a3ccb811afff9c7975f482b23205633..1663f97326c23ceeb197fab4df9017b5040d44e0 100644 (file)
@@ -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)
index c11844fbb9508a75cd090a5c7e1c147288cbf1ea..6ba06d662e5354eacac27d3e9553494e7ee17169 100644 (file)
 #include <config.h>
 #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;
index 8e9406f81f80442c55b185f06d69a6373374dc80..d300304d5174ddf66137872391e8824e0e22811a 100644 (file)
@@ -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));
index 8430e7d93a0d07d2538956144ea1efcbaa91486b..a1a32e229a3aa519a64f1bebc8359abbf05de16b 100644 (file)
@@ -37,6 +37,7 @@
 #include "gtksocket.h"
 #include "gtksocketprivate.h"
 #include "gtkdnd.h"
+#include "gtkdebug.h"
 
 #include "x11/gdkx.h"
 
index 523b60cda2deca540e8b8e0f7e877a7a84b9712d..7389a7e0dcea44192e615193d4ccf0c51032f9e5 100644 (file)
@@ -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));
index 2e0ad1ce43711f5dec9ad71a2e593f5f8af2cbc4..a5566e2984da995b608f81d084e84ea9a9ffe042 100644 (file)
@@ -39,6 +39,7 @@
 #include "gtkiconfactory.h"
 #include "gtksettings.h"       /* _gtk_settings_parse_convert() */
 #include "gtkintl.h"
+#include "gtkdebug.h"
 #include "gtkspinner.h"
 
 
index 5d3b29832427e06d9c08586176b439c8b60cfe0c..9a485d164fa533f04bbda4d746008b328de92bbe 100644 (file)
@@ -28,6 +28,7 @@
 
 #include "gtktable.h"
 
+#include "gtktypebuiltins.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
 
index 5b90dc67c1f1b2f5944027efbed9a322f6f4d9d7..c6fe4fa5b13a917443d564a1ba81b98fa9a4ce93 100644 (file)
@@ -25,6 +25,9 @@
 #ifndef __GTK_TEST_UTILS_H__
 #define __GTK_TEST_UTILS_H__
 
+#include <gtk/gtkwidget.h>
+#include <gtk/gtkspinbutton.h>
+
 G_BEGIN_DECLS
 
 /* --- Gtk+ Test Utility API --- */
index c8e0730548561df095f868378272170bbfbb42d1..283d8f69108e610ccb80e736100ce27fb82640e5 100644 (file)
@@ -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);
   
index d74a43bf3aa5ea29706ce9c93240a30b984beb56..20d631af9eb023e5348df0b2f53a42ac330ceb62 100644 (file)
@@ -58,9 +58,6 @@
 #include <gdk/gdk.h>
 #include <gtk/gtkenums.h>
 
-/* Not needed, retained for compatibility -Yosh */
-#include <gtk/gtkobject.h>
-
 
 G_BEGIN_DECLS
 
index 9a1ef38949e6018f50254c799cbd88acb0936ef6..a09dbc46780b8f49bf5f9a0e1b600263bdc77e9a 100644 (file)
@@ -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);
index 7a553226b85078ad559385d2822afbb85dc49093..1533fa48c9ba6a9a750202bdefc784d8bdee6ab9 100644 (file)
@@ -33,6 +33,7 @@
 #include "gtkthemes.h"
 #include "gtkrc.h"
 #include "gtkintl.h"
+#include "gtkdebug.h"
 
 
 typedef struct _GtkThemeEngineClass GtkThemeEngineClass;
index 46d37cf2878b137b4b0635d541d6a723a41b656c..bc91bff85e9fbc5a4914d54f3465f52e88e8cbd5 100644 (file)
@@ -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
index 9f7fc4bacd72dad0b2ad576f7b0ed0170436774b..287496b17f27f3ab59ba257120e07e04833c4674 100644 (file)
@@ -29,6 +29,8 @@
 #include "gtkintl.h"
 #include "gtkprivate.h"
 #include "gtktrayicon.h"
+#include "gtktestutils.h"
+#include "gtkdebug.h"
 
 #include "x11/gdkx.h"
 #include <X11/Xatom.h>
index e7f59c672b8214d9981affc3a540c0fc8a38fc3a..b706a00f97dcb424988cf2f7b165f8126220ebcc 100644 (file)
@@ -26,9 +26,6 @@
 
 #include <glib-object.h>
 
-/* Not needed, retained for compatibility -Yosh */
-#include <gtk/gtkobject.h>
-
 G_BEGIN_DECLS
 
 #define GTK_TYPE_TREE_MODEL            (gtk_tree_model_get_type ())
index a779a7de6dc8330c76904dad984ad106cdc8b046..4931276d980254fb3b0f2dc259bab193dfee0fcd 100644 (file)
@@ -25,6 +25,7 @@
 #define __GTK_TREE_SORTABLE_H__
 
 
+#include <gtk/gtkenums.h>
 #include <gtk/gtktreemodel.h>
 #include <gtk/gtktypeutils.h>
 
index 3da1d7c9d63d1180be014d6be4d3ce21a7fae336..75821fe946fdd8dc40cace8572f59f6ce3ef0ea1 100644 (file)
@@ -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)
index 16c376d794d2a41941226fbfa975ef8c6c281af9..ad576f68f33d137cfba8fb4b315e32fbf9f520b7 100644 (file)
@@ -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,
index 984d82f18f8bb42945d9ac3874e57960609a8308..d1e74d91af53faf394497b5dcbf2d7de2f1de9bb 100644 (file)
@@ -28,7 +28,6 @@
 #include <string.h> /* strcmp */
 
 #include "gtktypeutils.h"
-#include "gtkobject.h"
 #include "gtkintl.h"
 
 
index 883266e116584ff396c830f550c3ec3a395b4f83..51760cf0a91af562932f11efd299683a812e3453 100644 (file)
@@ -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 */
index 3c04d31202831659280ed99bdbecb91a9a7fc89a..546ec1e501642c719dc63aac4fb0f306c4206170 100644 (file)
@@ -28,6 +28,7 @@
 #include "gtkviewport.h"
 #include "gtkintl.h"
 #include "gtkmarshalers.h"
+#include "gtktypeutils.h"
 #include "gtkprivate.h"
 
 
index 686e52b181b0b909daf4f225edb87d45c56d64fc..9472578cc1dcc5c7808d7c1a3308a9c7be480e44 100644 (file)
@@ -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 
- * <link linkend="child-properties">child property</link>  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 
  * <link linkend="child-properties">child property</link>  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;
+}
index a5746aa498b68ee3e13ac8a6c1e801f26d3a6ea6..af72dea7250e2fad3eb44ff037b4e8020c3bc842 100644 (file)
@@ -33,7 +33,6 @@
 
 #include <gdk/gdk.h>
 #include <gtk/gtkaccelgroup.h>
-#include <gtk/gtkobject.h>
 #include <gtk/gtkadjustment.h>
 #include <gtk/gtkstyle.h>
 #include <gtk/gtksettings.h>
@@ -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__ */
index 974cfbfa183c907bf9ac489337b5f1df8564e075..b6636366936d4d4861b64d59c59762beddc788f8 100644 (file)
@@ -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)
index 21cb7f7c61c435ac6c830620986512a8ab4fb517..ed751f65b25c62987ea846057a123ed3e500885a 100644 (file)
@@ -37,6 +37,7 @@
 #include "gtkwrapbox.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
+#include "gtktypeutils.h"
 
 
 typedef struct _GtkWrapBoxChild  GtkWrapBoxChild;
index 22f2d439053fba1ca0b4d362f107c5f7c719e29b..7353e30cd3b6e5e489197d74fd0c7852a3756e26 100644 (file)
@@ -23,6 +23,7 @@
 #include "gtkmain.h"
 #include "gtkprivate.h"
 #include "gtkxembed.h"
+#include "gtkdebug.h"
 
 
 typedef struct _GtkXEmbedMessage GtkXEmbedMessage;
index a734ec21443b346f6063ffeb73028d06f49b91f0..6be2ca13c82fb099bcf6a769dba22e79a8e02896 100644 (file)
@@ -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               \
index f9f4738cc774ba9a503ae11766a9a57e8e028dd8..21abd08d36770a3c31c44550d4aa8291be4d7ad4 100644 (file)
@@ -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);
 
index d730f9a76b9bfa8a0611b31f01c21ea6d6ef6106..98fb255851e63dcaf949c46fdc6135950d8f715e 100644 (file)
@@ -19,7 +19,6 @@
 #include <gail/gailmenushell.h>
 #include <gail/gailmenuitem.h>
 #include <gail/gailnotebook.h>
-#include <gail/gailobject.h>
 #include <gail/gailpaned.h>
 #include <gail/gailprogressbar.h>
 #include <gail/gailradiobutton.h>
diff --git a/modules/other/gail/gailobject.c b/modules/other/gail/gailobject.c
deleted file mode 100644 (file)
index fe2f0e9..0000000
+++ /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 <gtk/gtk.h>
-#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 (file)
index 4aff2ee..0000000
+++ /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 <atk/atk.h>
-
-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__ */
index 0678f22e8ed68e90111572cd48e421a9adbe3638..61cd5917047622983c3443759a7fbbf6de2e2871 100644 (file)
@@ -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);
 }
 
index a1aa61c4a4427036e15e8560f75c6e002e2c1480..ef88708048e5d328024b3e8d10ac55e5c91a207c 100644 (file)
@@ -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);
     }
index a9b1222d25897b205e69753359c9fca38f9e9ec5..b1ca1e4072580085890efa735ba00b4a2ea36ecf 100644 (file)
@@ -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);
index cb6968e2201075c3029ecfe453b8420a5d3505b6..36a2c9783e0e96d9baaf7a1ba05bdbd136af6278 100644 (file)
@@ -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);
 }