]> Pileus Git - ~andy/gtk/commitdiff
Use G_DEFINE_TYPE[_WITH_CODE] instead of hand-coding the get_type functions. Bug...
authorChristian Persch <chpe@src.gnome.org>
Sun, 23 Dec 2007 12:24:59 +0000 (12:24 +0000)
committerChristian Persch <chpe@src.gnome.org>
Sun, 23 Dec 2007 12:24:59 +0000 (12:24 +0000)
svn path=/trunk/; revision=19227

60 files changed:
ChangeLog
modules/other/gail/gailadjustment.c
modules/other/gail/gailarrow.c
modules/other/gail/gailbooleancell.c
modules/other/gail/gailbox.c
modules/other/gail/gailbutton.c
modules/other/gail/gailcalendar.c
modules/other/gail/gailcell.c
modules/other/gail/gailcell.h
modules/other/gail/gailcellparent.c
modules/other/gail/gailcheckmenuitem.c
modules/other/gail/gailchecksubmenuitem.c
modules/other/gail/gailclist.c
modules/other/gail/gailclistcell.c
modules/other/gail/gailcombo.c
modules/other/gail/gailcombobox.c
modules/other/gail/gailcontainer.c
modules/other/gail/gailcontainercell.c
modules/other/gail/gailentry.c
modules/other/gail/gailexpander.c
modules/other/gail/gailframe.c
modules/other/gail/gailhtmlbox.c
modules/other/gail/gailhtmlboxblock.c
modules/other/gail/gailhtmlboxembedded.c
modules/other/gail/gailhtmlboxtext.c
modules/other/gail/gailimage.c
modules/other/gail/gailimagecell.c
modules/other/gail/gailitem.c
modules/other/gail/gaillabel.c
modules/other/gail/gaillist.c
modules/other/gail/gailmenu.c
modules/other/gail/gailmenuitem.c
modules/other/gail/gailmenushell.c
modules/other/gail/gailnotebook.c
modules/other/gail/gailnotebookpage.c
modules/other/gail/gailobject.c
modules/other/gail/gailoptionmenu.c
modules/other/gail/gailpaned.c
modules/other/gail/gailpixmap.c
modules/other/gail/gailprogressbar.c
modules/other/gail/gailradiobutton.c
modules/other/gail/gailradiomenuitem.c
modules/other/gail/gailradiosubmenuitem.c
modules/other/gail/gailrange.c
modules/other/gail/gailrenderercell.c
modules/other/gail/gailscale.c
modules/other/gail/gailscrollbar.c
modules/other/gail/gailscrolledwindow.c
modules/other/gail/gailseparator.c
modules/other/gail/gailspinbutton.c
modules/other/gail/gailstatusbar.c
modules/other/gail/gailsubmenuitem.c
modules/other/gail/gailtextcell.c
modules/other/gail/gailtextview.c
modules/other/gail/gailtogglebutton.c
modules/other/gail/gailtoplevel.c
modules/other/gail/gailtreeview.c
modules/other/gail/gailutil.c
modules/other/gail/gailwidget.c
modules/other/gail/gailwindow.c

index 7c179f57afdcc6297c04b7038611ffda7cdb8d19..521ec08875ee40f014eab7a5278584ffd9c31a38 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-22  Christian Persch  <chpe@gnome.org>
+
+       * module/other/gail/*.c: Use G_DEFINE_TYPE[_WITH_CODE] instead of
+       handwritten get_type functions. Bug #504661.
+
 2007-12-23  Xan Lopez  <xan@gnome.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_build_tree): pass correct argument
index 3669bd57e48f82716457f2645bcba2b9517eada5..0e1f58fce0a143ab2b32a6d3a4a7baf75126bb4a 100644 (file)
@@ -23,6 +23,8 @@
 
 static void     gail_adjustment_class_init        (GailAdjustmentClass *klass);
 
+static void     gail_adjustment_init              (GailAdjustment      *adjustment);
+
 static void     gail_adjustment_real_initialize   (AtkObject           *obj,
                                                     gpointer            data);
 
@@ -40,55 +42,22 @@ static gboolean      gail_adjustment_set_current_value (AtkValue            *obj,
 static void      gail_adjustment_destroyed         (GtkAdjustment       *adjustment,
                                                     GailAdjustment      *gail_adjustment);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_adjustment_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailAdjustmentClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_adjustment_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailAdjustment), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    static const GInterfaceInfo atk_value_info =
-    {
-        (GInterfaceInitFunc) atk_value_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-    };
-
-    type = g_type_register_static (ATK_TYPE_OBJECT,
-                                   "GailAdjustment", &tinfo, 0);
-
-    g_type_add_interface_static (type, ATK_TYPE_VALUE,
-                                 &atk_value_info);
-  }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailAdjustment, gail_adjustment, ATK_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
 
 static void     
 gail_adjustment_class_init (GailAdjustmentClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->initialize = gail_adjustment_real_initialize;
 }
 
+static void
+gail_adjustment_init (GailAdjustment *adjustment)
+{
+}
+
 AtkObject* 
 gail_adjustment_new (GtkAdjustment *adjustment)
 {
@@ -113,7 +82,7 @@ gail_adjustment_real_initialize (AtkObject *obj,
 {
   GtkAdjustment *adjustment;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_adjustment_parent_class)->initialize (obj, data);
 
   adjustment = GTK_ADJUSTMENT (data);
 
@@ -129,13 +98,10 @@ gail_adjustment_real_initialize (AtkObject *obj,
 static void     
 atk_value_interface_init (AtkValueIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_current_value = gail_adjustment_get_current_value;
   iface->get_maximum_value = gail_adjustment_get_maximum_value;
   iface->get_minimum_value = gail_adjustment_get_minimum_value;
   iface->set_current_value = gail_adjustment_set_current_value;
-
 }
 
 static void     
index c20cbc411ad1dd571db1e0c3112dfa16115e3281..5f712340fa1deb6c8d5e7bcaae09c239395fd77a 100644 (file)
@@ -20,8 +20,8 @@
 #include <gtk/gtk.h>
 #include "gailarrow.h"
 
-static void     gail_arrow_class_init          (GailArrowClass *klass);
-static void  gail_arrow_object_init            (GailArrow              *arrow);
+static void gail_arrow_class_init      (GailArrowClass *klass);
+static void gail_arrow_init            (GailArrow      *arrow);
 
 /* AtkImage */
 static void  atk_image_interface_init   (AtkImageIface  *iface);
@@ -32,44 +32,8 @@ static gboolean gail_arrow_set_image_description
                                         const gchar    *description);
 static void  gail_arrow_finalize       (GObject         *object);
 
-static GailWidgetClass* parent_class = NULL;
-
-GType
-gail_arrow_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailArrowClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_arrow_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailArrow), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) gail_arrow_object_init, /* instance init */
-      NULL /* value table */
-    };
-
-    static const GInterfaceInfo atk_image_info =
-    {
-        (GInterfaceInitFunc) atk_image_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-    };
-
-    type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                   "GailArrow", &tinfo, 0);
-
-    g_type_add_interface_static (type, ATK_TYPE_IMAGE,
-                                 &atk_image_info);
-  }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailArrow, gail_arrow, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
 
 static void     
 gail_arrow_class_init          (GailArrowClass *klass)
@@ -77,12 +41,10 @@ gail_arrow_class_init               (GailArrowClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
   gobject_class->finalize = gail_arrow_finalize;
-
-  parent_class = g_type_class_peek_parent (klass);
 }
 
 static void
-gail_arrow_object_init (GailArrow *arrow)
+gail_arrow_init (GailArrow *arrow)
 {
   arrow->image_description = NULL;
 }
@@ -107,8 +69,6 @@ gail_arrow_new (GtkWidget *widget)
 static void
 atk_image_interface_init (AtkImageIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_image_description = gail_arrow_get_image_description;
   iface->set_image_description = gail_arrow_set_image_description;
 }
@@ -123,10 +83,8 @@ gail_arrow_get_image_description (AtkImage       *obj)
   arrow = GAIL_ARROW (obj);
 
   return arrow->image_description;
-
 }
 
-
 static gboolean 
 gail_arrow_set_image_description (AtkImage       *obj,
                                   const gchar    *description)
@@ -160,5 +118,5 @@ gail_arrow_finalize (GObject      *object)
   GailArrow *arrow = GAIL_ARROW (object);
 
   g_free (arrow->image_description);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_arrow_parent_class)->finalize (object);
 }
index 40590bf822727a0ff3dca0010d06e47994020e4d..553fea76dc65979571a9371c878b4e361d339540 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailbooleancell.h"
 
 static void      gail_boolean_cell_class_init          (GailBooleanCellClass *klass);
-
+static void      gail_boolean_cell_init                (GailBooleanCell *cell);
 /* Misc */
 
 static gboolean gail_boolean_cell_update_cache         (GailRendererCell     *cell,
@@ -33,33 +33,8 @@ gchar *gail_boolean_cell_property_list[] = {
   NULL
 };
 
-GType
-gail_boolean_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailBooleanCellClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_boolean_cell_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailBooleanCell), /* instance size */
-        0, /* nb preallocs */
-        NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_RENDERER_CELL,
-                                     "GailBooleanCell", &tinfo, 0);
-      gail_cell_type_add_action_interface (type);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailBooleanCell, gail_boolean_cell, GAIL_TYPE_RENDERER_CELL,
+                         gail_cell_type_add_action_interface (g_define_type_id))
 
 static void 
 gail_boolean_cell_class_init (GailBooleanCellClass *klass)
@@ -70,6 +45,11 @@ gail_boolean_cell_class_init (GailBooleanCellClass *klass)
   renderer_cell_class->property_list = gail_boolean_cell_property_list;
 }
 
+static void
+gail_boolean_cell_init (GailBooleanCell *cell)
+{
+}
+
 AtkObject* 
 gail_boolean_cell_new (void)
 {
index 08b3ef865af659d9f15d35d5e5d0c8631a748f4f..2c03db0e057fbf40de605c8ca9413197ca85e6db 100644 (file)
 #include <gtk/gtk.h>
 #include "gailbox.h"
 
-static void         gail_box_class_init            (GailBoxClass  *klass); 
+static void         gail_box_class_init            (GailBoxClass  *klass);
+static void         gail_box_init                  (GailBox       *box);
 static AtkStateSet* gail_box_ref_state_set         (AtkObject     *accessible);
 
-static GailContainerClass *parent_class = NULL;
-
-GType
-gail_box_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailBoxClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_box_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailBox), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                   "GailBox", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailBox, gail_box, GAIL_TYPE_CONTAINER)
 
 static void
 gail_box_class_init (GailBoxClass *klass)
 {
   AtkObjectClass  *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_box_ref_state_set;
 }
 
+static void
+gail_box_init (GailBox *box)
+{
+}
+
 AtkObject* 
 gail_box_new (GtkWidget *widget)
 {
@@ -86,7 +63,7 @@ gail_box_ref_state_set (AtkObject *accessible)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_box_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
 
   if (widget == NULL)
index 3ac2ea497f96859b0a62f9428071be516014e982..04cfefcf800e1fc79e2bd2dfd879f549c519d05e 100644 (file)
@@ -26,7 +26,7 @@
 #define GAIL_BUTTON_ATTACHED_MENUS "gtk-attached-menus"
 
 static void                  gail_button_class_init       (GailButtonClass *klass);
-static void                  gail_button_object_init      (GailButton      *button);
+static void                  gail_button_init             (GailButton      *button);
 
 static G_CONST_RETURN gchar* gail_button_get_name         (AtkObject       *obj);
 static gint                  gail_button_get_n_children   (AtkObject       *obj);
@@ -142,64 +142,10 @@ static gint                  get_n_attached_menus       (GtkWidget      *widget)
 static GtkWidget*            get_nth_attached_menu      (GtkWidget      *widget,
                                                          gint           index);
 
-static GailContainer* parent_class = NULL;
-
-GType
-gail_button_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailButtonClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_button_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailButton), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_button_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_image_info =
-      {
-        (GInterfaceInitFunc) atk_image_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailButton", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-      g_type_add_interface_static (type, ATK_TYPE_IMAGE,
-                                   &atk_image_info);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailButton, gail_button, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_button_class_init (GailButtonClass *klass)
@@ -214,8 +160,6 @@ gail_button_class_init (GailButtonClass *klass)
 
   gobject_class->finalize = gail_button_finalize;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_name = gail_button_get_name;
   class->get_n_children = gail_button_get_n_children;
   class->ref_child = gail_button_ref_child;
@@ -227,7 +171,7 @@ gail_button_class_init (GailButtonClass *klass)
 }
 
 static void
-gail_button_object_init (GailButton      *button)
+gail_button_init (GailButton *button)
 {
   button->click_description = NULL;
   button->press_description = NULL;
@@ -261,7 +205,7 @@ gail_button_get_name (AtkObject *obj)
 
   g_return_val_if_fail (GAIL_IS_BUTTON (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_button_parent_class)->get_name (obj);
   if (name == NULL)
     {
       /*
@@ -335,7 +279,7 @@ gail_button_real_initialize (AtkObject *obj,
   GtkWidget  *label;
   GtkWidget  *widget;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_button_parent_class)->initialize (obj, data);
 
   button->state = GTK_STATE_NORMAL;
 
@@ -506,8 +450,6 @@ gail_button_real_add_gtk (GtkContainer *container,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_button_do_action;
   iface->get_n_actions = gail_button_get_n_actions;
   iface->get_description = gail_button_get_description;
@@ -922,7 +864,7 @@ gail_button_ref_state_set (AtkObject *obj)
   GtkWidget *widget;
   GtkButton *button;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_button_parent_class)->ref_state_set (obj);
   widget = GTK_ACCESSIBLE (obj)->widget;
 
   if (widget == NULL)
@@ -977,8 +919,6 @@ gail_button_released_leave_handler (GtkWidget       *widget)
 static void
 atk_image_interface_init (AtkImageIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_image_description = gail_button_get_image_description;
   iface->get_image_position = gail_button_get_image_position;
   iface->get_image_size = gail_button_get_image_size;
@@ -1142,7 +1082,6 @@ gail_button_set_image_description (AtkImage    *image,
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_button_get_text;
   iface->get_character_at_offset = gail_button_get_character_at_offset;
   iface->get_text_before_offset = gail_button_get_text_before_offset;
@@ -1497,7 +1436,7 @@ gail_button_finalize (GObject            *object)
     {
       g_object_unref (button->textutil);
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_button_parent_class)->finalize (object);
 }
 
 static GtkWidget*
index 7d74f54e2b630d1bc25b804bf47d80a405bd3ca5..efc91646c041685a7376124ecc7dc9353a5955f7 100644 (file)
 #include "gailcalendar.h"
 
 static void         gail_calendar_class_init          (GailCalendarClass *klass);
+static void         gail_calendar_init                (GailCalendar      *calendar);
 
-GType
-gail_calendar_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailCalendarClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_calendar_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailCalendar), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
+G_DEFINE_TYPE (GailCalendar, gail_calendar, GAIL_TYPE_WIDGET)
 
-    type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                   "GailCalendar", &tinfo, 0);
-  }
-  return type;
+static void
+gail_calendar_class_init (GailCalendarClass *klass)
+{
 }
 
 static void
-gail_calendar_class_init (GailCalendarClass *klass)
+gail_calendar_init (GailCalendar *calendar)
 {
 }
 
index f9f0ab4d46241474409415b7432bc3a56d69f218..0bc72bd6d3ca29d63d1366e477fb6481b9a580ce 100644 (file)
@@ -27,7 +27,7 @@ static void       gail_cell_class_init          (GailCellClass       *klass);
 static void         gail_cell_destroyed           (GtkWidget           *widget,
                                                    GailCell            *cell);
 
-static void         gail_cell_object_init         (GailCell            *cell);
+static void         gail_cell_init                (GailCell            *cell);
 static void         gail_cell_object_finalize     (GObject             *cell);
 static AtkStateSet* gail_cell_ref_state_set       (AtkObject           *obj);
 static gint         gail_cell_get_index_in_parent (AtkObject           *obj);
@@ -72,45 +72,8 @@ static void         gail_cell_get_extents         (AtkComponent        *componen
                                                    AtkCoordType        coord_type);
 static gboolean     gail_cell_grab_focus         (AtkComponent        *component);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCellClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_cell_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCell), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_cell_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) atk_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-
-      type = g_type_register_static (ATK_TYPE_OBJECT,
-                                     "GailCell", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailCell, gail_cell, ATK_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
 
 static void     
 gail_cell_class_init (GailCellClass *klass)
@@ -118,7 +81,6 @@ gail_cell_class_init (GailCellClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
   g_object_class->finalize = gail_cell_object_finalize;
 
   class->get_index_in_parent = gail_cell_get_index_in_parent;
@@ -126,10 +88,10 @@ gail_cell_class_init (GailCellClass *klass)
 }
 
 void 
-gail_cell_init (GailCell  *cell,
-                GtkWidget *widget,
-                AtkObject *parent,
-                gint      index)
+gail_cell_initialise (GailCell  *cell,
+                      GtkWidget *widget,
+                      AtkObject *parent,
+                      gint      index)
 {
   g_return_if_fail (GAIL_IS_CELL (cell));
   g_return_if_fail (GTK_IS_WIDGET (widget));
@@ -156,7 +118,7 @@ gail_cell_destroyed (GtkWidget       *widget,
 }
 
 static void
-gail_cell_object_init (GailCell *cell)
+gail_cell_init (GailCell *cell)
 {
   cell->state_set = atk_state_set_new ();
   cell->widget = NULL;
@@ -206,7 +168,7 @@ gail_cell_object_finalize (GObject *obj)
         }
       g_object_unref (relation_set);
     }
-  G_OBJECT_CLASS (parent_class)->finalize (obj);
+  G_OBJECT_CLASS (gail_cell_parent_class)->finalize (obj);
 }
 
 static AtkStateSet *
@@ -318,8 +280,6 @@ gail_cell_get_index_in_parent (AtkObject *obj)
 static void
 gail_cell_atk_action_interface_init (AtkActionIface *iface)
 {
-  g_assert (iface != NULL);
-
   iface->get_n_actions = gail_cell_action_get_n_actions;
   iface->do_action = gail_cell_action_do_action;
   iface->get_name = gail_cell_action_get_name;
@@ -331,7 +291,7 @@ gail_cell_atk_action_interface_init (AtkActionIface *iface)
 void
 gail_cell_type_add_action_interface (GType type)
 {
-  static const GInterfaceInfo atk_action_info =
+  const GInterfaceInfo atk_action_info =
   {
     (GInterfaceInitFunc) gail_cell_atk_action_interface_init,
     (GInterfaceFinalizeFunc) NULL,
@@ -529,8 +489,6 @@ idle_do_action (gpointer data)
 static void
 atk_component_interface_init (AtkComponentIface *iface)
 {
-  g_assert (iface != NULL);
-
   iface->get_extents = gail_cell_get_extents;
   iface->grab_focus = gail_cell_grab_focus;
 }
index 7329c89864941aa7013f2d5b3833bc268ffc51c8..9e3bae55d91e7b7642e4abf4babb26bef926e725 100644 (file)
@@ -71,7 +71,7 @@ struct _ActionInfo {
 };
 
 
-void      gail_cell_init                 (GailCell        *cell,
+void      gail_cell_initialise           (GailCell        *cell,
                                           GtkWidget       *widget, 
                                           AtkObject       *parent,
                                          gint            index);
index 06481c65b49b24fb7bcd7c06bf7fddbf36494f10..6099c0bcdedd1f0e8a7932019f576c0d0c1dae3b 100644 (file)
 GType
 gail_cell_parent_get_type (void)
 {
-  static GType type = 0;
+  static volatile gsize g_define_type_id__volatile = 0;
 
-  if (!type) 
+  if (g_once_init_enter (&g_define_type_id__volatile))
     {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCellParentIface),
-        (GBaseInitFunc) NULL,
-        (GBaseFinalizeFunc) NULL,
-
-      };
-
-      type = g_type_register_static (G_TYPE_INTERFACE, "GailCellParent", &tinfo, 0);
+      GType g_define_type_id =
+        g_type_register_static_simple (G_TYPE_INTERFACE,
+                                       "GailCellParent",
+                                       sizeof (GailCellParentIface),
+                                       NULL,
+                                       0,
+                                       NULL,
+                                       0);
+
+      g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
     }
 
-  return type;
+  return g_define_type_id__volatile;
 }
 
 /**
index 55164f6f895e6bb6bb00e74e944523b7b8e4db76..9163d9b11731c82884ab3b438caa8b6cd743da9b 100644 (file)
@@ -24,6 +24,8 @@
 
 static void      gail_check_menu_item_class_init        (GailCheckMenuItemClass *klass);
 
+static void      gail_check_menu_item_init              (GailCheckMenuItem      *item);
+
 static void      gail_check_menu_item_toggled_gtk       (GtkWidget              *widget);
 
 static void      gail_check_menu_item_real_notify_gtk   (GObject                *obj,
@@ -34,35 +36,7 @@ static void      gail_check_menu_item_real_initialize   (AtkObject
 
 static AtkStateSet* gail_check_menu_item_ref_state_set  (AtkObject              *accessible);
 
-static GailMenuItemClass *parent_class = NULL;
-
-GType
-gail_check_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCheckMenuItemClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_check_menu_item_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCheckMenuItem), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_MENU_ITEM,
-                                     "GailCheckMenuItem", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailCheckMenuItem, gail_check_menu_item, GAIL_TYPE_MENU_ITEM)
 
 static void
 gail_check_menu_item_class_init (GailCheckMenuItemClass *klass)
@@ -73,12 +47,15 @@ gail_check_menu_item_class_init (GailCheckMenuItemClass *klass)
   widget_class = (GailWidgetClass*)klass;
   widget_class->notify_gtk = gail_check_menu_item_real_notify_gtk;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_check_menu_item_ref_state_set;
   class->initialize = gail_check_menu_item_real_initialize;
 }
 
+static void
+gail_check_menu_item_init (GailCheckMenuItem *item)
+{
+}
+
 AtkObject* 
 gail_check_menu_item_new (GtkWidget *widget)
 {
@@ -102,7 +79,7 @@ static void
 gail_check_menu_item_real_initialize (AtkObject *obj,
                                       gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_check_menu_item_parent_class)->initialize (obj, data);
 
   g_signal_connect (data,
                     "toggled",
@@ -132,7 +109,7 @@ gail_check_menu_item_ref_state_set (AtkObject *accessible)
   GtkCheckMenuItem *check_menu_item;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_check_menu_item_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
  
   if (widget == NULL)
@@ -162,5 +139,5 @@ gail_check_menu_item_real_notify_gtk (GObject           *obj,
     atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED,
                        !gtk_check_menu_item_get_inconsistent (check_menu_item));
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_check_menu_item_parent_class)->notify_gtk (obj, pspec);
 }
index d011f77a9b7c3dfd83c1d9460786b027cb93de27..b894e6f237544b1cc2dd942b304f99c37cd8a043 100644 (file)
@@ -23,6 +23,8 @@
 
 static void      gail_check_sub_menu_item_class_init        (GailCheckSubMenuItemClass *klass);
 
+static void      gail_check_sub_menu_item_init              (GailCheckSubMenuItem   *item);
+
 static void      gail_check_sub_menu_item_toggled_gtk       (GtkWidget              *widget);
 
 static void      gail_check_sub_menu_item_real_notify_gtk   (GObject                *obj,
@@ -33,35 +35,7 @@ static void      gail_check_sub_menu_item_real_initialize   (AtkObject
 
 static AtkStateSet* gail_check_sub_menu_item_ref_state_set  (AtkObject              *accessible);
 
-static GailSubMenuItemClass *parent_class = NULL;
-
-GType
-gail_check_sub_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCheckSubMenuItemClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_check_sub_menu_item_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCheckSubMenuItem), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_SUB_MENU_ITEM,
-                                     "GailCheckSubMenuItem", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailCheckSubMenuItem, gail_check_sub_menu_item, GAIL_TYPE_SUB_MENU_ITEM)
 
 static void
 gail_check_sub_menu_item_class_init (GailCheckSubMenuItemClass *klass)
@@ -72,12 +46,15 @@ gail_check_sub_menu_item_class_init (GailCheckSubMenuItemClass *klass)
   widget_class = (GailWidgetClass*)klass;
   widget_class->notify_gtk = gail_check_sub_menu_item_real_notify_gtk;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_check_sub_menu_item_ref_state_set;
   class->initialize = gail_check_sub_menu_item_real_initialize;
 }
 
+static void
+gail_check_sub_menu_item_init (GailCheckSubMenuItem *item)
+{
+}
+
 AtkObject* 
 gail_check_sub_menu_item_new (GtkWidget *widget)
 {
@@ -98,7 +75,7 @@ static void
 gail_check_sub_menu_item_real_initialize (AtkObject *obj,
                                           gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_check_sub_menu_item_parent_class)->initialize (obj, data);
 
   g_signal_connect (data,
                     "toggled",
@@ -128,7 +105,7 @@ gail_check_sub_menu_item_ref_state_set (AtkObject *accessible)
   GtkCheckMenuItem *check_menu_item;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_check_sub_menu_item_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
  
   if (widget == NULL)
@@ -158,5 +135,5 @@ gail_check_sub_menu_item_real_notify_gtk (GObject           *obj,
     atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED,
                        !gtk_check_menu_item_get_inconsistent (check_menu_item));
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_check_sub_menu_item_parent_class)->notify_gtk (obj, pspec);
 }
index 8639ca1e038ce8628a885f107d97223135ad89a5..3e1e81d5497fb20362eef41cb453420a6262a17f 100644 (file)
@@ -105,6 +105,7 @@ typedef struct _GailCListCellData   GailCListCellData;
 
 
 static void       gail_clist_class_init            (GailCListClass    *klass);
+static void       gail_clist_init                  (GailCList         *clist);
 static void       gail_clist_real_initialize       (AtkObject         *obj,
                                                     gpointer          data);
 static void       gail_clist_finalize              (GObject           *object);
@@ -260,61 +261,10 @@ struct _GailCListCellData
   int column_number;
 };
 
-static gpointer parent_class = NULL;
-
-GType
-gail_clist_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCListClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_clist_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCList), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_table_info =
-      {
-        (GInterfaceInitFunc) atk_table_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_selection_info =
-      {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo gail_cell_parent_info =
-      {
-        (GInterfaceInitFunc) gail_cell_parent_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailCList", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_TABLE,
-                                   &atk_table_info);
-      g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-      g_type_add_interface_static (type, GAIL_TYPE_CELL_PARENT,
-                                   &gail_cell_parent_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailCList, gail_clist, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE, atk_table_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init)
+                         G_IMPLEMENT_INTERFACE (GAIL_TYPE_CELL_PARENT, gail_cell_parent_interface_init))
 
 static void
 gail_clist_class_init (GailCListClass *klass)
@@ -322,8 +272,6 @@ gail_clist_class_init (GailCListClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
   class->get_n_children = gail_clist_get_n_children;
   class->ref_child = gail_clist_ref_child;
   class->ref_state_set = gail_clist_ref_state_set;
@@ -332,6 +280,11 @@ gail_clist_class_init (GailCListClass *klass)
   gobject_class->finalize = gail_clist_finalize;
 }
 
+static void
+gail_clist_init (GailCList *clist)
+{
+}
+
 AtkObject* 
 gail_clist_new (GtkWidget *widget)
 {
@@ -358,7 +311,7 @@ gail_clist_real_initialize (AtkObject *obj,
   GtkCList *gtk_clist;
   gint i;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_clist_parent_class)->initialize (obj, data);
 
   clist = GAIL_CLIST (obj);
 
@@ -457,7 +410,7 @@ gail_clist_finalize (GObject            *object)
       g_list_free (clist->cell_data);
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_clist_parent_class)->finalize (object);
 }
 
 static gint
@@ -513,7 +466,7 @@ gail_clist_ref_state_set (AtkObject *obj)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_clist_parent_class)->ref_state_set (obj);
   widget = GTK_ACCESSIBLE (obj)->widget;
 
   if (widget != NULL)
@@ -525,8 +478,6 @@ gail_clist_ref_state_set (AtkObject *obj)
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-  
   iface->clear_selection = gail_clist_clear_selection;
   iface->ref_selection = gail_clist_ref_selection;
   iface->get_selection_count = gail_clist_get_selection_count;
@@ -623,7 +574,6 @@ gail_clist_select_all_selection (AtkSelection   *selection)
 static void
 atk_table_interface_init (AtkTableIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->ref_at = gail_clist_ref_at;
   iface->get_index_at = gail_clist_get_index_at;
   iface->get_column_at_index = gail_clist_get_column_at_index;
@@ -732,8 +682,8 @@ gail_clist_ref_at_actual (AtkTable      *table,
 
       g_return_val_if_fail (ATK_IS_OBJECT (table), NULL);
 
-      gail_cell_init (cell, widget, ATK_OBJECT (table),
-                      index);
+      gail_cell_initialise (cell, widget, ATK_OBJECT (table),
+                            index);
       /*
        * Store the cell in a cache
        */
@@ -1185,8 +1135,6 @@ gail_clist_set_summary (AtkTable      *table,
 
 static void gail_cell_parent_interface_init (GailCellParentIface *iface)
 {
-  g_return_if_fail (iface);
-
   iface->get_cell_extents = gail_clist_get_cell_extents;
   iface->get_cell_area = gail_clist_get_cell_area;
 }
index 09a6b4a843b90bc2c26fbfffc12fec033b23c20b..814497058d7987657db093d4d4e5f9d21e2ab21c 100644 (file)
 #include "gailclistcell.h"
 
 static void     gail_clist_cell_class_init        (GailCListCellClass *klass);
+static void     gail_clist_cell_init              (GailCListCell      *cell);
 
 static G_CONST_RETURN gchar* gail_clist_cell_get_name (AtkObject *accessible);
 
-GType
-gail_clist_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailCListCellClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_clist_cell_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCListCell), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CELL,
-                                     "GailCListCell", &tinfo, 0);
-    }
-  return type;
-}
+G_DEFINE_TYPE (GailCListCell, gail_clist_cell, GAIL_TYPE_CELL)
 
 static void     
 gail_clist_cell_class_init (GailCListCellClass *klass)
@@ -59,6 +35,11 @@ gail_clist_cell_class_init (GailCListCellClass *klass)
   class->get_name = gail_clist_cell_get_name;
 }
 
+static void
+gail_clist_cell_init (GailCListCell *cell)
+{
+}
+
 AtkObject* 
 gail_clist_cell_new (void)
 {
index c99a0f6b1426628d377b295e61883f4a4b3f8344..974d12dd234a5ecfb6225037005aa0714bd01ce4 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailcombo.h"
 
 static void         gail_combo_class_init              (GailComboClass *klass);
-static void         gail_combo_object_init             (GailCombo      *combo);
+static void         gail_combo_init                    (GailCombo      *combo);
 static void         gail_combo_real_initialize         (AtkObject      *obj,
                                                         gpointer       data);
 
@@ -63,53 +63,9 @@ static gint         _gail_combo_button_release         (gpointer       data);
 static gint         _gail_combo_popup_release          (gpointer       data);
 
 
-static gpointer parent_class = NULL;
-
-GType
-gail_combo_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailComboClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_combo_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailCombo), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_combo_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-      static const GInterfaceInfo atk_selection_info =
-      {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailCombo", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-      g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailCombo, gail_combo, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
 static void
 gail_combo_class_init (GailComboClass *klass)
@@ -119,15 +75,13 @@ gail_combo_class_init (GailComboClass *klass)
 
   gobject_class->finalize = gail_combo_finalize;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_n_children = gail_combo_get_n_children;
   class->ref_child = gail_combo_ref_child;
   class->initialize = gail_combo_real_initialize;
 }
 
 static void
-gail_combo_object_init (GailCombo      *combo)
+gail_combo_init (GailCombo      *combo)
 {
   combo->press_description = NULL;
   combo->old_selection = NULL;
@@ -160,7 +114,7 @@ gail_combo_real_initialize (AtkObject *obj,
   GList *slist; 
   GailCombo *gail_combo;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_combo_parent_class)->initialize (obj, data);
 
   combo = GTK_COMBO (data);
 
@@ -304,8 +258,6 @@ gail_combo_ref_child (AtkObject *obj,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_combo_do_action;
   iface->get_n_actions = gail_combo_get_n_actions;
   iface->get_description = gail_combo_get_description;
@@ -441,8 +393,6 @@ gail_combo_get_name (AtkAction *action,
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->add_selection = gail_combo_add_selection;
   iface->clear_selection = gail_combo_clear_selection;
   iface->ref_selection = gail_combo_ref_selection;
@@ -697,5 +647,5 @@ gail_combo_finalize (GObject            *object)
       g_source_remove (combo->select_idle_handler);
       combo->select_idle_handler = 0;       
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_combo_parent_class)->finalize (object);
 }
index 6083e22fb62cdb531aba1fbf56c8018120140784..0a52fa8a9a0b6cc04ce55efb54060ff196e766e7 100644 (file)
 #include <gdk/gdkkeysyms.h>
 #include "gailcombobox.h"
 
-#if GTK_MINOR_VERSION > 4
-#define GAIL_COMBOX_BOX_A11y_COMPLETE
-#endif
-
 static void         gail_combo_box_class_init              (GailComboBoxClass *klass);
-static void         gail_combo_box_object_init             (GailComboBox      *combo_box);
+static void         gail_combo_box_init                    (GailComboBox      *combo_box);
 static void         gail_combo_box_real_initialize         (AtkObject      *obj,
                                                             gpointer       data);
 
@@ -37,14 +33,12 @@ static gint         gail_combo_box_get_n_children          (AtkObject      *obj)
 static AtkObject*   gail_combo_box_ref_child               (AtkObject      *obj,
                                                             gint           i);
 static void         gail_combo_box_finalize                (GObject        *object);
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
 static void         atk_action_interface_init              (AtkActionIface *iface);
 
 static gboolean     gail_combo_box_do_action               (AtkAction      *action,
                                                             gint           i);
 static gboolean     idle_do_action                         (gpointer       data);
-static gint         gail_combo_box_get_n_actions           (AtkAction      *action)
-;
+static gint         gail_combo_box_get_n_actions           (AtkAction      *action);
 static G_CONST_RETURN gchar* gail_combo_box_get_description(AtkAction      *action,
                                                             gint           i);
 static G_CONST_RETURN gchar* gail_combo_box_get_keybinding   (AtkAction       *action,
@@ -54,8 +48,6 @@ static G_CONST_RETURN gchar* gail_combo_box_action_get_name(AtkAction      *acti
 static gboolean              gail_combo_box_set_description(AtkAction      *action,
                                                             gint           i,
                                                             const gchar    *desc);
-#endif
-
 static void         atk_selection_interface_init           (AtkSelectionIface *iface);
 static gboolean     gail_combo_box_add_selection           (AtkSelection   *selection,
                                                             gint           i);
@@ -68,57 +60,9 @@ static gboolean     gail_combo_box_is_child_selected       (AtkSelection   *sele
 static gboolean     gail_combo_box_remove_selection        (AtkSelection   *selection,
                                                             gint           i);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_combo_box_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailComboBoxClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_combo_box_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailComboBox), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_combo_box_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-#endif
-      static const GInterfaceInfo atk_selection_info =
-      {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailComboBox", &tinfo, 0);
-
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-#endif
-      g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailComboBox, gail_combo_box, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
 static void
 gail_combo_box_class_init (GailComboBoxClass *klass)
@@ -128,8 +72,6 @@ gail_combo_box_class_init (GailComboBoxClass *klass)
 
   gobject_class->finalize = gail_combo_box_finalize;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_name = gail_combo_box_get_name;
   class->get_n_children = gail_combo_box_get_n_children;
   class->ref_child = gail_combo_box_ref_child;
@@ -137,7 +79,7 @@ gail_combo_box_class_init (GailComboBoxClass *klass)
 }
 
 static void
-gail_combo_box_object_init (GailComboBox      *combo_box)
+gail_combo_box_init (GailComboBox      *combo_box)
 {
   combo_box->press_description = NULL;
   combo_box->press_keybinding = NULL;
@@ -168,11 +110,9 @@ gail_combo_box_real_initialize (AtkObject *obj,
 {
   GtkComboBox *combo_box;
   GailComboBox *gail_combo_box;
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   AtkObject *popup;
-#endif
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_combo_box_parent_class)->initialize (obj, data);
 
   combo_box = GTK_COMBO_BOX (data);
 
@@ -184,7 +124,6 @@ gail_combo_box_real_initialize (AtkObject *obj,
                     NULL);
   gail_combo_box->old_selection = gtk_combo_box_get_active (combo_box);
 
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   popup = gtk_combo_box_get_popup_accessible (combo_box);
   if (popup)
     {
@@ -193,7 +132,6 @@ gail_combo_box_real_initialize (AtkObject *obj,
     }
   if (GTK_IS_COMBO_BOX_ENTRY (combo_box))
     atk_object_set_parent (gtk_widget_get_accessible (gtk_bin_get_child (GTK_BIN (combo_box))), obj);
-#endif
 
   obj->role = ATK_ROLE_COMBO_BOX;
 }
@@ -232,7 +170,7 @@ gail_combo_box_get_name (AtkObject *obj)
 
   g_return_val_if_fail (GAIL_IS_COMBO_BOX (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_combo_box_parent_class)->get_name (obj);
   if (name)
     return name;
 
@@ -288,11 +226,9 @@ gail_combo_box_get_n_children (AtkObject* obj)
      */
     return 0;
 
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   n_children++;
   if (GTK_IS_COMBO_BOX_ENTRY (widget))
     n_children ++;
-#endif
 
   return n_children;
 }
@@ -302,10 +238,8 @@ gail_combo_box_ref_child (AtkObject *obj,
                           gint      i)
 {
   GtkWidget *widget;
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   AtkObject *child;
   GailComboBox *box;
-#endif
 
   g_return_val_if_fail (GAIL_IS_COMBO_BOX (obj), NULL);
 
@@ -317,7 +251,6 @@ gail_combo_box_ref_child (AtkObject *obj,
      */
     return NULL;
 
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   if (i == 0)
     {
       child = gtk_combo_box_get_popup_accessible (GTK_COMBO_BOX (widget));
@@ -337,17 +270,11 @@ gail_combo_box_ref_child (AtkObject *obj,
       return NULL;
     }
   return g_object_ref (child);
-#else
-  return NULL;
-#endif
 }
 
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_combo_box_do_action;
   iface->get_n_actions = gail_combo_box_get_n_actions;
   iface->get_description = gail_combo_box_get_description;
@@ -519,13 +446,10 @@ gail_combo_box_set_description (AtkAction   *action,
   else
     return FALSE;
 }
-#endif
 
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->add_selection = gail_combo_box_add_selection;
   iface->clear_selection = gail_combo_box_clear_selection;
   iface->ref_selection = gail_combo_box_ref_selection;
@@ -583,10 +507,8 @@ gail_combo_box_ref_selection (AtkSelection *selection,
 {
   GtkComboBox *combo_box;
   GtkWidget *widget;
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   AtkObject *obj;
   gint index;
-#endif
 
   widget = GTK_ACCESSIBLE (selection)->widget;
   if (widget == NULL)
@@ -603,13 +525,9 @@ gail_combo_box_ref_selection (AtkSelection *selection,
   if (i != 0)
     return NULL;
 
-#ifdef GAIL_COMBOX_BOX_A11y_COMPLETE
   obj = gtk_combo_box_get_popup_accessible (combo_box);
   index = gtk_combo_box_get_active (combo_box);
   return atk_object_ref_accessible_child (obj, index);
-#else
-  return NULL;
-#endif
 }
 
 static gint
@@ -675,5 +593,5 @@ gail_combo_box_finalize (GObject *object)
       g_source_remove (combo_box->action_idle_handler);
       combo_box->action_idle_handler = 0;
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_combo_box_parent_class)->finalize (object);
 }
index 23af9124c40c01510b0493df3bf356ac91659ac7..bc1e3b6620adeaade980f87917ad75162085387e 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailcontainer.h"
 
 static void         gail_container_class_init          (GailContainerClass *klass);
-static void         gail_container_object_init         (GailContainer      *container);
+static void         gail_container_init                (GailContainer      *container);
 
 static gint         gail_container_get_n_children      (AtkObject          *obj);
 static AtkObject*   gail_container_ref_child           (AtkObject          *obj,
@@ -44,35 +44,7 @@ static void          gail_container_real_initialize    (AtkObject          *obj,
 
 static void          gail_container_finalize           (GObject            *object);
 
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_container_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailContainerClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_container_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailContainer), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_container_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailContainer", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailContainer, gail_container, GAIL_TYPE_WIDGET)
 
 static void
 gail_container_class_init (GailContainerClass *klass)
@@ -80,8 +52,6 @@ gail_container_class_init (GailContainerClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   gobject_class->finalize = gail_container_finalize;
 
   class->get_n_children = gail_container_get_n_children;
@@ -93,7 +63,7 @@ gail_container_class_init (GailContainerClass *klass)
 }
 
 static void
-gail_container_object_init (GailContainer      *container)
+gail_container_init (GailContainer      *container)
 {
   container->children = NULL;
 }
@@ -259,7 +229,7 @@ gail_container_real_initialize (AtkObject *obj,
   GailContainer *container = GAIL_CONTAINER (obj);
   guint handler_id;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_container_parent_class)->initialize (obj, data);
 
   container->children = gtk_container_get_children (GTK_CONTAINER (data));
 
@@ -294,5 +264,5 @@ gail_container_finalize (GObject *object)
   GailContainer *container = GAIL_CONTAINER (object);
 
   g_list_free (container->children);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_container_parent_class)->finalize (object);
 }
index 430ca75bb262624ca4c724c0b5b33cfcf8f98f2b..7fd38bd675bc7bca61fbd3c4d1aafa7e0f4d393a 100644 (file)
@@ -21,6 +21,7 @@
 #include "gailcontainercell.h"
 
 static void       gail_container_cell_class_init          (GailContainerCellClass *klass);
+static void       gail_container_cell_init                (GailContainerCell   *cell);
 static void       gail_container_cell_finalize            (GObject             *obj);
 
 
@@ -34,34 +35,7 @@ static gint       gail_container_cell_get_n_children      (AtkObject *obj);
 static AtkObject* gail_container_cell_ref_child           (AtkObject *obj,
                                                            gint      child);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_container_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailContainerCellClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_container_cell_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailContainerCell), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CELL,
-                                   "GailContainerCell", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailContainerCell, gail_container_cell, GAIL_TYPE_CELL)
 
 static void 
 gail_container_cell_class_init (GailContainerCellClass *klass)
@@ -69,13 +43,16 @@ gail_container_cell_class_init (GailContainerCellClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
   GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
   g_object_class->finalize = gail_container_cell_finalize;
 
   class->get_n_children = gail_container_cell_get_n_children;
   class->ref_child = gail_container_cell_ref_child;
 }
 
+static void
+gail_container_cell_init (GailContainerCell   *cell)
+{
+}
 
 GailContainerCell * 
 gail_container_cell_new (void)
@@ -111,7 +88,7 @@ gail_container_cell_finalize (GObject *obj)
   }
   g_list_free (container->children);
   
-  G_OBJECT_CLASS (parent_class)->finalize (obj);
+  G_OBJECT_CLASS (gail_container_cell_parent_class)->finalize (obj);
 }
 
 
index e7fa3dbb22f3d78db8c434c376ab853be4ffa514..0b817ea1b33ceb547fb9eb377f9da23f9d423bba 100644 (file)
@@ -26,7 +26,7 @@
 #include <libgail-util/gailmisc.h>
 
 static void       gail_entry_class_init            (GailEntryClass       *klass);
-static void       gail_entry_object_init           (GailEntry            *entry);
+static void       gail_entry_init                  (GailEntry            *entry);
 static void      gail_entry_real_initialize       (AtkObject            *obj,
                                                     gpointer             data);
 static void       text_setup                       (GailEntry            *entry,
@@ -158,8 +158,6 @@ static gboolean              gail_entry_set_description  (AtkAction       *actio
                                                           gint            i,
                                                           const gchar     *desc);
 
-static GailWidgetClass *parent_class = NULL;
-
 typedef struct _GailEntryPaste                 GailEntryPaste;
 
 struct _GailEntryPaste
@@ -168,59 +166,10 @@ struct _GailEntryPaste
   gint position;
 };
 
-GType
-gail_entry_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailEntryClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_entry_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailEntry), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_entry_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_editable_text_info =
-      {
-        (GInterfaceInitFunc) atk_editable_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailEntry", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_EDITABLE_TEXT,
-                                   &atk_editable_text_info);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailEntry, gail_entry, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
 
 static void
 gail_entry_class_init (GailEntryClass *klass)
@@ -231,8 +180,6 @@ gail_entry_class_init (GailEntryClass *klass)
 
   widget_class = (GailWidgetClass*)klass;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   gobject_class->finalize = gail_entry_finalize;
 
   class->ref_state_set = gail_entry_ref_state_set;
@@ -243,7 +190,7 @@ gail_entry_class_init (GailEntryClass *klass)
 }
 
 static void
-gail_entry_object_init (GailEntry *entry)
+gail_entry_init (GailEntry *entry)
 {
   entry->textutil = NULL;
   entry->signal_name_insert = NULL;
@@ -261,7 +208,7 @@ gail_entry_real_initialize (AtkObject *obj,
   GtkEntry *entry;
   GailEntry *gail_entry;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_entry_parent_class)->initialize (obj, data);
 
   gail_entry = GAIL_ENTRY (obj);
   gail_entry->textutil = gail_text_util_new ();
@@ -343,7 +290,7 @@ gail_entry_real_notify_gtk (GObject         *obj,
       text_setup (entry, gtk_entry);
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_entry_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
@@ -396,7 +343,7 @@ gail_entry_finalize (GObject            *object)
       g_source_remove (entry->insert_idle_handler);
       entry->insert_idle_handler = 0;
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_entry_parent_class)->finalize (object);
 }
 
 AtkObject* 
@@ -427,7 +374,7 @@ gail_entry_get_index_in_parent (AtkObject *accessible)
         GAIL_IS_COMBO_BOX (accessible->accessible_parent))
       return 1;
 
-  return ATK_OBJECT_CLASS (parent_class)->get_index_in_parent (accessible);
+  return ATK_OBJECT_CLASS (gail_entry_parent_class)->get_index_in_parent (accessible);
 }
 
 /* atkobject.h */
@@ -440,7 +387,7 @@ gail_entry_ref_state_set (AtkObject *accessible)
   gboolean value;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_entry_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
   
   if (widget == NULL)
@@ -461,8 +408,6 @@ gail_entry_ref_state_set (AtkObject *accessible)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_text = gail_entry_get_text;
   iface->get_character_at_offset = gail_entry_get_character_at_offset;
   iface->get_text_before_offset = gail_entry_get_text_before_offset;
@@ -900,8 +845,6 @@ gail_entry_set_selection (AtkText *text,
 static void
 atk_editable_text_interface_init (AtkEditableTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->set_text_contents = gail_entry_set_text_contents;
   iface->insert_text = gail_entry_insert_text;
   iface->copy_text = gail_entry_copy_text;
@@ -1235,8 +1178,6 @@ check_for_selection_change (GailEntry   *entry,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_entry_do_action;
   iface->get_n_actions = gail_entry_get_n_actions;
   iface->get_description = gail_entry_get_description;
index 2b90102092b1c3eb8647b3a42cdaafdccaf7dfb1..e12fd9c26690e73216c513a91950137be7661af2 100644 (file)
@@ -24,7 +24,7 @@
 #include <libgail-util/gailmisc.h>
 
 static void                  gail_expander_class_init       (GailExpanderClass *klass);
-static void                  gail_expander_object_init      (GailExpander      *expander);
+static void                  gail_expander_init             (GailExpander      *expander);
 
 static G_CONST_RETURN gchar* gail_expander_get_name         (AtkObject         *obj);
 static gint                  gail_expander_get_n_children   (AtkObject         *obj)
@@ -109,55 +109,9 @@ static AtkAttributeSet* gail_expander_get_run_attributes
 static AtkAttributeSet* gail_expander_get_default_attributes
                                                    (AtkText           *text);
 
-static GailContainer* parent_class = NULL;
-
-GType
-gail_expander_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailExpanderClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_expander_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailExpander), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_expander_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailExpander", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailExpander, gail_expander, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_expander_class_init (GailExpanderClass *klass)
@@ -171,8 +125,6 @@ gail_expander_class_init (GailExpanderClass *klass)
 
   gobject_class->finalize = gail_expander_finalize;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_name = gail_expander_get_name;
   class->get_n_children = gail_expander_get_n_children;
   class->ref_child = gail_expander_ref_child;
@@ -182,7 +134,7 @@ gail_expander_class_init (GailExpanderClass *klass)
 }
 
 static void
-gail_expander_object_init (GailExpander *expander)
+gail_expander_init (GailExpander *expander)
 {
   expander->activate_description = NULL;
   expander->activate_keybinding = NULL;
@@ -212,7 +164,7 @@ gail_expander_get_name (AtkObject *obj)
   G_CONST_RETURN gchar *name;
   g_return_val_if_fail (GAIL_IS_EXPANDER (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_expander_parent_class)->get_name (obj);
   if (name != NULL)
     return name;
   else
@@ -315,7 +267,7 @@ gail_expander_real_initialize (AtkObject *obj,
   GailExpander *gail_expander = GAIL_EXPANDER (obj);
   GtkWidget  *expander;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_expander_parent_class)->initialize (obj, data);
 
   expander = GTK_WIDGET (data);
   if (GTK_WIDGET_MAPPED (expander))
@@ -382,7 +334,7 @@ gail_expander_real_notify_gtk (GObject    *obj,
       g_signal_emit_by_name (atk_obj, "visible_data_changed");
     }
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_expander_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
@@ -399,8 +351,6 @@ gail_expander_init_textutil (GailExpander *expander,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_expander_do_action;
   iface->get_n_actions = gail_expander_get_n_actions;
   iface->get_description = gail_expander_get_description;
@@ -589,7 +539,7 @@ gail_expander_ref_state_set (AtkObject *obj)
   GtkWidget *widget;
   GtkExpander *expander;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_expander_parent_class)->ref_state_set (obj);
   widget = GTK_ACCESSIBLE (obj)->widget;
 
   if (widget == NULL)
@@ -612,7 +562,6 @@ gail_expander_ref_state_set (AtkObject *obj)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_expander_get_text;
   iface->get_character_at_offset = gail_expander_get_character_at_offset;
   iface->get_text_before_offset = gail_expander_get_text_before_offset;
@@ -939,5 +888,5 @@ gail_expander_finalize (GObject *object)
   if (expander->textutil)
     g_object_unref (expander->textutil);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_expander_parent_class)->finalize (object);
 }
index 4d85f0c7df190eb65ac0fb52ef4f2eb9587ca7c5..98486f2c82cbd9f7ac6c7cf419835387ee8f97ec 100644 (file)
 #include "gailframe.h"
 
 static void                  gail_frame_class_init       (GailFrameClass  *klass);
+static void                  gail_frame_init             (GailFrame       *frame);
 static G_CONST_RETURN gchar* gail_frame_get_name         (AtkObject       *obj);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_frame_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailFrameClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_frame_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailFrame), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                   "GailFrame", &tinfo, 0);
-  }
-
-  return type;
-}
+G_DEFINE_TYPE (GailFrame, gail_frame, GAIL_TYPE_CONTAINER)
 
 static void
 gail_frame_class_init (GailFrameClass *klass)
@@ -60,8 +33,11 @@ gail_frame_class_init (GailFrameClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
   class->get_name = gail_frame_get_name;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_frame_init (GailFrame       *frame)
+{
 }
 
 AtkObject* 
@@ -88,7 +64,7 @@ gail_frame_get_name (AtkObject *obj)
   G_CONST_RETURN gchar *name;
   g_return_val_if_fail (GAIL_IS_FRAME (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_frame_parent_class)->get_name (obj);
   if (name != NULL)
   {
     return name;
index 1d8def6ad9c596ea541cdcead3e38444525f1b9a..8cdbe4787d38cb6cf28a54429950267a350db028 100644 (file)
@@ -41,52 +41,14 @@ static gboolean     gail_html_box_grab_focus               (AtkComponent      *c
 static void         gail_html_box_remove_focus_handler     (AtkComponent      *component,
                                                             guint             handler_id);
 
-static AtkGObjectClass *parent_class = NULL;
-
-GType
-gail_html_box_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailHtmlBoxClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_html_box_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailHtmlBox), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) gail_html_box_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (ATK_TYPE_GOBJECT,
-                                     "GailHtmlBox", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailHtmlBox, gail_html_box, ATK_TYPE_GOBJECT,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, gail_html_box_component_interface_init))
 
 static void
 gail_html_box_class_init (GailHtmlBoxClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_ref (ATK_TYPE_GOBJECT);
-
   class->get_index_in_parent = gail_html_box_get_index_in_parent;
   class->ref_state_set = gail_html_box_ref_state_set;
   class->initialize = gail_html_box_initialize;
@@ -111,7 +73,7 @@ gail_html_box_initialize (AtkObject *obj,
                           gpointer  data)
 {
   HtmlBox *box;
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_html_box_parent_class)->initialize (obj, data);
 
   box = HTML_BOX (data);
 
@@ -186,7 +148,7 @@ gail_html_box_ref_state_set (AtkObject        *obj)
 
   g_return_val_if_fail (GAIL_IS_HTML_BOX (obj), NULL);
   atk_gobj = ATK_GOBJECT (obj);
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_html_box_parent_class)->ref_state_set (obj);
 
   g_obj = atk_gobject_get_object (atk_gobj);
   if (g_obj == NULL)
@@ -212,8 +174,6 @@ gail_html_box_ref_state_set (AtkObject        *obj)
 static void
 gail_html_box_component_interface_init (AtkComponentIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   /*
    * Use default implementation for contains and get_position
    */
index 9240029ee79482882eb1be705419d8f052c5901c..19808aa68f314d3fe76dad4c8d904b9e831bc250 100644 (file)
@@ -25,35 +25,7 @@ static gint       gail_html_box_block_get_n_children  (AtkObject             *ob
 static AtkObject* gail_html_box_block_ref_child       (AtkObject             *obj,
                                                        gint                  i);
 
-static GailHtmlBoxClass *parent_class = NULL;
-
-GType
-gail_html_box_block_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailHtmlBoxBlockClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_html_box_block_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailHtmlBoxBlock), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_HTML_BOX,
-                                     "GailHtmlBoxBlock", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailHtmlBoxBlock, gail_html_box_block, GAIL_TYPE_HTML_BOX)
 
 AtkObject*
 gail_html_box_block_new (GObject *obj)
@@ -74,8 +46,6 @@ gail_html_box_block_class_init (GailHtmlBoxBlockClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_ref (GAIL_TYPE_HTML_BOX);
-
   class->get_n_children = gail_html_box_block_get_n_children;
   class->ref_child = gail_html_box_block_ref_child;
 }
index 30d20f36f938e370be54c9d334634bc7bd7d4eef..8d23e92c32ec26d7382eab0f4a295ec0a0dd58f7 100644 (file)
@@ -25,35 +25,7 @@ static gint       gail_html_box_embedded_get_n_children  (AtkObject
 static AtkObject* gail_html_box_embedded_ref_child       (AtkObject             *obj,
                                                           gint                  i);
 
-static GailHtmlBoxClass *parent_class = NULL;
-
-GType
-gail_html_box_embedded_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailHtmlBoxEmbeddedClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_html_box_embedded_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailHtmlBoxEmbedded), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_HTML_BOX,
-                                     "GailHtmlBoxEmbedded", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailHtmlBoxEmbedded, gail_html_box_embedded, GAIL_TYPE_HTML_BOX)
 
 AtkObject*
 gail_html_box_embedded_new (GObject *obj)
@@ -74,8 +46,6 @@ gail_html_box_embedded_class_init (GailHtmlBoxEmbeddedClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_ref (GAIL_TYPE_HTML_BOX);
-
   class->get_n_children = gail_html_box_embedded_get_n_children;
   class->ref_child = gail_html_box_embedded_ref_child;
 }
index 9d2874cbb19baf2702982365e08baa55150ba2d3..eb45ae2817c77265b0c881481d26487ff94bce38 100644 (file)
@@ -91,43 +91,8 @@ static gchar*         get_text_near_offset                     (AtkText
                                                                 gint              *start_offset,
                                                                 gint              *end_offset);
 
-static AtkObjectClass *parent_class = NULL;
-
-GType
-gail_html_box_text_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailHtmlBoxTextClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_html_box_text_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailHtmlBoxText), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) gail_html_box_text_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-      type = g_type_register_static (GAIL_TYPE_HTML_BOX,
-                                     "GailHtmlBoxText", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);      
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailHtmlBoxText, gail_html_box_text, GAIL_TYPE_HTML_BOX,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, gail_html_box_text_text_interface_init))
 
 AtkObject*
 gail_html_box_text_new (GObject *obj)
@@ -155,14 +120,11 @@ gail_html_box_text_new (GObject *obj)
 static void
 gail_html_box_text_class_init (GailHtmlBoxTextClass *klass)
 {
-  parent_class = g_type_class_ref (ATK_TYPE_OBJECT);
 }
 
 static void
 gail_html_box_text_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_text = gail_html_box_text_get_text;
   iface->get_text_after_offset = gail_html_box_text_get_text_after_offset;
   iface->get_text_at_offset = gail_html_box_text_get_text_at_offset;
index 557597e1eea03ac6daabffe4e7dae94936c735bf..3ceac876759ed21cc18b1d187a598772db05c167 100644 (file)
@@ -133,7 +133,7 @@ gail_image_get_name (AtkObject *accessible)
   GtkStockItem stock_item;
   const gchar *name;
 
-  name = ATK_OBJECT_CLASS (gail_image_parent_class)->get_name (accessible); 
+  name = ATK_OBJECT_CLASS (gail_image_parent_class)->get_name (accessible);
   if (name)
     return name;
 
index 28f3da7dcbdd205e53d006ea9e5cba687a7633fb..fa5944b54717b9308ce71f637b0f8a9fe0b3be41 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailimagecell.h"
 
 static void      gail_image_cell_class_init          (GailImageCellClass *klass);
-static void      gail_image_cell_object_init         (GailImageCell      *image_cell);
+static void      gail_image_cell_init                (GailImageCell      *image_cell);
 
 static void      gail_image_cell_finalize            (GObject            *object);
 
@@ -44,50 +44,14 @@ static void      gail_image_cell_get_image_size        (AtkImage       *image,
 static gboolean  gail_image_cell_update_cache          (GailRendererCell *cell,
                                                         gboolean         emit_change_signal);
 
+// FIXMEchpe static!!!
 gchar *gail_image_cell_property_list[] = {
   "pixbuf",
   NULL
 };
 
-static gpointer parent_class = NULL;
-
-GType
-gail_image_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailImageCellClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_image_cell_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailImageCell), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_image_cell_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_image_info =
-      {
-        (GInterfaceInitFunc) atk_image_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_RENDERER_CELL,
-                                     "GailImageCell", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_IMAGE,
-                                   &atk_image_info);
-
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailImageCell, gail_image_cell, GAIL_TYPE_RENDERER_CELL,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
 
 static void 
 gail_image_cell_class_init (GailImageCellClass *klass)
@@ -95,8 +59,6 @@ gail_image_cell_class_init (GailImageCellClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GailRendererCellClass *renderer_cell_class = GAIL_RENDERER_CELL_CLASS(klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   gobject_class->finalize = gail_image_cell_finalize;
 
   renderer_cell_class->update_cache = gail_image_cell_update_cache;
@@ -126,7 +88,7 @@ gail_image_cell_new (void)
 }
 
 static void
-gail_image_cell_object_init (GailImageCell *image_cell)
+gail_image_cell_init (GailImageCell *image_cell)
 {
   image_cell->image_description = NULL;
 }
@@ -138,7 +100,7 @@ gail_image_cell_finalize (GObject *object)
   GailImageCell *image_cell = GAIL_IMAGE_CELL (object);
 
   g_free (image_cell->image_description);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_image_cell_parent_class)->finalize (object);
 }
 
 static gboolean
index dffc784c0c1da1309bfa1287718fbd9254f2ffbc..b7292d8e84fcd858fe903ac0d1f390043acfeea2 100644 (file)
@@ -23,6 +23,7 @@
 #include <libgail-util/gailmisc.h>
 
 static void                  gail_item_class_init      (GailItemClass *klass);
+static void                  gail_item_init            (GailItem      *item);
 static G_CONST_RETURN gchar* gail_item_get_name        (AtkObject     *obj);
 static gint                  gail_item_get_n_children  (AtkObject     *obj);
 static AtkObject*            gail_item_ref_child       (AtkObject     *obj,
@@ -82,46 +83,8 @@ static AtkAttributeSet* gail_item_get_default_attributes
                                                    (AtkText           *text);
 static GtkWidget*            get_label_from_container   (GtkWidget    *container);
 
-
-
-static GailContainerClass* parent_class = NULL;
-
-GType
-gail_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailItemClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_item_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailItem), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailItem", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailItem, gail_item, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_item_class_init (GailItemClass *klass)
@@ -130,8 +93,6 @@ gail_item_class_init (GailItemClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   GailContainerClass *container_class;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   container_class = (GailContainerClass *)klass;
 
   gobject_class->finalize = gail_item_finalize;
@@ -148,6 +109,11 @@ gail_item_class_init (GailItemClass *klass)
   container_class->remove_gtk = NULL;
 }
 
+static void
+gail_item_init (GailItem      *item)
+{
+}
+
 AtkObject*
 gail_item_new (GtkWidget *widget)
 {
@@ -171,7 +137,7 @@ gail_item_real_initialize (AtkObject *obj,
   GailItem *item = GAIL_ITEM (obj);
   GtkWidget  *label;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_item_parent_class)->initialize (obj, data);
 
   item->textutil = NULL;
   item->text = NULL;
@@ -233,7 +199,7 @@ gail_item_finalize (GObject *object)
       g_free (item->text);
       item->text = NULL;
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_item_parent_class)->finalize (object);
 }
 
 static G_CONST_RETURN gchar*
@@ -243,7 +209,7 @@ gail_item_get_name (AtkObject *obj)
 
   g_return_val_if_fail (GAIL_IS_ITEM (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_item_parent_class)->get_name (obj);
   if (name == NULL)
     {
       /*
@@ -390,7 +356,6 @@ gail_item_notify_label_gtk (GObject           *obj,
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_item_get_text;
   iface->get_character_at_offset = gail_item_get_character_at_offset;
   iface->get_text_before_offset = gail_item_get_text_before_offset;
index f9c12ee26cf107b4c0b4473f5f96debcaccfff08..36b6c1380b598f8a463c620a841fe7f5a95445fe 100644 (file)
@@ -24,6 +24,7 @@
 #include <libgail-util/gailmisc.h>
 
 static void       gail_label_class_init            (GailLabelClass    *klass);
+static void       gail_label_init                  (GailLabel         *label);
 static void      gail_label_real_initialize       (AtkObject         *obj,
                                                     gpointer         data);
 static void      gail_label_real_notify_gtk       (GObject           *obj,
@@ -101,43 +102,8 @@ static AtkAttributeSet* gail_label_get_run_attributes
 static AtkAttributeSet* gail_label_get_default_attributes
                                                    (AtkText           *text);
 
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_label_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailLabelClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_label_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailLabel), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailLabel", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailLabel, gail_label, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_label_class_init (GailLabelClass *klass)
@@ -151,14 +117,17 @@ gail_label_class_init (GailLabelClass *klass)
   widget_class = (GailWidgetClass*)klass;
   widget_class->notify_gtk = gail_label_real_notify_gtk;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_name = gail_label_get_name;
   class->ref_state_set = gail_label_ref_state_set;
   class->ref_relation_set = gail_label_ref_relation_set;
   class->initialize = gail_label_real_initialize;
 }
 
+static void
+gail_label_init (GailLabel *label)
+{
+}
+
 static void
 gail_label_real_initialize (AtkObject *obj,
                             gpointer  data)
@@ -166,7 +135,7 @@ gail_label_real_initialize (AtkObject *obj,
   GtkWidget  *widget;
   GailLabel *gail_label;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_label_parent_class)->initialize (obj, data);
   
   gail_label = GAIL_LABEL (obj);
 
@@ -426,7 +395,7 @@ gail_label_real_notify_gtk (GObject           *obj,
 
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_label_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
@@ -436,7 +405,7 @@ gail_label_finalize (GObject            *object)
 
   if (label->textutil)
     g_object_unref (label->textutil);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_label_parent_class)->finalize (object);
 }
 
 
@@ -448,7 +417,7 @@ gail_label_ref_state_set (AtkObject *accessible)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_label_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
 
   if (widget == NULL)
@@ -474,7 +443,7 @@ gail_label_ref_relation_set (AtkObject *obj)
      */
     return NULL;
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_label_parent_class)->ref_relation_set (obj);
 
   if (!atk_relation_set_contains (relation_set, ATK_RELATION_LABEL_FOR))
     {
@@ -568,7 +537,7 @@ gail_label_get_name (AtkObject *accessible)
 
   g_return_val_if_fail (GAIL_IS_LABEL (accessible), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (accessible);
+  name = ATK_OBJECT_CLASS (gail_label_parent_class)->get_name (accessible);
   if (name != NULL)
     return name;
   else
@@ -596,7 +565,6 @@ gail_label_get_name (AtkObject *accessible)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_label_get_text;
   iface->get_character_at_offset = gail_label_get_character_at_offset;
   iface->get_text_before_offset = gail_label_get_text_before_offset;
index c5d40485e9767fc4ee1ffa5654539d636b68252d..15d5589ab849f03796ef52a844e33e5aba9dcf2b 100644 (file)
@@ -23,6 +23,8 @@
 
 static void         gail_list_class_init            (GailListClass  *klass); 
 
+static void         gail_list_init                  (GailList       *list);
+
 static gint         gail_list_get_index_in_parent   (AtkObject      *accessible);
 
 static void         atk_selection_interface_init    (AtkSelectionIface *iface);
@@ -38,56 +40,22 @@ static gboolean     gail_list_remove_selection      (AtkSelection   *selection,
                                                      gint           i);
 
 
-static GailContainerClass *parent_class = NULL;
-
-GType
-gail_list_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailListClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_list_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailList), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-    static const GInterfaceInfo atk_selection_info =
-    {
-      (GInterfaceInitFunc) atk_selection_interface_init,
-      (GInterfaceFinalizeFunc) NULL,
-      NULL
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                   "GailList", &tinfo, 0);
-
-    g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-
-
-  }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailList, gail_list, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
 static void
 gail_list_class_init (GailListClass *klass)
 {
   AtkObjectClass  *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_index_in_parent = gail_list_get_index_in_parent;
 }
 
+static void
+gail_list_init (GailList *list)
+{
+}
+
 AtkObject* 
 gail_list_new (GtkWidget *widget)
 {
@@ -118,14 +86,12 @@ gail_list_get_index_in_parent (AtkObject *accessible)
     if (GAIL_IS_COMBO (accessible->accessible_parent))
       return 0;
   }
-  return ATK_OBJECT_CLASS (parent_class)->get_index_in_parent (accessible);
+  return ATK_OBJECT_CLASS (gail_list_parent_class)->get_index_in_parent (accessible);
 }
 
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->add_selection = gail_list_add_selection;
   iface->clear_selection = gail_list_clear_selection;
   iface->ref_selection = gail_list_ref_selection;
index f86c859cdb3ec89e9e9e52e9288324ff0eeba500..89b023f80d0fab3fd625a068d6328b92d620d4a0 100644 (file)
@@ -24,6 +24,7 @@
 #include "gailmenu.h"
 
 static void gail_menu_class_init (GailMenuClass *klass);
+static void gail_menu_init       (GailMenu      *accessible);
 
 static void      gail_menu_real_initialize     (AtkObject *obj,
                                                  gpointer  data);
@@ -31,35 +32,7 @@ static void    gail_menu_real_initialize     (AtkObject *obj,
 static AtkObject* gail_menu_get_parent          (AtkObject *accessible);
 static gint       gail_menu_get_index_in_parent (AtkObject *accessible);
 
-static GailMenuShell *parent_class = NULL;
-
-GType
-gail_menu_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailMenuClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_menu_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailMenu), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_MENU_SHELL,
-                                     "GailMenu", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailMenu, gail_menu, GAIL_TYPE_MENU_SHELL)
 
 static void
 gail_menu_class_init (GailMenuClass *klass)
@@ -69,8 +42,11 @@ gail_menu_class_init (GailMenuClass *klass)
   class->get_parent = gail_menu_get_parent;
   class->get_index_in_parent = gail_menu_get_index_in_parent;
   class->initialize = gail_menu_real_initialize;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_menu_init (GailMenu *accessible)
+{
 }
 
 AtkObject*
@@ -95,7 +71,7 @@ static void
 gail_menu_real_initialize (AtkObject *obj,
                            gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_menu_parent_class)->initialize (obj, data);
 
   obj->role = ATK_ROLE_MENU;
 }
@@ -163,5 +139,5 @@ gail_menu_get_index_in_parent (AtkObject *accessible)
     {
       return 0;
     }
-  return ATK_OBJECT_CLASS (parent_class)->get_index_in_parent (accessible);
+  return ATK_OBJECT_CLASS (gail_menu_parent_class)->get_index_in_parent (accessible);
 }
index d5dc8f9417dc316f9e8f66ab143e9a49247be6d7..2accc8389db5f34639bbd74fc61194e871b100be 100644 (file)
@@ -25,7 +25,7 @@
 #define KEYBINDING_SEPARATOR ";"
 
 static void gail_menu_item_class_init  (GailMenuItemClass *klass);
-static void gail_menu_item_object_init (GailMenuItem      *menu_item);
+static void gail_menu_item_init        (GailMenuItem      *menu_item);
 
 static void                  gail_menu_item_real_initialize
                                                           (AtkObject       *obj,
@@ -60,43 +60,8 @@ static gboolean              find_accel_new                (GtkAccelKey    *key,
                                                             GClosure       *closure,
                                                             gpointer       data);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailMenuItemClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_menu_item_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailMenuItem), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_menu_item_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_ITEM,
-                                     "GailMenuItem", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailMenuItem, gail_menu_item, GAIL_TYPE_ITEM,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
 
 static void
 gail_menu_item_class_init (GailMenuItemClass *klass)
@@ -109,8 +74,6 @@ gail_menu_item_class_init (GailMenuItemClass *klass)
   class->get_n_children = gail_menu_item_get_n_children;
   class->ref_child = gail_menu_item_ref_child;
   class->initialize = gail_menu_item_real_initialize;
-
-  parent_class = g_type_class_peek_parent (klass);
 }
 
 static void
@@ -120,7 +83,7 @@ gail_menu_item_real_initialize (AtkObject *obj,
   GtkWidget *widget;
   GtkWidget *parent;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_menu_item_parent_class)->initialize (obj, data);
 
   g_signal_connect (data,
                     "select",
@@ -157,7 +120,7 @@ gail_menu_item_real_initialize (AtkObject *obj,
 }
 
 static void
-gail_menu_item_object_init (GailMenuItem *menu_item)
+gail_menu_item_init (GailMenuItem *menu_item)
 {
   menu_item->click_keybinding = NULL;
   menu_item->click_description = NULL;
@@ -279,8 +242,6 @@ gail_menu_item_ref_child (AtkObject *obj,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_menu_item_do_action;
   iface->get_n_actions = gail_menu_item_get_n_actions;
   iface->get_description = gail_menu_item_get_description;
@@ -627,7 +588,7 @@ gail_menu_item_finalize (GObject *object)
       menu_item->action_idle_handler = 0;
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_menu_item_parent_class)->finalize (object);
 }
 
 static void
index 53ae7c502cea326c30149a58aeb2875d339902f2..6bf211ca84d483c4c97c2073a9f7c18c8029b3d1 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailmenushell.h"
 
 static void         gail_menu_shell_class_init          (GailMenuShellClass *klass);
-
+static void         gail_menu_shell_init                (GailMenuShell      *menu_shell);
 static void         atk_selection_interface_init        (AtkSelectionIface  *iface);
 static gboolean     gail_menu_shell_add_selection       (AtkSelection   *selection,
                                                          gint           i);
@@ -34,45 +34,16 @@ static gboolean     gail_menu_shell_is_child_selected   (AtkSelection   *selecti
 static gboolean     gail_menu_shell_remove_selection    (AtkSelection   *selection,
                                                          gint           i);
 
-GType
-gail_menu_shell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailMenuShellClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_menu_shell_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailMenuShell), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    static const GInterfaceInfo atk_selection_info =
-    {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                   "GailMenuShell", &tinfo, 0);
-    g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                 &atk_selection_info);
-  }
+G_DEFINE_TYPE_WITH_CODE (GailMenuShell, gail_menu_shell, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
-  return type;
+static void
+gail_menu_shell_class_init (GailMenuShellClass *klass)
+{
 }
 
 static void
-gail_menu_shell_class_init (GailMenuShellClass *klass)
+gail_menu_shell_init (GailMenuShell *menu_shell)
 {
 }
 
@@ -103,8 +74,6 @@ gail_menu_shell_new (GtkWidget *widget)
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->add_selection = gail_menu_shell_add_selection;
   iface->clear_selection = gail_menu_shell_clear_selection;
   iface->ref_selection = gail_menu_shell_ref_selection;
index d2671542a0a80fa413e4c3c40d256bc872d3b040..0dbe660db7c181822aaea9f548f7c7c60c367dba 100644 (file)
@@ -24,7 +24,7 @@
 #include "gail-private-macros.h"
 
 static void         gail_notebook_class_init          (GailNotebookClass *klass);
-static void         gail_notebook_object_init         (GailNotebook      *notebook);
+static void         gail_notebook_init                (GailNotebook      *notebook);
 static void         gail_notebook_finalize            (GObject           *object);
 static void         gail_notebook_real_initialize     (AtkObject         *obj,
                                                        gpointer          data);
@@ -64,43 +64,9 @@ static gboolean     gail_notebook_focus_cb            (GtkWidget      *widget,
 static gboolean     gail_notebook_check_focus_tab     (gpointer       data);
 static void         gail_notebook_destroyed           (gpointer       data);
 
-static gpointer parent_class = NULL;
 
-GType
-gail_notebook_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailNotebookClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_notebook_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailNotebook), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_notebook_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_selection_info = 
-      {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-       
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailNotebook", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailNotebook, gail_notebook, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
 static void
 gail_notebook_class_init (GailNotebookClass *klass)
@@ -113,8 +79,6 @@ gail_notebook_class_init (GailNotebookClass *klass)
   widget_class = (GailWidgetClass*)klass;
   container_class = (GailContainerClass*)klass;
 
-  parent_class = g_type_class_peek_parent (klass);
-  
   gobject_class->finalize = gail_notebook_finalize;
 
   widget_class->notify_gtk = gail_notebook_real_notify_gtk;
@@ -130,7 +94,7 @@ gail_notebook_class_init (GailNotebookClass *klass)
 }
 
 static void
-gail_notebook_object_init (GailNotebook      *notebook)
+gail_notebook_init (GailNotebook      *notebook)
 {
   notebook->page_cache = NULL;
   notebook->selected_page = -1;
@@ -208,7 +172,7 @@ gail_notebook_real_initialize (AtkObject *obj,
   GtkNotebook *gtk_notebook;
   gint i;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_notebook_parent_class)->initialize (obj, data);
 
   notebook = GAIL_NOTEBOOK (obj);
   gtk_notebook = GTK_NOTEBOOK (data);
@@ -314,7 +278,7 @@ gail_notebook_real_notify_gtk (GObject           *obj,
         }
     }
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_notebook_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
@@ -341,14 +305,12 @@ gail_notebook_finalize (GObject            *object)
   if (notebook->idle_focus_id)
     g_source_remove (notebook->idle_focus_id);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_notebook_parent_class)->finalize (object);
 }
 
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-  
   iface->add_selection = gail_notebook_add_selection;
   iface->ref_selection = gail_notebook_ref_selection;
   iface->get_selection_count = gail_notebook_get_selection_count;
index 4489d76e93b1925774e058262df6a1382a360efe..9db9b7e11fbd01efa7481d0b648de9a2c85d4ae8 100644 (file)
@@ -24,7 +24,7 @@
 #include "gail-private-macros.h"
 
 static void      gail_notebook_page_class_init      (GailNotebookPageClass     *klass);
-
+static void                  gail_notebook_page_init           (GailNotebookPage *page);
 static void                  gail_notebook_page_finalize       (GObject   *object);
 static void                  gail_notebook_page_label_map_gtk  (GtkWidget *widget,
                                                                 gpointer  data);
@@ -112,53 +112,10 @@ static AtkAttributeSet* gail_notebook_page_get_default_attributes
 static GtkWidget* get_label_from_notebook_page     (GailNotebookPage  *page);
 static GtkWidget* find_label_child (GtkContainer *container);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_notebook_page_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo = 
-      {
-        sizeof (GailNotebookPageClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_notebook_page_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailNotebookPage), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-       
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) atk_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (ATK_TYPE_OBJECT,
-                                     "GailNotebookPage", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-    }
-  return type;
-}
+/* FIXME: not GAIL_TYPE_OBJECT? */
+G_DEFINE_TYPE_WITH_CODE (GailNotebookPage, gail_notebook_page, ATK_TYPE_OBJECT,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_notebook_page_class_init (GailNotebookPageClass *klass)
@@ -166,8 +123,6 @@ gail_notebook_page_class_init (GailNotebookPageClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   
-  parent_class = g_type_class_peek_parent (klass);
-  
   class->get_name = gail_notebook_page_get_name;
   class->get_parent = gail_notebook_page_get_parent;
   class->get_n_children = gail_notebook_page_get_n_children;
@@ -178,6 +133,11 @@ gail_notebook_page_class_init (GailNotebookPageClass *klass)
   gobject_class->finalize = gail_notebook_page_finalize;
 }
 
+static void
+gail_notebook_page_init (GailNotebookPage *page)
+{
+}
+
 static gint
 notify_child_added (gpointer data)
 {
@@ -330,7 +290,7 @@ gail_notebook_page_finalize (GObject *object)
   if (page->notify_child_added_id)
     g_source_remove (page->notify_child_added_id);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_notebook_page_parent_class)->finalize (object);
 }
 
 static G_CONST_RETURN gchar*
@@ -419,7 +379,7 @@ gail_notebook_page_ref_state_set (AtkObject *accessible)
 
   g_return_val_if_fail (GAIL_NOTEBOOK_PAGE (accessible), NULL);
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_notebook_page_parent_class)->ref_state_set (accessible);
 
   atk_label = _gail_notebook_page_get_tab_label (GAIL_NOTEBOOK_PAGE (accessible));
   if (atk_label)
@@ -457,8 +417,6 @@ gail_notebook_page_ref_state_set (AtkObject *accessible)
 static void
 atk_component_interface_init (AtkComponentIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   /*
    * We use the default implementations for contains, get_position, get_size
    */
@@ -535,7 +493,6 @@ _gail_notebook_page_get_tab_label (GailNotebookPage *page)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_notebook_page_get_text;
   iface->get_character_at_offset = gail_notebook_page_get_character_at_offset;
   iface->get_text_before_offset = gail_notebook_page_get_text_before_offset;
index 2c6ceb475f86323077e94180d82ce4301c02b840..ed8eb7bc95f8a68b1f785177e5ab34d31b40fe14 100644 (file)
 
 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);
 
-static AtkGObjectAccessibleClass *parent_class = NULL;
-
-GType
-gail_object_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailObjectClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_object_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailObject), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (ATK_TYPE_GOBJECT_ACCESSIBLE,
-                                     "GailObject", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailObject, gail_object, ATK_TYPE_GOBJECT_ACCESSIBLE)
 
 AtkObject*
 gail_object_new (GObject *obj)
@@ -73,16 +47,19 @@ gail_object_class_init (GailObjectClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (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 (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_object_parent_class)->initialize (obj, data);
 
   obj->role = ATK_ROLE_UNKNOWN;
 }
index a78d75c142545ca1517608abcf396cf4ec113111..0270dbd610be8a8ae8c8992b52d98892b6aa0cbb 100644 (file)
@@ -23,6 +23,7 @@
 #include "gailoptionmenu.h"
 
 static void                  gail_option_menu_class_init       (GailOptionMenuClass *klass);
+static void                  gail_option_menu_init             (GailOptionMenu  *menu);
 static void                 gail_option_menu_real_initialize  (AtkObject       *obj,
                                                                 gpointer        data);
 
@@ -51,44 +52,8 @@ static gboolean              gail_option_menu_set_description  (AtkAction
                                                                 gint            i,
                                                                 const gchar     *desc);
 
-static GailButtonClass* parent_class = NULL;
-
-GType
-gail_option_menu_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailOptionMenuClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_option_menu_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailOptionMenu), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-  
-      static const GInterfaceInfo atk_action_info =
-      {
-        (GInterfaceInitFunc) atk_action_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_BUTTON,
-                                     "GailOptionMenu", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                   &atk_action_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailOptionMenu, gail_option_menu, GAIL_TYPE_BUTTON,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init))
 
 static void
 gail_option_menu_class_init (GailOptionMenuClass *klass)
@@ -104,7 +69,11 @@ gail_option_menu_class_init (GailOptionMenuClass *klass)
 
   container_class->add_gtk = gail_option_menu_real_add_gtk;
   container_class->remove_gtk = gail_option_menu_real_remove_gtk;
-  parent_class = g_type_class_peek_parent (klass);
+}
+
+static void
+gail_option_menu_init (GailOptionMenu  *menu)
+{
 }
 
 AtkObject* 
@@ -127,7 +96,7 @@ static void
 gail_option_menu_real_initialize (AtkObject *obj,
                                   gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_option_menu_parent_class)->initialize (obj, data);
 
   obj->role = ATK_ROLE_COMBO_BOX;
 }
@@ -188,7 +157,7 @@ gail_option_menu_real_add_gtk (GtkContainer *container,
   AtkObject* atk_parent = ATK_OBJECT (data);
   AtkObject* atk_child = gtk_widget_get_accessible (widget);
 
-  GAIL_CONTAINER_CLASS (parent_class)->add_gtk (container, widget, data);
+  GAIL_CONTAINER_CLASS (gail_option_menu_parent_class)->add_gtk (container, widget, data);
 
   g_object_notify (G_OBJECT (atk_child), "accessible_parent");
 
@@ -222,8 +191,6 @@ gail_option_menu_real_remove_gtk (GtkContainer *container,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->do_action = gail_option_menu_do_action;
   iface->get_n_actions = gail_option_menu_get_n_actions;
   iface->get_description = gail_option_menu_get_description;
index a3ac815a49d4f815dda524b9c32623bcac34c45e..47619aa36556a347bf210ec6a0c40f7446577428 100644 (file)
@@ -23,6 +23,8 @@
 
 static void         gail_paned_class_init          (GailPanedClass *klass); 
 
+static void         gail_paned_init                (GailPaned      *paned);
+
 static void         gail_paned_real_initialize     (AtkObject      *obj,
                                                     gpointer       data);
 static void         gail_paned_size_allocate_gtk   (GtkWidget      *widget,
@@ -40,56 +42,23 @@ static void         gail_paned_get_minimum_value   (AtkValue       *obj,
 static gboolean     gail_paned_set_current_value   (AtkValue       *obj,
                                                     const GValue   *value);
 
-static GailContainerClass *parent_class = NULL;
-
-GType
-gail_paned_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailPanedClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_paned_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailPaned), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_value_info =
-      {
-        (GInterfaceInitFunc) atk_value_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailPaned", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_VALUE,
-                                   &atk_value_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailPaned, gail_paned, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
 
 static void
 gail_paned_class_init (GailPanedClass *klass)
 {
   AtkObjectClass  *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_paned_ref_state_set;
   class->initialize = gail_paned_real_initialize;
 }
 
+static void
+gail_paned_init (GailPaned *paned)
+{
+}
+
 AtkObject* 
 gail_paned_new (GtkWidget *widget)
 {
@@ -112,7 +81,7 @@ gail_paned_ref_state_set (AtkObject *accessible)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_paned_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
 
   if (widget == NULL)
@@ -130,7 +99,7 @@ static void
 gail_paned_real_initialize (AtkObject *obj,
                             gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_paned_parent_class)->initialize (obj, data);
 
   g_signal_connect (data,
                     "size_allocate",
@@ -153,13 +122,10 @@ gail_paned_size_allocate_gtk (GtkWidget      *widget,
 static void
 atk_value_interface_init (AtkValueIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_current_value = gail_paned_get_current_value;
   iface->get_maximum_value = gail_paned_get_maximum_value;
   iface->get_minimum_value = gail_paned_get_minimum_value;
   iface->set_current_value = gail_paned_set_current_value;
-
 }
 
 static void
index 6540f9c2afdd78c39565dcf565304be37e9793d6..2d4ee7c90e4e88a28637d89987d61a8a47c4ef8b 100644 (file)
@@ -21,7 +21,7 @@
 #include "gailpixmap.h"
 
 static void     gail_pixmap_class_init         (GailPixmapClass *klass);
-static void  gail_pixmap_object_init    (GailPixmap      *pixmap);
+static void      gail_pixmap_init               (GailPixmap      *pixmap);
 
 /* AtkImage */
 static void  atk_image_interface_init   (AtkImageIface  *iface);
@@ -40,44 +40,8 @@ static gboolean gail_pixmap_set_image_description
                                         const gchar    *description);
 static void  gail_pixmap_finalize       (GObject         *object);
 
-static GailWidgetClass* parent_class = NULL;
-
-GType
-gail_pixmap_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailPixmapClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_pixmap_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailPixmap), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_pixmap_object_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_image_info =
-      {
-        (GInterfaceInitFunc) atk_image_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailPixmap", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_IMAGE,
-                                   &atk_image_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailPixmap, gail_pixmap, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_IMAGE, atk_image_interface_init))
 
 static void     
 gail_pixmap_class_init (GailPixmapClass *klass)
@@ -85,12 +49,10 @@ gail_pixmap_class_init (GailPixmapClass *klass)
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
  
   gobject_class->finalize = gail_pixmap_finalize;
-
-  parent_class = g_type_class_peek_parent (klass);
 }
 
 static void
-gail_pixmap_object_init (GailPixmap *pixmap)
+gail_pixmap_init (GailPixmap *pixmap)
 {
   pixmap->image_description = NULL;
 }
@@ -117,8 +79,6 @@ gail_pixmap_new (GtkWidget *widget)
 static void
 atk_image_interface_init (AtkImageIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_image_description = gail_pixmap_get_image_description;
   iface->get_image_position = gail_pixmap_get_image_position;
   iface->get_image_size = gail_pixmap_get_image_size;
@@ -194,5 +154,5 @@ gail_pixmap_finalize (GObject      *object)
   GailPixmap *pixmap = GAIL_PIXMAP (object);
 
   g_free (pixmap->image_description);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_pixmap_parent_class)->finalize (object);
 }
index 1ed4a49ac8d24fc7fcba274502fdc8e9288de742..64328b377f9f5b37bab4c36905ff036805f8b7f3 100644 (file)
@@ -23,6 +23,7 @@
 #include "gailadjustment.h"
 
 static void     gail_progress_bar_class_init        (GailProgressBarClass *klass);
+static void     gail_progress_bar_init              (GailProgressBar *bar);
 static void      gail_progress_bar_real_initialize   (AtkObject      *obj,
                                                       gpointer       data);
 static void      gail_progress_bar_finalize          (GObject        *object);
@@ -43,44 +44,8 @@ static void   gail_progress_bar_get_minimum_value (AtkValue       *obj,
 static void      gail_progress_bar_value_changed     (GtkAdjustment  *adjustment,
                                                       gpointer       data);
 
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_progress_bar_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailProgressBarClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_progress_bar_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailProgressBar), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_value_info =
-      {
-        (GInterfaceInitFunc) atk_value_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailProgressBar", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_VALUE,
-                                   &atk_value_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailProgressBar, gail_progress_bar, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
 
 static void     
 gail_progress_bar_class_init           (GailProgressBarClass *klass)
@@ -96,8 +61,11 @@ gail_progress_bar_class_init         (GailProgressBarClass *klass)
   class->initialize = gail_progress_bar_real_initialize;
 
   gobject_class->finalize = gail_progress_bar_finalize;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_progress_bar_init (GailProgressBar *bar)
+{
 }
 
 AtkObject* 
@@ -123,7 +91,7 @@ gail_progress_bar_real_initialize (AtkObject *obj,
   GailProgressBar *progress_bar = GAIL_PROGRESS_BAR (obj);
   GtkProgress *gtk_progress;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_progress_bar_parent_class)->initialize (obj, data);
 
   gtk_progress = GTK_PROGRESS (data);
   /*
@@ -147,9 +115,6 @@ gail_progress_bar_real_initialize (AtkObject *obj,
 static void     
 atk_value_interface_init (AtkValueIface *iface)
 {
-
-  g_return_if_fail (iface != NULL);
-
   iface->get_current_value = gail_progress_bar_get_current_value;
   iface->get_maximum_value = gail_progress_bar_get_maximum_value;
   iface->get_minimum_value = gail_progress_bar_get_minimum_value;
@@ -220,7 +185,7 @@ gail_progress_bar_finalize (GObject            *object)
       progress_bar->adjustment = NULL;
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_progress_bar_parent_class)->finalize (object);
 }
 
 
@@ -253,7 +218,7 @@ gail_progress_bar_real_notify_gtk (GObject           *obj,
                         progress_bar);
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_progress_bar_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
index fecdf85ea2956a6596124e8b4ab05f069ae66ddf..eec80954f435a63c4a60830f0c855fedad5cf7eb 100644 (file)
 #include "gailradiobutton.h"
 
 static void      gail_radio_button_class_init        (GailRadioButtonClass *klass);
-static void      gail_radio_button_instance_init     (GailRadioButton      *radio_button);
+static void      gail_radio_button_init              (GailRadioButton      *radio_button);
 
-static AtkRelationSet* gail_radio_button_ref_relation_set (AtkObject       *obj)
-;
+static AtkRelationSet* gail_radio_button_ref_relation_set (AtkObject       *obj);
 
-static GailToggleButtonClass *parent_class = NULL;
-
-GType
-gail_radio_button_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailRadioButtonClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_radio_button_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailRadioButton), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) gail_radio_button_instance_init, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_TOGGLE_BUTTON,
-                                   "GailRadioButton", &tinfo, 0);
-  }
-
-  return type;
-}
+G_DEFINE_TYPE (GailRadioButton, gail_radio_button, GAIL_TYPE_TOGGLE_BUTTON)
 
 static void
 gail_radio_button_class_init (GailRadioButtonClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_relation_set = gail_radio_button_ref_relation_set;
 }
 
@@ -84,7 +53,7 @@ gail_radio_button_new (GtkWidget *widget)
 }
 
 static void
-gail_radio_button_instance_init (GailRadioButton *radio_button)
+gail_radio_button_init (GailRadioButton *radio_button)
 {
   radio_button->old_group = NULL;
 }
@@ -109,7 +78,7 @@ gail_radio_button_ref_relation_set (AtkObject *obj)
   }
   radio_button = GAIL_RADIO_BUTTON (obj);
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_radio_button_parent_class)->ref_relation_set (obj);
 
   /*
    * If the radio button'group has changed remove the relation
index cb7e208038bf35bdc230ad260710a24b7ad5919a..9ac59fe89e8edff79c8139945354fbea15a0a208 100644 (file)
 #include "gailradiosubmenuitem.h"
 
 static void      gail_radio_menu_item_class_init        (GailRadioMenuItemClass *klass);
-static void      gail_radio_menu_item_instance_init     (GailRadioMenuItem      *radio_menu_item);
+static void      gail_radio_menu_item_init              (GailRadioMenuItem      *radio_menu_item);
 
-static AtkRelationSet* gail_radio_menu_item_ref_relation_set (AtkObject       *obj)
-;
+static AtkRelationSet* gail_radio_menu_item_ref_relation_set (AtkObject       *obj);
 
-static GailCheckMenuItemClass *parent_class = NULL;
-
-GType
-gail_radio_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailRadioMenuItemClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_radio_menu_item_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailRadioMenuItem), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) gail_radio_menu_item_instance_init, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CHECK_MENU_ITEM,
-                                   "GailRadioMenuItem", &tinfo, 0);
-  }
-
-  return type;
-}
+G_DEFINE_TYPE (GailRadioMenuItem, gail_radio_menu_item, GAIL_TYPE_CHECK_MENU_ITEM)
 
 static void
 gail_radio_menu_item_class_init (GailRadioMenuItemClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_relation_set = gail_radio_menu_item_ref_relation_set;
 }
 
@@ -88,7 +57,7 @@ gail_radio_menu_item_new (GtkWidget *widget)
 }
 
 static void
-gail_radio_menu_item_instance_init (GailRadioMenuItem *radio_menu_item)
+gail_radio_menu_item_init (GailRadioMenuItem *radio_menu_item)
 {
   radio_menu_item->old_group = NULL;
 }
@@ -113,7 +82,7 @@ gail_radio_menu_item_ref_relation_set (AtkObject *obj)
   }
   radio_menu_item = GAIL_RADIO_MENU_ITEM (obj);
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_radio_menu_item_parent_class)->ref_relation_set (obj);
 
   /*
    * If the radio menu_item'group has changed remove the relation
index b702567b8f86cb626510c4f8a54883e84043e274..b139f6bcea55151e88aa238ed97f6da46c538f14 100644 (file)
 #include "gailradiosubmenuitem.h"
 
 static void      gail_radio_sub_menu_item_class_init        (GailRadioSubMenuItemClass *klass);
-static void      gail_radio_sub_menu_item_instance_init     (GailRadioSubMenuItem      *radio_menu_item);
+static void      gail_radio_sub_menu_item_init              (GailRadioSubMenuItem      *radio_menu_item);
 
-static AtkRelationSet* gail_radio_sub_menu_item_ref_relation_set (AtkObject       *obj)
-;
+static AtkRelationSet* gail_radio_sub_menu_item_ref_relation_set (AtkObject       *obj);
 
-static GailCheckSubMenuItemClass *parent_class = NULL;
-
-GType
-gail_radio_sub_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailRadioSubMenuItemClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_radio_sub_menu_item_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailRadioSubMenuItem), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) gail_radio_sub_menu_item_instance_init, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CHECK_SUB_MENU_ITEM,
-                                   "GailRadioSubMenuItem", &tinfo, 0);
-  }
-
-  return type;
-}
+G_DEFINE_TYPE (GailRadioSubMenuItem, gail_radio_sub_menu_item, GAIL_TYPE_CHECK_SUB_MENU_ITEM)
 
 static void
 gail_radio_sub_menu_item_class_init (GailRadioSubMenuItemClass *klass)
 {
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_relation_set = gail_radio_sub_menu_item_ref_relation_set;
 }
 
@@ -84,7 +53,7 @@ gail_radio_sub_menu_item_new (GtkWidget *widget)
 }
 
 static void
-gail_radio_sub_menu_item_instance_init (GailRadioSubMenuItem *radio_menu_item)
+gail_radio_sub_menu_item_init (GailRadioSubMenuItem *radio_menu_item)
 {
   radio_menu_item->old_group = NULL;
 }
@@ -109,7 +78,7 @@ gail_radio_sub_menu_item_ref_relation_set (AtkObject *obj)
   }
   radio_menu_item = GAIL_RADIO_SUB_MENU_ITEM (obj);
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_radio_sub_menu_item_parent_class)->ref_relation_set (obj);
 
   /*
    * If the radio menu_item'group has changed remove the relation
index bf6eaa4522da8c3dfc47ba62c028d4c5752d53a4..d8d58a9d397341558a2339f0447fee370d245688 100644 (file)
@@ -26,6 +26,8 @@
 
 static void        gail_range_class_init        (GailRangeClass *klass);
 
+static void         gail_range_init              (GailRange      *range);
+
 static void         gail_range_real_initialize   (AtkObject      *obj,
                                                   gpointer      data);
 
@@ -63,55 +65,10 @@ static G_CONST_RETURN gchar* gail_range_action_get_name  (AtkAction    *action,
 static gboolean   gail_range_set_description  (AtkAction       *action,
                                               gint            i,
                                               const gchar     *desc);
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_range_get_type (void)
-{
-  static GType type = 0;
 
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailRangeClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_range_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailRange), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_action_info =
-      {
-       (GInterfaceInitFunc) atk_action_interface_init,
-       (GInterfaceFinalizeFunc) NULL,
-       NULL
-      };
-
-
-      static const GInterfaceInfo atk_value_info =
-      {
-        (GInterfaceInitFunc) atk_value_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                     "GailRange", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_ACTION,
-                                       &atk_action_info);
-
-      g_type_add_interface_static (type, ATK_TYPE_VALUE,
-                                   &atk_value_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailRange, gail_range, GAIL_TYPE_WIDGET,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_ACTION, atk_action_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
 
 static void     
 gail_range_class_init          (GailRangeClass *klass)
@@ -128,8 +85,11 @@ gail_range_class_init               (GailRangeClass *klass)
   class->initialize = gail_range_real_initialize;
 
   gobject_class->finalize = gail_range_finalize;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_range_init (GailRange      *range)
+{
 }
 
 AtkObject* 
@@ -155,7 +115,7 @@ gail_range_real_initialize (AtkObject *obj,
   GailRange *range = GAIL_RANGE (obj);
   GtkRange *gtk_range;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_range_parent_class)->initialize (obj, data);
 
   gtk_range = GTK_RANGE (data);
   /*
@@ -187,7 +147,7 @@ gail_range_ref_state_set (AtkObject *obj)
   GtkWidget *widget;
   GtkRange *range;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_range_parent_class)->ref_state_set (obj);
   widget = GTK_ACCESSIBLE (obj)->widget;
 
   if (widget == NULL)
@@ -210,13 +170,10 @@ gail_range_ref_state_set (AtkObject *obj)
 static void     
 atk_value_interface_init (AtkValueIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_current_value = gail_range_get_current_value;
   iface->get_maximum_value = gail_range_get_maximum_value;
   iface->get_minimum_value = gail_range_get_minimum_value;
   iface->set_current_value = gail_range_set_current_value;
-
 }
 
 static void     
@@ -327,7 +284,7 @@ gail_range_finalize (GObject            *object)
     range->action_idle_handler = 0;
    }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_range_parent_class)->finalize (object);
 }
 
 
@@ -360,7 +317,7 @@ gail_range_real_notify_gtk (GObject           *obj,
                         range);
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_range_parent_class)->notify_gtk (obj, pspec);
 }
 
 static void
@@ -380,8 +337,6 @@ gail_range_value_changed (GtkAdjustment    *adjustment,
 static void
 atk_action_interface_init (AtkActionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->do_action = gail_range_do_action;
   iface->get_n_actions = gail_range_get_n_actions;
   iface->get_description = gail_range_get_description;
index 9db9855c0943e073da95ceeffc1537043f6afc9c..4430771cc98f47fad5b995283d9858792348c53f 100644 (file)
 #include "gailrenderercell.h"
 
 static void      gail_renderer_cell_class_init          (GailRendererCellClass *klass);
-static void      gail_renderer_cell_object_init         (GailRendererCell      *renderer_cell);
+static void      gail_renderer_cell_init                (GailRendererCell      *renderer_cell);
 
-static void      gail_renderer_cell_finalize            (GObject               *object)
-;
-static gpointer parent_class = NULL;
+static void      gail_renderer_cell_finalize            (GObject               *object);
 
-GType
-gail_renderer_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailRendererCellClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_renderer_cell_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailRendererCell), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) gail_renderer_cell_object_init, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_CELL,
-                                   "GailRendererCell", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailRendererCell, gail_renderer_cell, GAIL_TYPE_CELL)
 
 static void 
 gail_renderer_cell_class_init (GailRendererCellClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   klass->property_list = NULL;
 
   gobject_class->finalize = gail_renderer_cell_finalize;
 }
 
 static void
-gail_renderer_cell_object_init (GailRendererCell *renderer_cell)
+gail_renderer_cell_init (GailRendererCell *renderer_cell)
 {
   renderer_cell->renderer = NULL;
 }
@@ -79,7 +50,7 @@ gail_renderer_cell_finalize (GObject  *object)
 
   if (renderer_cell->renderer)
     g_object_unref (renderer_cell->renderer);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_renderer_cell_parent_class)->finalize (object);
 }
 
 gboolean
index 1a6fefd998ed179a578811c5223f2e210c49055d..a29e6324a00eceb49c6c25ae43b06a8c5704c26f 100644 (file)
@@ -24,6 +24,8 @@
 
 static void        gail_scale_class_init        (GailScaleClass *klass);
 
+static void         gail_scale_init              (GailScale      *scale);
+
 static void         gail_scale_real_initialize   (AtkObject      *obj,
                                                   gpointer      data);
 static void         gail_scale_notify            (GObject       *obj,
@@ -77,44 +79,8 @@ static AtkAttributeSet* gail_scale_get_run_attributes
 static AtkAttributeSet* gail_scale_get_default_attributes
                                                    (AtkText           *text);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_scale_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailRangeClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_scale_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailScale), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_RANGE,
-                                     "GailScale", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailScale, gail_scale, GAIL_TYPE_RANGE,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void     
 gail_scale_class_init (GailScaleClass *klass)
@@ -126,8 +92,6 @@ gail_scale_class_init (GailScaleClass *klass)
 
   gobject_class->finalize = gail_scale_finalize;
   gobject_class->notify = gail_scale_notify;
-
-  parent_class = g_type_class_peek_parent (klass);
 }
 
 AtkObject* 
@@ -146,6 +110,11 @@ gail_scale_new (GtkWidget *widget)
   return accessible;
 }
 
+static void
+gail_scale_init (GailScale      *scale)
+{
+}
+
 static void
 gail_scale_real_initialize (AtkObject *obj,
                             gpointer  data)
@@ -154,7 +123,7 @@ gail_scale_real_initialize (AtkObject *obj,
   const gchar *txt;
   PangoLayout *layout;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_scale_parent_class)->initialize (obj, data);
 
   gail_scale = GAIL_SCALE (obj);
   gail_scale->textutil = gail_text_util_new ();
@@ -176,7 +145,7 @@ gail_scale_finalize (GObject *object)
   GailScale *scale = GAIL_SCALE (object);
 
   g_object_unref (scale->textutil);
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_scale_parent_class)->finalize (object);
 
 }
 
@@ -213,7 +182,7 @@ gail_scale_notify (GObject    *obj,
             }
         }
     }
-  G_OBJECT_CLASS (parent_class)->notify (obj, pspec);
+  G_OBJECT_CLASS (gail_scale_parent_class)->notify (obj, pspec);
 }
 
 /* atktext.h */
@@ -221,7 +190,6 @@ gail_scale_notify (GObject    *obj,
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_scale_get_text;
   iface->get_character_at_offset = gail_scale_get_character_at_offset;
   iface->get_text_before_offset = gail_scale_get_text_before_offset;
index da17889c325ab80371ed1405e51ace72995bb1e3..ccba79ab3b1abec4f22b0e67e754c2fddb96e813 100644 (file)
 #include <gtk/gtk.h>
 #include "gailscrollbar.h"
 
-static void        gail_scrollbar_class_init        (GailScrollbarClass *klass);
+static void gail_scrollbar_class_init  (GailScrollbarClass *klass);
+static void gail_scrollbar_init        (GailScrollbar      *accessible);
 
-static gint         gail_scrollbar_get_index_in_parent (AtkObject *accessible);
+static gint gail_scrollbar_get_index_in_parent (AtkObject *accessible);
 
-static GailRangeClass *parent_class = NULL;
-
-GType
-gail_scrollbar_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailScrollbarClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_scrollbar_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailScrollbar), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_RANGE,
-                                   "GailScrollbar", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailScrollbar, gail_scrollbar, GAIL_TYPE_RANGE)
 
 static void     
 gail_scrollbar_class_init (GailScrollbarClass *klass)
@@ -59,8 +33,11 @@ gail_scrollbar_class_init (GailScrollbarClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
   class->get_index_in_parent = gail_scrollbar_get_index_in_parent;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_scrollbar_init (GailScrollbar      *accessible)
+{
 }
 
 AtkObject* 
@@ -101,7 +78,7 @@ gail_scrollbar_get_index_in_parent (AtkObject *accessible)
   g_return_val_if_fail (GTK_IS_SCROLLBAR (widget), -1);
 
   if (!GTK_IS_SCROLLED_WINDOW(widget->parent))
-    return ATK_OBJECT_CLASS (parent_class)->get_index_in_parent (accessible);
+    return ATK_OBJECT_CLASS (gail_scrollbar_parent_class)->get_index_in_parent (accessible);
 
   scrolled_window = GTK_SCROLLED_WINDOW (widget->parent);
   children = gtk_container_get_children (GTK_CONTAINER (scrolled_window));
index 024bc2812af5c03a6759af5bb80a5271ede5fa68..46a5c54a377e03969a99017bb352ceb2be9405ec 100644 (file)
@@ -23,6 +23,7 @@
 
 
 static void         gail_scrolled_window_class_init     (GailScrolledWindowClass  *klass); 
+static void         gail_scrolled_window_init           (GailScrolledWindow       *window);
 static void         gail_scrolled_window_real_initialize
                                                         (AtkObject     *obj,
                                                          gpointer      data);
@@ -35,47 +36,23 @@ static void         gail_scrolled_window_scrollbar_visibility_changed
                                                          GParamSpec    *pspec,
                                                          gpointer      user_data);
 
-static GailContainerClass *parent_class = NULL;
-
-GType
-gail_scrolled_window_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailScrolledWindowClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_scrolled_window_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailScrolledWindow), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailScrolledWindow", &tinfo, 0);
-    }
-  return type;
-}
+G_DEFINE_TYPE (GailScrolledWindow, gail_scrolled_window, GAIL_TYPE_CONTAINER)
 
 static void
 gail_scrolled_window_class_init (GailScrolledWindowClass *klass)
 {
   AtkObjectClass  *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_n_children = gail_scrolled_window_get_n_children;
   class->ref_child = gail_scrolled_window_ref_child;
   class->initialize = gail_scrolled_window_real_initialize;
 }
 
+static void
+gail_scrolled_window_init (GailScrolledWindow *window)
+{
+}
+
 AtkObject* 
 gail_scrolled_window_new (GtkWidget *widget)
 {
@@ -98,7 +75,7 @@ gail_scrolled_window_real_initialize (AtkObject *obj,
 {
   GtkScrolledWindow *window;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_scrolled_window_parent_class)->initialize (obj, data);
 
   window = GTK_SCROLLED_WINDOW (data);
   g_signal_connect_data (window->hscrollbar, "notify::visible",
index 87eaa5fc1f7fa6fb87ca362c4e14280a0e2386a7..4201bdf52eaa297fde1aa951c0d00dce4356cb66 100644 (file)
 #include <gtk/gtk.h>
 #include "gailseparator.h"
 
-static void         gail_separator_class_init            (GailSeparatorClass  *klass); 
+static void         gail_separator_class_init            (GailSeparatorClass  *klass);
+static void         gail_separator_init                  (GailSeparator       *accessible);
 static AtkStateSet* gail_separator_ref_state_set        (AtkObject           *accessible);
 
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_separator_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailSeparatorClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_separator_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailSeparator), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (GAIL_TYPE_WIDGET,
-                                   "GailSeparator", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailSeparator, gail_separator, GAIL_TYPE_WIDGET)
 
 static void
 gail_separator_class_init (GailSeparatorClass *klass)
 {
   AtkObjectClass  *class = ATK_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_separator_ref_state_set;
 }
 
+static void
+gail_separator_init (GailSeparator *accessible)
+{
+}
+
 AtkObject* 
 gail_separator_new (GtkWidget *widget)
 {
@@ -88,7 +65,7 @@ gail_separator_ref_state_set (AtkObject *accessible)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_separator_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
 
   if (widget == NULL)
index d38d1c209a2e9580bb28980d574313da5a4d23f9..84e2133140ec66a4fdc9b2641d88305c4d209af3 100644 (file)
@@ -24,6 +24,7 @@
 #include "gail-private-macros.h"
 
 static void      gail_spin_button_class_init        (GailSpinButtonClass *klass);
+static void      gail_spin_button_init              (GailSpinButton *button);
 static void      gail_spin_button_real_initialize   (AtkObject      *obj,
                                                      gpointer       data);
 static void      gail_spin_button_finalize          (GObject        *object);
@@ -43,46 +44,9 @@ static gboolean  gail_spin_button_set_current_value (AtkValue       *obj,
                                                      const GValue   *value);
 static void      gail_spin_button_value_changed     (GtkAdjustment  *adjustment,
                                                      gpointer       data);
-                                                         
-static GailWidgetClass *parent_class = NULL;
-
-GType
-gail_spin_button_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailSpinButtonClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_spin_button_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailSpinButton), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_value_info =
-      {
-        (GInterfaceInitFunc) atk_value_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_ENTRY,
-                                     "GailSpinButton", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_VALUE,
-                                   &atk_value_info);
-    }
-
-  return type;
-}
+        
+G_DEFINE_TYPE_WITH_CODE (GailSpinButton, gail_spin_button, GAIL_TYPE_ENTRY,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_VALUE, atk_value_interface_init))
 
 static void
 gail_spin_button_class_init (GailSpinButtonClass *klass)
@@ -91,8 +55,6 @@ gail_spin_button_class_init (GailSpinButtonClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   GailWidgetClass *widget_class;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   widget_class = (GailWidgetClass*)klass;
 
   widget_class->notify_gtk = gail_spin_button_real_notify_gtk;
@@ -102,6 +64,11 @@ gail_spin_button_class_init (GailSpinButtonClass *klass)
   gobject_class->finalize = gail_spin_button_finalize;
 }
 
+static void
+gail_spin_button_init (GailSpinButton *button)
+{
+}
+
 AtkObject* 
 gail_spin_button_new (GtkWidget *widget)
 {
@@ -125,7 +92,7 @@ gail_spin_button_real_initialize (AtkObject *obj,
   GailSpinButton *spin_button = GAIL_SPIN_BUTTON (obj);
   GtkSpinButton *gtk_spin_button;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_spin_button_parent_class)->initialize (obj, data);
 
   gtk_spin_button = GTK_SPIN_BUTTON (data); 
   /*
@@ -150,8 +117,6 @@ gail_spin_button_real_initialize (AtkObject *obj,
 static void
 atk_value_interface_init (AtkValueIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_current_value = gail_spin_button_get_current_value;
   iface->get_maximum_value = gail_spin_button_get_maximum_value;
   iface->get_minimum_value = gail_spin_button_get_minimum_value;
@@ -240,7 +205,7 @@ gail_spin_button_finalize (GObject            *object)
       g_object_unref (spin_button->adjustment);
       spin_button->adjustment = NULL;
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_spin_button_parent_class)->finalize (object);
 }
 
 
@@ -276,7 +241,7 @@ gail_spin_button_real_notify_gtk (GObject    *obj,
                         spin_button);
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_spin_button_parent_class)->notify_gtk (obj, pspec);
 }
 
 
index aca7774a5bcbd2e4471600b97a420c8dfad8c5cb..be3c113feab55ca4e2d4a9c9c5d9ce879e72c4f5 100644 (file)
@@ -23,6 +23,7 @@
 #include <libgail-util/gailmisc.h>
 
 static void         gail_statusbar_class_init          (GailStatusbarClass *klass);
+static void         gail_statusbar_init                (GailStatusbar      *bar);
 static G_CONST_RETURN gchar* gail_statusbar_get_name   (AtkObject          *obj);
 static gint         gail_statusbar_get_n_children      (AtkObject          *obj);
 static AtkObject*   gail_statusbar_ref_child           (AtkObject          *obj,
@@ -85,44 +86,8 @@ static AtkAttributeSet* gail_statusbar_get_default_attributes
                                                    (AtkText           *text);
 static GtkWidget* get_label_from_statusbar         (GtkWidget         *statusbar);
 
-static GailContainerClass* parent_class = NULL;
-
-GType
-gail_statusbar_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailStatusbarClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_statusbar_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailStatusbar), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailStatusbar", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailStatusbar, gail_statusbar, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void
 gail_statusbar_class_init (GailStatusbarClass *klass)
@@ -133,8 +98,6 @@ gail_statusbar_class_init (GailStatusbarClass *klass)
 
   container_class = (GailContainerClass*)klass;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   gobject_class->finalize = gail_statusbar_finalize;
 
   class->get_name = gail_statusbar_get_name;
@@ -149,6 +112,11 @@ gail_statusbar_class_init (GailStatusbarClass *klass)
   container_class->remove_gtk = NULL;
 }
 
+static void
+gail_statusbar_init (GailStatusbar *bar)
+{
+}
+
 AtkObject* 
 gail_statusbar_new (GtkWidget *widget)
 {
@@ -172,7 +140,7 @@ gail_statusbar_get_name (AtkObject *obj)
 
   g_return_val_if_fail (GAIL_IS_STATUSBAR (obj), NULL);
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (obj);
+  name = ATK_OBJECT_CLASS (gail_statusbar_parent_class)->get_name (obj);
   if (name != NULL)
     return name;
   else
@@ -257,7 +225,7 @@ gail_statusbar_real_initialize (AtkObject *obj,
   GailStatusbar *statusbar = GAIL_STATUSBAR (obj);
   GtkWidget *label;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_statusbar_parent_class)->initialize (obj, data);
 
   /*
    * We get notified of changes to the label
@@ -331,7 +299,7 @@ gail_statusbar_finalize (GObject *object)
     {
       g_object_unref (statusbar->textutil);
     }
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_statusbar_parent_class)->finalize (object);
 }
 
 /* atktext.h */
@@ -339,7 +307,6 @@ gail_statusbar_finalize (GObject *object)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_statusbar_get_text;
   iface->get_character_at_offset = gail_statusbar_get_character_at_offset;
   iface->get_text_before_offset = gail_statusbar_get_text_before_offset;
index b26df6b9a22e6aab51325b8370eeb6c743befbb3..337f904e28ba91009f07cbe5c9303c40bdd83b28 100644 (file)
@@ -21,6 +21,7 @@
 #include "gailsubmenuitem.h"
 
 static void         gail_sub_menu_item_class_init       (GailSubMenuItemClass *klass);
+static void         gail_sub_menu_item_init             (GailSubMenuItem *item);
 static void         gail_sub_menu_item_real_initialize  (AtkObject      *obj,
                                                          gpointer       data);
 
@@ -42,44 +43,8 @@ static gint         menu_item_add_gtk                   (GtkContainer   *contain
 static gint         menu_item_remove_gtk                (GtkContainer   *container,
                                                          GtkWidget      *widget);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_sub_menu_item_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailSubMenuItemClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_sub_menu_item_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailSubMenuItem), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    static const GInterfaceInfo atk_selection_info =
-    {
-        (GInterfaceInitFunc) atk_selection_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-    };
-
-    type = g_type_register_static (GAIL_TYPE_MENU_ITEM,
-                                   "GailSubMenuItem", &tinfo, 0);
-    g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                 &atk_selection_info);
-  }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailSubMenuItem, gail_sub_menu_item, GAIL_TYPE_MENU_ITEM,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init))
 
 static void
 gail_sub_menu_item_class_init (GailSubMenuItemClass *klass)
@@ -87,8 +52,11 @@ gail_sub_menu_item_class_init (GailSubMenuItemClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
 
   class->initialize = gail_sub_menu_item_real_initialize;
+}
 
-  parent_class = g_type_class_peek_parent (klass);
+static void
+gail_sub_menu_item_init (GailSubMenuItem *item)
+{
 }
 
 static void
@@ -97,7 +65,7 @@ gail_sub_menu_item_real_initialize (AtkObject *obj,
 {
   GtkWidget *submenu;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_sub_menu_item_parent_class)->initialize (obj, data);
 
   submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (data));
   g_return_if_fail (submenu);
@@ -133,8 +101,6 @@ gail_sub_menu_item_new (GtkWidget *widget)
 static void
 atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->add_selection = gail_sub_menu_item_add_selection;
   iface->clear_selection = gail_sub_menu_item_clear_selection;
   iface->ref_selection = gail_sub_menu_item_ref_selection;
index 25c814cb2e7e77b64edc32be3523ae128d2cba2d..eaa774f9083b5f2aa3623de94ee09958597b52e9 100644 (file)
@@ -125,44 +125,8 @@ gchar *gail_text_cell_property_list[] = {
   NULL
 };
 
-static gpointer parent_class = NULL;
-
-GType
-gail_text_cell_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailTextCellClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_text_cell_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailTextCell), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_text_cell_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_RENDERER_CELL,
-                                     "GailTextCell", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-      gail_cell_type_add_action_interface (type);
-    }
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailTextCell, gail_text_cell, GAIL_TYPE_RENDERER_CELL,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init))
 
 static void 
 gail_text_cell_class_init (GailTextCellClass *klass)
@@ -171,7 +135,6 @@ gail_text_cell_class_init (GailTextCellClass *klass)
   AtkObjectClass *atk_object_class = ATK_OBJECT_CLASS (klass);
   GailRendererCellClass *renderer_cell_class = GAIL_RENDERER_CELL_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
   renderer_cell_class->update_cache = gail_text_cell_update_cache;
   renderer_cell_class->property_list = gail_text_cell_property_list;
 
@@ -223,7 +186,7 @@ gail_text_cell_finalize (GObject            *object)
   g_object_unref (text_cell->textutil);
   g_free (text_cell->cell_text);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_text_cell_parent_class)->finalize (object);
 }
 
 static G_CONST_RETURN gchar*
@@ -311,7 +274,6 @@ gail_text_cell_update_cache (GailRendererCell *cell,
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->get_text = gail_text_cell_get_text;
   iface->get_character_at_offset = gail_text_cell_get_character_at_offset;
   iface->get_text_before_offset = gail_text_cell_get_text_before_offset;
index 962ecdf9e968d7010e16ba3f5d8f770e135a9f1a..408253b00e07126511f39a2182c9ecafbf275dde 100644 (file)
@@ -168,8 +168,6 @@ static void             emit_text_caret_moved          (GailTextView     *gail_t
                                                         gint             insert_offset);
 static gint             insert_idle_handler            (gpointer         data);
 
-static GailWidgetClass *parent_class = NULL;
-
 typedef struct _GailTextViewPaste                       GailTextViewPaste;
 
 struct _GailTextViewPaste
@@ -178,60 +176,10 @@ struct _GailTextViewPaste
   gint position;
 };
 
-GType
-gail_text_view_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailTextViewClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_text_view_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailTextView), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) gail_text_view_init, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_editable_text_info =
-      {
-        (GInterfaceInitFunc) atk_editable_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_text_info =
-      {
-        (GInterfaceInitFunc) atk_text_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo atk_streamable_content_info =
-      {
-        (GInterfaceInitFunc) atk_streamable_content_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailTextView", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_EDITABLE_TEXT,
-                                   &atk_editable_text_info);
-      g_type_add_interface_static (type, ATK_TYPE_TEXT,
-                                   &atk_text_info);
-      g_type_add_interface_static (type, ATK_TYPE_STREAMABLE_CONTENT,
-                                   &atk_streamable_content_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailTextView, gail_text_view, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_EDITABLE_TEXT, atk_editable_text_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TEXT, atk_text_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_STREAMABLE_CONTENT, atk_streamable_content_interface_init))
 
 static void
 gail_text_view_class_init (GailTextViewClass *klass)
@@ -242,8 +190,6 @@ gail_text_view_class_init (GailTextViewClass *klass)
 
   widget_class = (GailWidgetClass*)klass;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   gobject_class->finalize = gail_text_view_finalize;
 
   class->ref_state_set = gail_text_view_ref_state_set;
@@ -294,7 +240,7 @@ gail_text_view_real_initialize (AtkObject *obj,
   GtkTextView *view;
   GailTextView *gail_view;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_text_view_parent_class)->initialize (obj, data);
 
   view = GTK_TEXT_VIEW (data);
 
@@ -314,7 +260,7 @@ gail_text_view_finalize (GObject            *object)
   if (text_view->insert_notify_handler)
     g_source_remove (text_view->insert_notify_handler);
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_text_view_parent_class)->finalize (object);
 }
 
 AtkObject*
@@ -355,7 +301,7 @@ gail_text_view_real_notify_gtk (GObject             *obj,
       setup_buffer (GTK_TEXT_VIEW (obj), GAIL_TEXT_VIEW (atk_obj));
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_text_view_parent_class)->notify_gtk (obj, pspec);
 }
 
 /* atkobject.h */
@@ -367,7 +313,7 @@ gail_text_view_ref_state_set (AtkObject *accessible)
   GtkTextView *text_view;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_text_view_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
 
   if (widget == NULL)
@@ -387,8 +333,6 @@ gail_text_view_ref_state_set (AtkObject *accessible)
 static void
 atk_text_interface_init (AtkTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->get_text = gail_text_view_get_text;
   iface->get_text_after_offset = gail_text_view_get_text_after_offset;
   iface->get_text_at_offset = gail_text_view_get_text_at_offset;
@@ -1014,8 +958,6 @@ gail_text_view_set_selection (AtkText *text,
 static void
 atk_editable_text_interface_init (AtkEditableTextIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->set_text_contents = gail_text_view_set_text_contents;
   iface->insert_text = gail_text_view_insert_text;
   iface->copy_text = gail_text_view_copy_text;
@@ -1707,8 +1649,6 @@ insert_idle_handler (gpointer data)
 static void       
 atk_streamable_content_interface_init    (AtkStreamableContentIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-  
   iface->get_n_mime_types = gail_streamable_content_get_n_mime_types;
   iface->get_mime_type = gail_streamable_content_get_mime_type;
   iface->get_stream = gail_streamable_content_get_stream;
index 13d509c74416f526523c658914f38d12dff766b1..1d3c6d3be9b42928aa8208f8d4bb745d797247c4 100644 (file)
@@ -23,6 +23,8 @@
 
 static void      gail_toggle_button_class_init        (GailToggleButtonClass *klass);
 
+static void      gail_toggle_button_init              (GailToggleButton      *button);
+
 static void      gail_toggle_button_toggled_gtk       (GtkWidget             *widget);
 
 static void      gail_toggle_button_real_notify_gtk   (GObject               *obj,
@@ -33,35 +35,7 @@ static void      gail_toggle_button_real_initialize   (AtkObject             *ob
 
 static AtkStateSet* gail_toggle_button_ref_state_set  (AtkObject             *accessible);
 
-static GailButtonClass *parent_class = NULL;
-
-GType
-gail_toggle_button_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailToggleButtonClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_toggle_button_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailToggleButton), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      type = g_type_register_static (GAIL_TYPE_BUTTON,
-                                     "GailToggleButton", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailToggleButton, gail_toggle_button, GAIL_TYPE_BUTTON)
 
 static void
 gail_toggle_button_class_init (GailToggleButtonClass *klass)
@@ -72,12 +46,15 @@ gail_toggle_button_class_init (GailToggleButtonClass *klass)
   widget_class = (GailWidgetClass*)klass;
   widget_class->notify_gtk = gail_toggle_button_real_notify_gtk;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->ref_state_set = gail_toggle_button_ref_state_set;
   class->initialize = gail_toggle_button_real_initialize;
 }
 
+static void
+gail_toggle_button_init (GailToggleButton *button)
+{
+}
+
 AtkObject* 
 gail_toggle_button_new (GtkWidget *widget)
 {
@@ -98,7 +75,7 @@ static void
 gail_toggle_button_real_initialize (AtkObject *obj,
                                     gpointer  data)
 {
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_toggle_button_parent_class)->initialize (obj, data);
 
   g_signal_connect (data,
                     "toggled",
@@ -131,7 +108,7 @@ gail_toggle_button_ref_state_set (AtkObject *accessible)
   GtkToggleButton *toggle_button;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_toggle_button_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
  
   if (widget == NULL)
@@ -161,5 +138,5 @@ gail_toggle_button_real_notify_gtk (GObject           *obj,
     atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED,
                        !gtk_toggle_button_get_inconsistent (toggle_button));
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_toggle_button_parent_class)->notify_gtk (obj, pspec);
 }
index 237204b02492c81016c00315d36f0f2d3df723a5..48cf6cb00690e0fae42f45e663cabc5011f50d44 100644 (file)
@@ -23,7 +23,7 @@
 #include "gailtoplevel.h"
 
 static void             gail_toplevel_class_init        (GailToplevelClass      *klass);
-static void             gail_toplevel_object_init       (GailToplevel           *toplevel);
+static void             gail_toplevel_init              (GailToplevel           *toplevel);
 static void             gail_toplevel_object_finalize   (GObject                *obj);
 
 /* atkobject.h */
@@ -55,35 +55,7 @@ static gboolean  is_attached_menu_window                (GtkWidget
 static gboolean  is_combo_window                        (GtkWidget              *widget);
 
 
-static gpointer parent_class = NULL;
-
-GType
-gail_toplevel_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-        {
-          sizeof (GailToplevelClass),
-          (GBaseInitFunc) NULL, /* base init */
-          (GBaseFinalizeFunc) NULL, /* base finalize */
-          (GClassInitFunc) gail_toplevel_class_init, /* class init */
-          (GClassFinalizeFunc) NULL, /* class finalize */
-          NULL, /* class data */
-          sizeof (GailToplevel), /* instance size */
-          0, /* nb preallocs */
-          (GInstanceInitFunc) gail_toplevel_object_init, /* instance init */
-          NULL /* value table */
-        };
-
-      type = g_type_register_static (ATK_TYPE_OBJECT,
-                                   "GailToplevel", &tinfo, 0);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE (GailToplevel, gail_toplevel, ATK_TYPE_OBJECT)
 
 AtkObject*
 gail_toplevel_new (void)
@@ -108,8 +80,6 @@ gail_toplevel_class_init (GailToplevelClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS(klass);
   GObjectClass *g_object_class = G_OBJECT_CLASS(klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_n_children = gail_toplevel_get_n_children;
   class->ref_child = gail_toplevel_ref_child;
   class->get_parent = gail_toplevel_get_parent;
@@ -118,7 +88,7 @@ gail_toplevel_class_init (GailToplevelClass *klass)
 }
 
 static void
-gail_toplevel_object_init (GailToplevel *toplevel)
+gail_toplevel_init (GailToplevel *toplevel)
 {
   GtkWindow *window;
   GtkWidget *widget;
@@ -171,7 +141,7 @@ gail_toplevel_object_finalize (GObject *obj)
   if (toplevel->window_list)
     g_list_free (toplevel->window_list);
 
-  G_OBJECT_CLASS (parent_class)->finalize (obj);
+  G_OBJECT_CLASS (gail_toplevel_parent_class)->finalize (obj);
 }
 
 static AtkObject*
index 627ab9275f606e106dd56e06806fba23d3aca889..de275edbdaf5b44801bae92a89e731ec4a7a2064 100644 (file)
@@ -35,6 +35,7 @@ typedef struct _GailTreeViewRowInfo    GailTreeViewRowInfo;
 typedef struct _GailTreeViewCellInfo   GailTreeViewCellInfo;
 
 static void             gail_tree_view_class_init       (GailTreeViewClass      *klass);
+static void             gail_tree_view_init             (GailTreeView           *view);
 static void             gail_tree_view_real_initialize  (AtkObject              *obj,
                                                          gpointer               data);
 static void             gail_tree_view_real_notify_gtk  (GObject               *obj,
@@ -342,7 +343,6 @@ static AtkObject *       get_header_from_column         (GtkTreeViewColumn
 static gboolean          idle_garbage_collect_cell_data (gpointer data);
 static gboolean          garbage_collect_cell_data      (gpointer data);
 
-static GailWidgetClass *parent_class = NULL;
 static GQuark quark_column_desc_object = 0;
 static GQuark quark_column_header_object = 0;
 static gboolean editing = FALSE;
@@ -365,70 +365,11 @@ struct _GailTreeViewCellInfo
   gboolean in_use;
 };
 
-GType
-gail_tree_view_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailTreeViewClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_tree_view_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailTreeView), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_table_info =
-      {
-       (GInterfaceInitFunc) atk_table_interface_init,
-       (GInterfaceFinalizeFunc) NULL,
-       NULL
-      };
-
-      static const GInterfaceInfo atk_selection_info =
-      {
-       (GInterfaceInitFunc) atk_selection_interface_init,
-       (GInterfaceFinalizeFunc) NULL,
-       NULL
-      };
-
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) atk_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      static const GInterfaceInfo gail_cell_parent_info =
-      {
-       (GInterfaceInitFunc) gail_cell_parent_interface_init,
-       (GInterfaceFinalizeFunc) NULL,
-       NULL
-      };
-
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailTreeView", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_TABLE,
-                                   &atk_table_info);
-      g_type_add_interface_static (type, ATK_TYPE_SELECTION,
-                                   &atk_selection_info);
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-      g_type_add_interface_static (type, GAIL_TYPE_CELL_PARENT,
-                                   &gail_cell_parent_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailTreeView, gail_tree_view, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE, atk_table_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init)
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init)
+                         G_IMPLEMENT_INTERFACE (GAIL_TYPE_CELL_PARENT, gail_cell_parent_interface_init))
 
 static void
 gail_tree_view_class_init (GailTreeViewClass *klass)
@@ -443,8 +384,6 @@ gail_tree_view_class_init (GailTreeViewClass *klass)
   widget_class = (GailWidgetClass*)klass;
   container_class = (GailContainerClass*)klass;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_n_children = gail_tree_view_get_n_children;
   class->ref_child = gail_tree_view_ref_child;
   class->ref_state_set = gail_tree_view_ref_state_set;
@@ -468,6 +407,11 @@ gail_tree_view_class_init (GailTreeViewClass *klass)
   quark_column_header_object = g_quark_from_static_string ("gtk-header-object");
 }
 
+static void
+gail_tree_view_init (GailTreeView *view)
+{
+}
+
 static void
 gail_tree_view_real_initialize (AtkObject *obj,
                                 gpointer  data)
@@ -479,7 +423,7 @@ gail_tree_view_real_initialize (AtkObject *obj,
   GList *tv_cols, *tmp_list;
   GtkWidget *widget;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_tree_view_parent_class)->initialize (obj, data);
 
   view = GAIL_TREE_VIEW (obj);
   view->caption = NULL;
@@ -659,7 +603,7 @@ gail_tree_view_real_notify_gtk (GObject             *obj,
                         tree_view);
     }
   else
-    parent_class->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_tree_view_parent_class)->notify_gtk (obj, pspec);
 }
 
 AtkObject*
@@ -713,7 +657,7 @@ gail_tree_view_finalize (GObject        *object)
       g_array_free (array, TRUE);
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_tree_view_parent_class)->finalize (object);
 }
 
 static void
@@ -726,7 +670,7 @@ gail_tree_view_connect_widget_destroyed (GtkAccessible *accessible)
                               G_CALLBACK (gail_tree_view_destroyed),
                               accessible);
     }
-  GTK_ACCESSIBLE_CLASS (parent_class)->connect_widget_destroyed (accessible);
+  GTK_ACCESSIBLE_CLASS (gail_tree_view_parent_class)->connect_widget_destroyed (accessible);
 }
 
 static void
@@ -944,9 +888,9 @@ gail_tree_view_ref_child (AtkObject *obj,
       gail_return_val_if_fail (container, NULL);
 
       container_cell = GAIL_CELL (container);
-      gail_cell_init (container_cell,
-                      widget, ATK_OBJECT (gailview), 
-                      i);
+      gail_cell_initialise (container_cell,
+                            widget, ATK_OBJECT (gailview), 
+                            i);
       /*
        * The GailTreeViewCellInfo structure for the container will be before
        * the ones for the cells so that the first one we find for a position
@@ -982,9 +926,9 @@ gail_tree_view_ref_child (AtkObject *obj,
     /* Create the GailTreeViewCellInfo structure for this cell */
     cell_info_new (gailview, tree_model, path, tv_col, cell);
 
-    gail_cell_init (cell,
-                    widget, parent, 
-                    i);
+    gail_cell_initialise (cell,
+                          widget, parent, 
+                          i);
 
     cell->refresh_index = refresh_cell_index;
 
@@ -1017,9 +961,9 @@ gail_tree_view_ref_child (AtkObject *obj,
         /* Create the GailTreeViewCellInfo structure for this cell */
         cell_info_new (gailview, tree_model, path, tv_col, cell);
 
-        gail_cell_init (cell,
-                        widget, parent, 
-                        i);
+        gail_cell_initialise (cell,
+                              widget, parent, 
+                              i);
 
         if (container)
           gail_container_cell_add_child (container, cell);
@@ -1108,7 +1052,7 @@ gail_tree_view_ref_state_set (AtkObject *obj)
   AtkStateSet *state_set;
   GtkWidget *widget;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (obj);
+  state_set = ATK_OBJECT_CLASS (gail_tree_view_parent_class)->ref_state_set (obj);
   widget = GTK_ACCESSIBLE (obj)->widget;
 
   if (widget != NULL)
@@ -1122,8 +1066,6 @@ gail_tree_view_ref_state_set (AtkObject *obj)
 static void
 atk_component_interface_init (AtkComponentIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   iface->ref_accessible_at_point = gail_tree_view_ref_accessible_at_point;
 }
 
@@ -1173,7 +1115,6 @@ gail_tree_view_ref_accessible_at_point (AtkComponent           *component,
 static void 
 atk_table_interface_init (AtkTableIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->ref_at = gail_tree_view_table_ref_at;
   iface->get_n_rows = gail_tree_view_get_n_rows;       
   iface->get_n_columns = gail_tree_view_get_n_columns; 
@@ -1955,7 +1896,6 @@ get_row_info (AtkTable    *table,
 
 static void atk_selection_interface_init (AtkSelectionIface *iface)
 {
-  g_return_if_fail (iface != NULL);
   iface->add_selection = gail_tree_view_add_selection;
   iface->clear_selection = gail_tree_view_clear_selection;
   iface->ref_selection = gail_tree_view_ref_selection;
@@ -2055,8 +1995,6 @@ gail_tree_view_is_child_selected (AtkSelection *selection,
 
 static void gail_cell_parent_interface_init (GailCellParentIface *iface)
 {
-  g_return_if_fail (iface);
-
   iface->get_cell_extents = gail_tree_view_get_cell_extents;
   iface->get_cell_area = gail_tree_view_get_cell_area;
   iface->grab_focus = gail_tree_view_grab_cell_focus;
index bdfa62516900328ce677e8581086e67cb9315c97..5865f29b1becc94881da54d6cf6813e87fc018d0 100644 (file)
@@ -26,7 +26,7 @@
 #include "gail-private-macros.h"
 
 static void            gail_util_class_init                    (GailUtilClass          *klass);
-
+static void             gail_util_init                          (GailUtil               *utils);
 /* atkutil.h */
 
 static guint           gail_util_add_global_event_listener     (GSignalEmissionHook    listener,
@@ -41,6 +41,7 @@ static G_CONST_RETURN gchar *gail_util_get_toolkit_version      (void);
 
 /* gailmisc/AtkMisc */
 static void            gail_misc_class_init                    (GailMiscClass          *klass);
+static void             gail_misc_init                          (GailMisc               *misc);
 
 static void gail_misc_threads_enter (AtkMisc *misc);
 static void gail_misc_threads_leave (AtkMisc *misc);
@@ -93,32 +94,7 @@ struct _GailKeyEventInfo
   gpointer func_data;
 };
 
-GType
-gail_util_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailUtilClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_util_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailUtil), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (ATK_TYPE_UTIL,
-                                   "GailUtil", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailUtil, gail_util, ATK_TYPE_UTIL)
 
 static void     
 gail_util_class_init (GailUtilClass *klass)
@@ -145,6 +121,11 @@ gail_util_class_init (GailUtilClass *klass)
      _listener_info_destroy);
 }
 
+static void
+gail_util_init (GailUtil *utils)
+{
+}
+
 static guint
 gail_util_add_global_event_listener (GSignalEmissionHook listener,
                                     const gchar *event_type)
@@ -609,32 +590,7 @@ configure_event_watcher (GSignalInvocationHint  *hint,
     }
 }
 
-GType
-gail_misc_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-  {
-    static const GTypeInfo tinfo =
-    {
-      sizeof (GailMiscClass),
-      (GBaseInitFunc) NULL, /* base init */
-      (GBaseFinalizeFunc) NULL, /* base finalize */
-      (GClassInitFunc) gail_misc_class_init, /* class init */
-      (GClassFinalizeFunc) NULL, /* class finalize */
-      NULL, /* class data */
-      sizeof (GailMisc), /* instance size */
-      0, /* nb preallocs */
-      (GInstanceInitFunc) NULL, /* instance init */
-      NULL /* value table */
-    };
-
-    type = g_type_register_static (ATK_TYPE_MISC,
-                                   "GailMisc", &tinfo, 0);
-  }
-  return type;
-}
+G_DEFINE_TYPE (GailMisc, gail_misc, ATK_TYPE_MISC)
 
 static void     
 gail_misc_class_init (GailMiscClass *klass)
@@ -647,6 +603,11 @@ gail_misc_class_init (GailMiscClass *klass)
   atk_misc_instance = g_object_new (GAIL_TYPE_MISC, NULL);
 }
 
+static void
+gail_misc_init (GailMisc *misc)
+{
+}
+
 static void gail_misc_threads_enter (AtkMisc *misc)
 {
   GDK_THREADS_ENTER ();
index 728347913258ffbe44ce7302ba3dad9f5cdebc04..afd21384190db21cf703f1535259df0cdc4623d9 100644 (file)
@@ -29,7 +29,7 @@
 extern GtkWidget *focus_widget;
 
 static void gail_widget_class_init (GailWidgetClass *klass);
-
+static void gail_widget_init                     (GailWidget       *accessible);
 static void gail_widget_connect_widget_destroyed (GtkAccessible    *accessible);
 static void gail_widget_destroyed                (GtkWidget        *widget,
                                                   GtkAccessible    *accessible);
@@ -102,44 +102,8 @@ static void       gail_widget_real_initialize    (AtkObject     *obj,
 static GtkWidget* gail_widget_find_viewport      (GtkWidget     *widget);
 static gboolean   gail_widget_on_screen          (GtkWidget     *widget);
 
-static gpointer parent_class = NULL;
-
-GType
-gail_widget_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailWidgetClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_widget_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailWidget), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) atk_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };
-
-      type = g_type_register_static (GTK_TYPE_ACCESSIBLE,
-                                     "GailWidget", &tinfo, 0);
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailWidget, gail_widget, GTK_TYPE_ACCESSIBLE,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
 
 static void
 gail_widget_class_init (GailWidgetClass *klass)
@@ -147,8 +111,6 @@ gail_widget_class_init (GailWidgetClass *klass)
   AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
   GtkAccessibleClass *accessible_class = GTK_ACCESSIBLE_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   klass->notify_gtk = gail_widget_real_notify_gtk;
   klass->focus_gtk = gail_widget_real_focus_gtk;
 
@@ -162,6 +124,11 @@ gail_widget_class_init (GailWidgetClass *klass)
   class->initialize = gail_widget_real_initialize;
 }
 
+static void
+gail_widget_init (GailWidget *accessible)
+{
+}
+
 /**
  * This function  specifies the GtkWidget for which the GailWidget was created 
  * and specifies a handler to be called when the GtkWidget is destroyed.
@@ -412,7 +379,7 @@ gail_widget_ref_relation_set (AtkObject *obj)
      */
     return NULL;
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_widget_parent_class)->ref_relation_set (obj);
 
   if (GTK_IS_BOX (widget) && !GTK_IS_COMBO (widget))
       /*
@@ -506,7 +473,7 @@ gail_widget_ref_state_set (AtkObject *accessible)
   GtkWidget *widget = GTK_ACCESSIBLE (accessible)->widget;
   AtkStateSet *state_set;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_widget_parent_class)->ref_state_set (accessible);
 
   if (widget == NULL)
     {
@@ -633,8 +600,6 @@ gail_widget_get_index_in_parent (AtkObject *accessible)
 static void 
 atk_component_interface_init (AtkComponentIface *iface)
 {
-  g_return_if_fail (iface != NULL);
-
   /*
    * Use default implementation for contains and get_position
    */
index c14989f76aa3b97d3050eb5b5d0c3c9c5a26e454..904f37191dcd7bbddc83dd5a183147a54719ce21 100644 (file)
@@ -38,6 +38,8 @@ enum {
 
 static void gail_window_class_init (GailWindowClass *klass);
 
+static void                  gail_window_init            (GailWindow   *accessible);
+
 static void                  gail_window_real_initialize (AtkObject    *obj,
                                                           gpointer     data);
 static void                  gail_window_finalize        (GObject      *object);
@@ -73,44 +75,8 @@ static void                  gail_window_get_size         (AtkComponent
 
 static guint gail_window_signals [LAST_SIGNAL] = { 0, };
 
-static gpointer parent_class = NULL;
-
-GType
-gail_window_get_type (void)
-{
-  static GType type = 0;
-
-  if (!type)
-    {
-      static const GTypeInfo tinfo =
-      {
-        sizeof (GailWindowClass),
-        (GBaseInitFunc) NULL, /* base init */
-        (GBaseFinalizeFunc) NULL, /* base finalize */
-        (GClassInitFunc) gail_window_class_init, /* class init */
-        (GClassFinalizeFunc) NULL, /* class finalize */
-        NULL, /* class data */
-        sizeof (GailWindow), /* instance size */
-        0, /* nb preallocs */
-        (GInstanceInitFunc) NULL, /* instance init */
-        NULL /* value table */
-      };
-  
-      static const GInterfaceInfo atk_component_info =
-      {
-        (GInterfaceInitFunc) atk_component_interface_init,
-        (GInterfaceFinalizeFunc) NULL,
-        NULL
-      };      
-      type = g_type_register_static (GAIL_TYPE_CONTAINER,
-                                     "GailWindow", &tinfo, 0);
-
-      g_type_add_interface_static (type, ATK_TYPE_COMPONENT,
-                                   &atk_component_info);
-    }
-
-  return type;
-}
+G_DEFINE_TYPE_WITH_CODE (GailWindow, gail_window, GAIL_TYPE_CONTAINER,
+                         G_IMPLEMENT_INTERFACE (ATK_TYPE_COMPONENT, atk_component_interface_init))
 
 static void
 gail_window_class_init (GailWindowClass *klass)
@@ -125,8 +91,6 @@ gail_window_class_init (GailWindowClass *klass)
   widget_class->focus_gtk = gail_window_real_focus_gtk;
   widget_class->notify_gtk = gail_window_real_notify_gtk;
 
-  parent_class = g_type_class_peek_parent (klass);
-
   class->get_name = gail_window_get_name;
   class->get_parent = gail_window_get_parent;
   class->get_index_in_parent = gail_window_get_index_in_parent;
@@ -237,6 +201,11 @@ gail_window_new (GtkWidget *widget)
   return accessible;
 }
 
+static void
+gail_window_init (GailWindow   *accessible)
+{
+}
+
 static void
 gail_window_real_initialize (AtkObject *obj,
                              gpointer  data)
@@ -244,7 +213,7 @@ gail_window_real_initialize (AtkObject *obj,
   GtkWidget *widget;
   GailWindow *window;
 
-  ATK_OBJECT_CLASS (parent_class)->initialize (obj, data);
+  ATK_OBJECT_CLASS (gail_window_parent_class)->initialize (obj, data);
 
   window = GAIL_WINDOW (obj);
   window->name_change_handler = 0;
@@ -301,7 +270,7 @@ gail_window_finalize (GObject *object)
       window->previous_name = NULL;
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gail_window_parent_class)->finalize (object);
 }
 
 static G_CONST_RETURN gchar*
@@ -309,7 +278,7 @@ gail_window_get_name (AtkObject *accessible)
 {
   G_CONST_RETURN gchar* name;
 
-  name = ATK_OBJECT_CLASS (parent_class)->get_name (accessible);
+  name = ATK_OBJECT_CLASS (gail_window_parent_class)->get_name (accessible);
   if (name == NULL)
     {
       /*
@@ -373,7 +342,7 @@ gail_window_get_parent (AtkObject *accessible)
 {
   AtkObject* parent;
 
-  parent = ATK_OBJECT_CLASS (parent_class)->get_parent (accessible);
+  parent = ATK_OBJECT_CLASS (gail_window_parent_class)->get_parent (accessible);
 
   return parent;
 }
@@ -393,7 +362,7 @@ gail_window_get_index_in_parent (AtkObject *accessible)
 
   gail_return_val_if_fail (GTK_IS_WIDGET (widget), -1);
 
-  index = ATK_OBJECT_CLASS (parent_class)->get_index_in_parent (accessible);
+  index = ATK_OBJECT_CLASS (gail_window_parent_class)->get_index_in_parent (accessible);
   if (index != -1)
     return index;
 
@@ -449,7 +418,7 @@ gail_window_ref_relation_set (AtkObject *obj)
      */
     return NULL;
 
-  relation_set = ATK_OBJECT_CLASS (parent_class)->ref_relation_set (obj);
+  relation_set = ATK_OBJECT_CLASS (gail_window_parent_class)->ref_relation_set (obj);
 
   if (atk_object_get_role (obj) == ATK_ROLE_TOOL_TIP)
     {
@@ -479,7 +448,7 @@ gail_window_ref_state_set (AtkObject *accessible)
   GtkWindow *window;
   GdkWindowState state;
 
-  state_set = ATK_OBJECT_CLASS (parent_class)->ref_state_set (accessible);
+  state_set = ATK_OBJECT_CLASS (gail_window_parent_class)->ref_state_set (accessible);
   widget = GTK_ACCESSIBLE (accessible)->widget;
  
   if (widget == NULL)
@@ -561,7 +530,7 @@ gail_window_real_notify_gtk (GObject                *obj,
         }
     }
   else
-    GAIL_WIDGET_CLASS (parent_class)->notify_gtk (obj, pspec);
+    GAIL_WIDGET_CLASS (gail_window_parent_class)->notify_gtk (obj, pspec);
 }
 
 static gboolean
@@ -579,8 +548,6 @@ gail_window_state_event_gtk (GtkWidget           *widget,
 static void
 atk_component_interface_init (AtkComponentIface *iface)
 {
-  gail_return_if_fail (iface != NULL);
-
   iface->get_extents = gail_window_get_extents;
   iface->get_size = gail_window_get_size;
   iface->get_mdi_zorder = gail_window_get_mdi_zorder;