[glade/css: 4/11] Replaced g_type_class_add_private() with G_ADD_PRIVATE () because the new template api no longer wor



commit 35e7b5e6a75581549c9a5443b37e39dd0bf872ad
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Mon Jul 29 15:08:56 2013 -0300

    Replaced g_type_class_add_private() with G_ADD_PRIVATE ()
    because the new template api no longer works with g_type_class_add_private()
    This fixes crashes in every template object

 gladeui/glade-editor.c                         |   10 ++--------
 gladeui/glade-project-properties.c             |    9 ++-------
 gladeui/glade-property-label.c                 |    8 ++------
 plugins/gtk+/glade-about-dialog-editor.c       |    9 ++-------
 plugins/gtk+/glade-action-editor.c             |    9 ++-------
 plugins/gtk+/glade-activatable-editor.c        |   10 ++--------
 plugins/gtk+/glade-app-chooser-button-editor.c |   10 ++--------
 plugins/gtk+/glade-app-chooser-widget-editor.c |   10 ++--------
 plugins/gtk+/glade-arrow-editor.c              |   10 ++--------
 plugins/gtk+/glade-box-editor.c                |   10 ++--------
 plugins/gtk+/glade-button-editor.c             |    9 ++-------
 plugins/gtk+/glade-combo-box-editor.c          |   10 ++--------
 plugins/gtk+/glade-combo-box-text-editor.c     |   10 ++--------
 plugins/gtk+/glade-entry-editor.c              |    9 ++-------
 plugins/gtk+/glade-grid-editor.c               |   10 ++--------
 plugins/gtk+/glade-icon-view-editor.c          |   10 ++--------
 plugins/gtk+/glade-image-editor.c              |    9 ++-------
 plugins/gtk+/glade-label-editor.c              |    9 ++-------
 plugins/gtk+/glade-layout-editor.c             |   10 ++--------
 plugins/gtk+/glade-level-bar-editor.c          |   10 ++--------
 plugins/gtk+/glade-notebook-editor.c           |    9 ++-------
 plugins/gtk+/glade-progress-bar-editor.c       |   10 ++--------
 plugins/gtk+/glade-real-tree-view-editor.c     |   10 ++--------
 plugins/gtk+/glade-recent-chooser-editor.c     |    9 ++-------
 plugins/gtk+/glade-scale-button-editor.c       |    9 ++-------
 plugins/gtk+/glade-scrollbar-editor.c          |   10 ++--------
 plugins/gtk+/glade-scrolled-window-editor.c    |   10 ++--------
 plugins/gtk+/glade-text-view-editor.c          |   10 ++--------
 plugins/gtk+/glade-tool-button-editor.c        |    9 ++-------
 plugins/gtk+/glade-tool-palette-editor.c       |   10 ++--------
 plugins/gtk+/glade-viewport-editor.c           |   10 ++--------
 plugins/gtk+/glade-widget-editor.c             |    8 ++------
 plugins/gtk+/glade-window-editor.c             |    9 ++-------
 src/glade-preferences.c                        |   14 +++-----------
 src/glade-window.c                             |   12 +++---------
 35 files changed, 72 insertions(+), 268 deletions(-)
---
diff --git a/gladeui/glade-editor.c b/gladeui/glade-editor.c
index c02374e..1239fb5 100644
--- a/gladeui/glade-editor.c
+++ b/gladeui/glade-editor.c
@@ -67,10 +67,6 @@ enum
   N_PROPERTIES
 };
 
-#define GLADE_EDITOR_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object),  \
-                                         GLADE_TYPE_EDITOR,                      \
-                                         GladeEditorPrivate))
-
 #define GLADE_EDITOR_PRIVATE(object) (((GladeEditor*)object)->priv)
 
 struct _GladeEditorPrivate
@@ -141,7 +137,7 @@ struct _GladeEditorPrivate
   gboolean show_class_field; /* Whether or not to show the class field at the top */
 };
 
-G_DEFINE_TYPE (GladeEditor, glade_editor, GTK_TYPE_BOX);
+G_DEFINE_TYPE_WITH_PRIVATE (GladeEditor, glade_editor, GTK_TYPE_BOX);
 
 static GParamSpec *properties[N_PROPERTIES];
 
@@ -274,8 +270,6 @@ glade_editor_class_init (GladeEditorClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeEditor, signal_editor);
 
   gtk_widget_class_bind_template_callback (widget_class, glade_editor_switch_page);
-
-  g_type_class_add_private (klass, sizeof (GladeEditorPrivate));
 }
 
 static void
@@ -373,7 +367,7 @@ glade_editor_init (GladeEditor *editor)
   GladeEditorPrivate *priv;
   gint                icon_height;
 
-  editor->priv = priv = GLADE_EDITOR_GET_PRIVATE (editor);
+  editor->priv = priv = glade_editor_get_instance_private (editor);
 
   priv->show_class_field = TRUE;
 
diff --git a/gladeui/glade-project-properties.c b/gladeui/glade-project-properties.c
index 646c223..b0baaa7 100644
--- a/gladeui/glade-project-properties.c
+++ b/gladeui/glade-project-properties.c
@@ -96,7 +96,7 @@ enum
   PROP_PROJECT,
 };
 
-G_DEFINE_TYPE (GladeProjectProperties, glade_project_properties, GTK_TYPE_DIALOG);
+G_DEFINE_TYPE_WITH_PRIVATE (GladeProjectProperties, glade_project_properties, GTK_TYPE_DIALOG);
 
 /********************************************************
  *                  Class/Instance Init                 *
@@ -106,10 +106,7 @@ glade_project_properties_init (GladeProjectProperties *properties)
 {
   GladeProjectPropertiesPrivate *priv;
 
-  properties->priv = priv =
-    G_TYPE_INSTANCE_GET_PRIVATE (properties,
-                                GLADE_TYPE_PROJECT_PROPERTIES,
-                                GladeProjectPropertiesPrivate);
+  properties->priv = priv = glade_project_properties_get_instance_private (properties);
 
   priv->target_radios = g_hash_table_new_full (g_str_hash, g_str_equal,
                                                g_free, NULL);
@@ -164,8 +161,6 @@ glade_project_properties_class_init (GladeProjectPropertiesClass *klass)
   gtk_widget_class_bind_template_callback (widget_class, resource_full_path_set);
   gtk_widget_class_bind_template_callback (widget_class, verify_clicked);
   gtk_widget_class_bind_template_callback (widget_class, on_domain_entry_changed);
-
-  g_type_class_add_private (gobject_class, sizeof (GladeProjectPropertiesPrivate));
 }
 
 /********************************************************
diff --git a/gladeui/glade-property-label.c b/gladeui/glade-property-label.c
index 22d3a08..3aba33f 100644
--- a/gladeui/glade-property-label.c
+++ b/gladeui/glade-property-label.c
@@ -84,16 +84,14 @@ enum {
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladePropertyLabel, glade_property_label, GTK_TYPE_EVENT_BOX,
+                         G_ADD_PRIVATE (GladePropertyLabel)
                         G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_property_label_editable_init));
 
 static void
 glade_property_label_init (GladePropertyLabel *label)
 {
-  label->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (label,
-                                GLADE_TYPE_PROPERTY_LABEL,
-                                GladePropertyLabelPrivate);
+  label->priv = glade_property_label_get_instance_private (label);
 
   label->priv->packing = FALSE;
   label->priv->custom_text = FALSE;
@@ -157,8 +155,6 @@ glade_property_label_class_init (GladePropertyLabelClass *class)
   gtk_widget_class_bind_template_child_private (widget_class, GladePropertyLabel, box);
   gtk_widget_class_bind_template_child_private (widget_class, GladePropertyLabel, label);
   gtk_widget_class_bind_template_child_private (widget_class, GladePropertyLabel, warning);
-
-  g_type_class_add_private (gobject_class, sizeof (GladePropertyLabelPrivate));
 }
 
 
diff --git a/plugins/gtk+/glade-about-dialog-editor.c b/plugins/gtk+/glade-about-dialog-editor.c
index 4e51485..6734fc3 100644
--- a/plugins/gtk+/glade-about-dialog-editor.c
+++ b/plugins/gtk+/glade-about-dialog-editor.c
@@ -53,13 +53,13 @@ struct _GladeAboutDialogEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeAboutDialogEditor, glade_about_dialog_editor, GLADE_TYPE_WINDOW_EDITOR,
+                         G_ADD_PRIVATE (GladeAboutDialogEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_about_dialog_editor_editable_init));
 
 static void
 glade_about_dialog_editor_class_init (GladeAboutDialogEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-about-dialog-editor.ui");
@@ -74,17 +74,12 @@ glade_about_dialog_editor_class_init (GladeAboutDialogEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, license_type_post_commit);
   gtk_widget_class_bind_template_callback (widget_class, logo_file_toggled);
   gtk_widget_class_bind_template_callback (widget_class, logo_icon_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeAboutDialogEditorPrivate));  
 }
 
 static void
 glade_about_dialog_editor_init (GladeAboutDialogEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ABOUT_DIALOG_EDITOR,
-                                GladeAboutDialogEditorPrivate);
+  self->priv = glade_about_dialog_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-action-editor.c b/plugins/gtk+/glade-action-editor.c
index b35229b..7f7f300 100644
--- a/plugins/gtk+/glade-action-editor.c
+++ b/plugins/gtk+/glade-action-editor.c
@@ -45,13 +45,13 @@ struct _GladeActionEditorPrivate {
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeActionEditor, glade_action_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeActionEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_action_editor_editable_init));
 
 static void
 glade_action_editor_class_init (GladeActionEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_action_editor_grab_focus;
@@ -66,17 +66,12 @@ glade_action_editor_class_init (GladeActionEditorClass * klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeActionEditor, radio_group_editor);
   gtk_widget_class_bind_template_child_private (widget_class, GladeActionEditor, radio_value_label);
   gtk_widget_class_bind_template_child_private (widget_class, GladeActionEditor, radio_value_editor);
-
-  g_type_class_add_private (object_class, sizeof (GladeActionEditorPrivate));  
 }
 
 static void
 glade_action_editor_init (GladeActionEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ACTION_EDITOR,
-                                GladeActionEditorPrivate);
+  self->priv = glade_action_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-activatable-editor.c b/plugins/gtk+/glade-activatable-editor.c
index af7a546..3a8d405 100644
--- a/plugins/gtk+/glade-activatable-editor.c
+++ b/plugins/gtk+/glade-activatable-editor.c
@@ -38,13 +38,13 @@ struct _GladeActivatableEditorPrivate {
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeActivatableEditor, glade_activatable_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeActivatableEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_activatable_editor_editable_init));
 
 static void
 glade_activatable_editor_class_init (GladeActivatableEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_activatable_editor_grab_focus;
@@ -53,18 +53,12 @@ glade_activatable_editor_class_init (GladeActivatableEditorClass * klass)
   gtk_widget_class_bind_template_child_private (widget_class, GladeActivatableEditor, embed);
   gtk_widget_class_bind_template_child_private (widget_class, GladeActivatableEditor, action_name_label);
   gtk_widget_class_bind_template_child_private (widget_class, GladeActivatableEditor, action_name_editor);
-
-  g_type_class_add_private (object_class, sizeof (GladeActivatableEditorPrivate));  
-
 }
 
 static void
 glade_activatable_editor_init (GladeActivatableEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ACTIVATABLE_EDITOR,
-                                GladeActivatableEditorPrivate);
+  self->priv = glade_activatable_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-app-chooser-button-editor.c b/plugins/gtk+/glade-app-chooser-button-editor.c
index 3f13412..22c64c0 100644
--- a/plugins/gtk+/glade-app-chooser-button-editor.c
+++ b/plugins/gtk+/glade-app-chooser-button-editor.c
@@ -32,29 +32,23 @@ struct _GladeAppChooserButtonEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeAppChooserButtonEditor, glade_app_chooser_button_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeAppChooserButtonEditor, glade_app_chooser_button_editor, 
GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_app_chooser_button_editor_class_init (GladeAppChooserButtonEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_app_chooser_button_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-app-chooser-button-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeAppChooserButtonEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeAppChooserButtonEditorPrivate));  
 }
 
 static void
 glade_app_chooser_button_editor_init (GladeAppChooserButtonEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_APP_CHOOSER_BUTTON_EDITOR,
-                                GladeAppChooserButtonEditorPrivate);
+  self->priv = glade_app_chooser_button_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-app-chooser-widget-editor.c b/plugins/gtk+/glade-app-chooser-widget-editor.c
index 571a2ba..e65ee40 100644
--- a/plugins/gtk+/glade-app-chooser-widget-editor.c
+++ b/plugins/gtk+/glade-app-chooser-widget-editor.c
@@ -32,29 +32,23 @@ struct _GladeAppChooserWidgetEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeAppChooserWidgetEditor, glade_app_chooser_widget_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeAppChooserWidgetEditor, glade_app_chooser_widget_editor, 
GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_app_chooser_widget_editor_class_init (GladeAppChooserWidgetEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_app_chooser_widget_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-app-chooser-widget-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeAppChooserWidgetEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeAppChooserWidgetEditorPrivate));  
 }
 
 static void
 glade_app_chooser_widget_editor_init (GladeAppChooserWidgetEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_APP_CHOOSER_WIDGET_EDITOR,
-                                GladeAppChooserWidgetEditorPrivate);
+  self->priv = glade_app_chooser_widget_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-arrow-editor.c b/plugins/gtk+/glade-arrow-editor.c
index 9cf93e4..70d0823 100644
--- a/plugins/gtk+/glade-arrow-editor.c
+++ b/plugins/gtk+/glade-arrow-editor.c
@@ -34,29 +34,23 @@ struct _GladeArrowEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeArrowEditor, glade_arrow_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeArrowEditor, glade_arrow_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_arrow_editor_class_init (GladeArrowEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_arrow_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-arrow-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeArrowEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeArrowEditorPrivate));  
 }
 
 static void
 glade_arrow_editor_init (GladeArrowEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ARROW_EDITOR,
-                                GladeArrowEditorPrivate);
+  self->priv = glade_arrow_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-box-editor.c b/plugins/gtk+/glade-box-editor.c
index 40898dc..c334200 100644
--- a/plugins/gtk+/glade-box-editor.c
+++ b/plugins/gtk+/glade-box-editor.c
@@ -33,29 +33,23 @@ struct _GladeBoxEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeBoxEditor, glade_box_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeBoxEditor, glade_box_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_box_editor_class_init (GladeBoxEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_box_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-box-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeBoxEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeBoxEditorPrivate));  
 }
 
 static void
 glade_box_editor_init (GladeBoxEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_BOX_EDITOR,
-                                GladeBoxEditorPrivate);
+  self->priv = glade_box_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-button-editor.c b/plugins/gtk+/glade-button-editor.c
index 2ea5513..d5a0a02 100644
--- a/plugins/gtk+/glade-button-editor.c
+++ b/plugins/gtk+/glade-button-editor.c
@@ -75,13 +75,13 @@ struct _GladeButtonEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeButtonEditor, glade_button_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeButtonEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_button_editor_editable_init));
 
 static void
 glade_button_editor_class_init (GladeButtonEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_button_editor_grab_focus;
@@ -110,17 +110,12 @@ glade_button_editor_class_init (GladeButtonEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, custom_toggled);
   gtk_widget_class_bind_template_callback (widget_class, stock_toggled);
   gtk_widget_class_bind_template_callback (widget_class, label_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeButtonEditorPrivate));  
 }
 
 static void
 glade_button_editor_init (GladeButtonEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_BUTTON_EDITOR,
-                                GladeButtonEditorPrivate);
+  self->priv = glade_button_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-combo-box-editor.c b/plugins/gtk+/glade-combo-box-editor.c
index e173052..4e73a23 100644
--- a/plugins/gtk+/glade-combo-box-editor.c
+++ b/plugins/gtk+/glade-combo-box-editor.c
@@ -32,29 +32,23 @@ struct _GladeComboBoxEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeComboBoxEditor, glade_combo_box_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeComboBoxEditor, glade_combo_box_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_combo_box_editor_class_init (GladeComboBoxEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_combo_box_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-combo-box-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeComboBoxEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeComboBoxEditorPrivate));  
 }
 
 static void
 glade_combo_box_editor_init (GladeComboBoxEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_COMBO_BOX_EDITOR,
-                                GladeComboBoxEditorPrivate);
+  self->priv = glade_combo_box_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-combo-box-text-editor.c b/plugins/gtk+/glade-combo-box-text-editor.c
index 126d8cd..d1931df 100644
--- a/plugins/gtk+/glade-combo-box-text-editor.c
+++ b/plugins/gtk+/glade-combo-box-text-editor.c
@@ -32,29 +32,23 @@ struct _GladeComboBoxTextEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeComboBoxTextEditor, glade_combo_box_text_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeComboBoxTextEditor, glade_combo_box_text_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_combo_box_text_editor_class_init (GladeComboBoxTextEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_combo_box_text_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-combo-box-text-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeComboBoxTextEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeComboBoxTextEditorPrivate));  
 }
 
 static void
 glade_combo_box_text_editor_init (GladeComboBoxTextEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_COMBO_BOX_TEXT_EDITOR,
-                                GladeComboBoxTextEditorPrivate);
+  self->priv = glade_combo_box_text_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-entry-editor.c b/plugins/gtk+/glade-entry-editor.c
index 784155d..2950068 100644
--- a/plugins/gtk+/glade-entry-editor.c
+++ b/plugins/gtk+/glade-entry-editor.c
@@ -81,13 +81,13 @@ struct _GladeEntryEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeEntryEditor, glade_entry_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeEntryEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_entry_editor_editable_init));
 
 static void
 glade_entry_editor_class_init (GladeEntryEditorClass * klass)
 {
-  GObjectClass   *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_entry_editor_grab_focus;
@@ -121,17 +121,12 @@ glade_entry_editor_class_init (GladeEntryEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, secondary_icon_name_toggled);
   gtk_widget_class_bind_template_callback (widget_class, secondary_pixbuf_toggled);
   gtk_widget_class_bind_template_callback (widget_class, secondary_tooltip_markup_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeEntryEditorPrivate));  
 }
 
 static void
 glade_entry_editor_init (GladeEntryEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ENTRY_EDITOR,
-                                GladeEntryEditorPrivate);
+  self->priv = glade_entry_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-grid-editor.c b/plugins/gtk+/glade-grid-editor.c
index f8f848a..d710d71 100644
--- a/plugins/gtk+/glade-grid-editor.c
+++ b/plugins/gtk+/glade-grid-editor.c
@@ -33,29 +33,23 @@ struct _GladeGridEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeGridEditor, glade_grid_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeGridEditor, glade_grid_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_grid_editor_class_init (GladeGridEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_grid_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-grid-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeGridEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeGridEditorPrivate));  
 }
 
 static void
 glade_grid_editor_init (GladeGridEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_GRID_EDITOR,
-                                GladeGridEditorPrivate);
+  self->priv = glade_grid_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-icon-view-editor.c b/plugins/gtk+/glade-icon-view-editor.c
index bab5ebe..4ad40a1 100644
--- a/plugins/gtk+/glade-icon-view-editor.c
+++ b/plugins/gtk+/glade-icon-view-editor.c
@@ -33,29 +33,23 @@ struct _GladeIconViewEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeIconViewEditor, glade_icon_view_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeIconViewEditor, glade_icon_view_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_icon_view_editor_class_init (GladeIconViewEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_icon_view_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-icon-view-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeIconViewEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeIconViewEditorPrivate));  
 }
 
 static void
 glade_icon_view_editor_init (GladeIconViewEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_ICON_VIEW_EDITOR,
-                                GladeIconViewEditorPrivate);
+  self->priv = glade_icon_view_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-image-editor.c b/plugins/gtk+/glade-image-editor.c
index 1798bcc..048fef4 100644
--- a/plugins/gtk+/glade-image-editor.c
+++ b/plugins/gtk+/glade-image-editor.c
@@ -47,13 +47,13 @@ struct _GladeImageEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeImageEditor, glade_image_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeImageEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_image_editor_editable_init));
 
 static void
 glade_image_editor_class_init (GladeImageEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_image_editor_grab_focus;
@@ -70,17 +70,12 @@ glade_image_editor_class_init (GladeImageEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, icon_toggled);
   gtk_widget_class_bind_template_callback (widget_class, resource_toggled);
   gtk_widget_class_bind_template_callback (widget_class, file_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeImageEditorPrivate));  
 }
 
 static void
 glade_image_editor_init (GladeImageEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_IMAGE_EDITOR,
-                                GladeImageEditorPrivate);
+  self->priv = glade_image_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-label-editor.c b/plugins/gtk+/glade-label-editor.c
index 23ff249..89b840d 100644
--- a/plugins/gtk+/glade-label-editor.c
+++ b/plugins/gtk+/glade-label-editor.c
@@ -61,13 +61,13 @@ struct _GladeLabelEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeLabelEditor, glade_label_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeLabelEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_label_editor_editable_init));
 
 static void
 glade_label_editor_class_init (GladeLabelEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_label_editor_grab_focus;
@@ -89,17 +89,12 @@ glade_label_editor_class_init (GladeLabelEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, wrap_free_toggled);
   gtk_widget_class_bind_template_callback (widget_class, single_toggled);
   gtk_widget_class_bind_template_callback (widget_class, wrap_mode_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeLabelEditorPrivate));  
 }
 
 static void
 glade_label_editor_init (GladeLabelEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_LABEL_EDITOR,
-                                GladeLabelEditorPrivate);
+  self->priv = glade_label_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-layout-editor.c b/plugins/gtk+/glade-layout-editor.c
index 8d59698..af4618c 100644
--- a/plugins/gtk+/glade-layout-editor.c
+++ b/plugins/gtk+/glade-layout-editor.c
@@ -33,29 +33,23 @@ struct _GladeLayoutEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeLayoutEditor, glade_layout_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeLayoutEditor, glade_layout_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_layout_editor_class_init (GladeLayoutEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_layout_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-layout-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeLayoutEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeLayoutEditorPrivate));  
 }
 
 static void
 glade_layout_editor_init (GladeLayoutEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_LAYOUT_EDITOR,
-                                GladeLayoutEditorPrivate);
+  self->priv = glade_layout_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-level-bar-editor.c b/plugins/gtk+/glade-level-bar-editor.c
index e6752d2..ffcf6c3 100644
--- a/plugins/gtk+/glade-level-bar-editor.c
+++ b/plugins/gtk+/glade-level-bar-editor.c
@@ -32,29 +32,23 @@ struct _GladeLevelBarEditorPrivate
 
 static void glade_level_bar_editor_grab_focus (GtkWidget * widget);
 
-G_DEFINE_TYPE (GladeLevelBarEditor, glade_level_bar_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeLevelBarEditor, glade_level_bar_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_level_bar_editor_class_init (GladeLevelBarEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_level_bar_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-level-bar-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeLevelBarEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeLevelBarEditorPrivate));
 }
 
 static void
 glade_level_bar_editor_init (GladeLevelBarEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_LEVEL_BAR_EDITOR,
-                                GladeLevelBarEditorPrivate);
+  self->priv = glade_level_bar_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-notebook-editor.c b/plugins/gtk+/glade-notebook-editor.c
index e2ecec0..60f8618 100644
--- a/plugins/gtk+/glade-notebook-editor.c
+++ b/plugins/gtk+/glade-notebook-editor.c
@@ -38,13 +38,13 @@ struct _GladeNotebookEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeNotebookEditor, glade_notebook_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeNotebookEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_notebook_editor_editable_init));
 
 static void
 glade_notebook_editor_class_init (GladeNotebookEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_notebook_editor_grab_focus;
@@ -52,17 +52,12 @@ glade_notebook_editor_class_init (GladeNotebookEditorClass * klass)
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-notebook-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeNotebookEditor, embed);
   gtk_widget_class_bind_template_child_private (widget_class, GladeNotebookEditor, tabs_grid);
-
-  g_type_class_add_private (object_class, sizeof (GladeNotebookEditorPrivate));  
 }
 
 static void
 glade_notebook_editor_init (GladeNotebookEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_NOTEBOOK_EDITOR,
-                                GladeNotebookEditorPrivate);
+  self->priv = glade_notebook_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-progress-bar-editor.c b/plugins/gtk+/glade-progress-bar-editor.c
index fba589e..aeb8ab7 100644
--- a/plugins/gtk+/glade-progress-bar-editor.c
+++ b/plugins/gtk+/glade-progress-bar-editor.c
@@ -32,29 +32,23 @@ struct _GladeProgressBarEditorPrivate
 
 static void glade_progress_bar_editor_grab_focus (GtkWidget * widget);
 
-G_DEFINE_TYPE (GladeProgressBarEditor, glade_progress_bar_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeProgressBarEditor, glade_progress_bar_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_progress_bar_editor_class_init (GladeProgressBarEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_progress_bar_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-progress-bar-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeProgressBarEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeProgressBarEditorPrivate));
 }
 
 static void
 glade_progress_bar_editor_init (GladeProgressBarEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_PROGRESS_BAR_EDITOR,
-                                GladeProgressBarEditorPrivate);
+  self->priv = glade_progress_bar_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-real-tree-view-editor.c b/plugins/gtk+/glade-real-tree-view-editor.c
index 12542a2..07933a7 100644
--- a/plugins/gtk+/glade-real-tree-view-editor.c
+++ b/plugins/gtk+/glade-real-tree-view-editor.c
@@ -33,29 +33,23 @@ struct _GladeRealTreeViewEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeRealTreeViewEditor, glade_real_tree_view_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeRealTreeViewEditor, glade_real_tree_view_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_real_tree_view_editor_class_init (GladeRealTreeViewEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_real_tree_view_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-real-tree-view-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeRealTreeViewEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeRealTreeViewEditorPrivate));  
 }
 
 static void
 glade_real_tree_view_editor_init (GladeRealTreeViewEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_REAL_TREE_VIEW_EDITOR,
-                                GladeRealTreeViewEditorPrivate);
+  self->priv = glade_real_tree_view_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-recent-chooser-editor.c b/plugins/gtk+/glade-recent-chooser-editor.c
index 7bf0f9c..cc27284 100644
--- a/plugins/gtk+/glade-recent-chooser-editor.c
+++ b/plugins/gtk+/glade-recent-chooser-editor.c
@@ -35,30 +35,25 @@ struct _GladeRecentChooserEditorPrivate {
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeRecentChooserEditor, glade_recent_chooser_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeRecentChooserEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_recent_chooser_editor_editable_init));
 
 static void
 glade_recent_chooser_editor_class_init (GladeRecentChooserEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-recent-chooser-editor.ui");
 
   gtk_widget_class_bind_template_child_private (widget_class, GladeRecentChooserEditor, 
select_multiple_editor);
   gtk_widget_class_bind_template_child_private (widget_class, GladeRecentChooserEditor, show_numbers_editor);
-
-  g_type_class_add_private (object_class, sizeof (GladeRecentChooserEditorPrivate));  
 }
 
 static void
 glade_recent_chooser_editor_init (GladeRecentChooserEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_RECENT_CHOOSER_EDITOR,
-                                GladeRecentChooserEditorPrivate);
+  self->priv = glade_recent_chooser_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-scale-button-editor.c b/plugins/gtk+/glade-scale-button-editor.c
index dfc41ec..62b54eb 100644
--- a/plugins/gtk+/glade-scale-button-editor.c
+++ b/plugins/gtk+/glade-scale-button-editor.c
@@ -35,27 +35,22 @@ struct _GladeScaleButtonEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeScaleButtonEditor, glade_scale_button_editor, GLADE_TYPE_BUTTON_EDITOR,
+                         G_ADD_PRIVATE (GladeScaleButtonEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_scale_button_editor_editable_init));
 
 static void
 glade_scale_button_editor_class_init (GladeScaleButtonEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-scale-button-editor.ui");
-
-  g_type_class_add_private (object_class, sizeof (GladeScaleButtonEditorPrivate));  
 }
 
 static void
 glade_scale_button_editor_init (GladeScaleButtonEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_SCALE_BUTTON_EDITOR,
-                                GladeScaleButtonEditorPrivate);
+  self->priv = glade_scale_button_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-scrollbar-editor.c b/plugins/gtk+/glade-scrollbar-editor.c
index d6993ed..812c125 100644
--- a/plugins/gtk+/glade-scrollbar-editor.c
+++ b/plugins/gtk+/glade-scrollbar-editor.c
@@ -33,29 +33,23 @@ struct _GladeScrollbarEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeScrollbarEditor, glade_scrollbar_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeScrollbarEditor, glade_scrollbar_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_scrollbar_editor_class_init (GladeScrollbarEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_scrollbar_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-scrollbar-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeScrollbarEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeScrollbarEditorPrivate));  
 }
 
 static void
 glade_scrollbar_editor_init (GladeScrollbarEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_SCROLLBAR_EDITOR,
-                                GladeScrollbarEditorPrivate);
+  self->priv = glade_scrollbar_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-scrolled-window-editor.c b/plugins/gtk+/glade-scrolled-window-editor.c
index c5ccb41..bf4260a 100644
--- a/plugins/gtk+/glade-scrolled-window-editor.c
+++ b/plugins/gtk+/glade-scrolled-window-editor.c
@@ -32,29 +32,23 @@ struct _GladeScrolledWindowEditorPrivate
 
 static void glade_scrolled_window_editor_grab_focus (GtkWidget * widget);
 
-G_DEFINE_TYPE (GladeScrolledWindowEditor, glade_scrolled_window_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeScrolledWindowEditor, glade_scrolled_window_editor, 
GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_scrolled_window_editor_class_init (GladeScrolledWindowEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_scrolled_window_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-scrolled-window-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeScrolledWindowEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeScrolledWindowEditorPrivate));
 }
 
 static void
 glade_scrolled_window_editor_init (GladeScrolledWindowEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_SCROLLED_WINDOW_EDITOR,
-                                GladeScrolledWindowEditorPrivate);
+  self->priv = glade_scrolled_window_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-text-view-editor.c b/plugins/gtk+/glade-text-view-editor.c
index 20b55f5..0be3bd9 100644
--- a/plugins/gtk+/glade-text-view-editor.c
+++ b/plugins/gtk+/glade-text-view-editor.c
@@ -32,29 +32,23 @@ struct _GladeTextViewEditorPrivate
 
 static void glade_text_view_editor_grab_focus (GtkWidget * widget);
 
-G_DEFINE_TYPE (GladeTextViewEditor, glade_text_view_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeTextViewEditor, glade_text_view_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_text_view_editor_class_init (GladeTextViewEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_text_view_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-text-view-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeTextViewEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeTextViewEditorPrivate));
 }
 
 static void
 glade_text_view_editor_init (GladeTextViewEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_TEXT_VIEW_EDITOR,
-                                GladeTextViewEditorPrivate);
+  self->priv = glade_text_view_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-tool-button-editor.c b/plugins/gtk+/glade-tool-button-editor.c
index b3e8dc9..da270f9 100644
--- a/plugins/gtk+/glade-tool-button-editor.c
+++ b/plugins/gtk+/glade-tool-button-editor.c
@@ -62,13 +62,13 @@ struct _GladeToolButtonEditorPrivate
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeToolButtonEditor, glade_tool_button_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeToolButtonEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_tool_button_editor_editable_init));
 
 static void
 glade_tool_button_editor_class_init (GladeToolButtonEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_tool_button_editor_grab_focus;
@@ -90,17 +90,12 @@ glade_tool_button_editor_class_init (GladeToolButtonEditorClass * klass)
   gtk_widget_class_bind_template_callback (widget_class, stock_toggled);
   gtk_widget_class_bind_template_callback (widget_class, icon_toggled);
   gtk_widget_class_bind_template_callback (widget_class, custom_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeToolButtonEditorPrivate));  
 }
 
 static void
 glade_tool_button_editor_init (GladeToolButtonEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_TOOL_BUTTON_EDITOR,
-                                GladeToolButtonEditorPrivate);
+  self->priv = glade_tool_button_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-tool-palette-editor.c b/plugins/gtk+/glade-tool-palette-editor.c
index 41a8dda..562b5dd 100644
--- a/plugins/gtk+/glade-tool-palette-editor.c
+++ b/plugins/gtk+/glade-tool-palette-editor.c
@@ -32,29 +32,23 @@ struct _GladeToolPaletteEditorPrivate
 
 static void glade_tool_palette_editor_grab_focus (GtkWidget * widget);
 
-G_DEFINE_TYPE (GladeToolPaletteEditor, glade_tool_palette_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeToolPaletteEditor, glade_tool_palette_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_tool_palette_editor_class_init (GladeToolPaletteEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_tool_palette_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/gladegtk/glade-tool-palette-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeToolPaletteEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeToolPaletteEditorPrivate));
 }
 
 static void
 glade_tool_palette_editor_init (GladeToolPaletteEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_TOOL_PALETTE_EDITOR,
-                                GladeToolPaletteEditorPrivate);
+  self->priv = glade_tool_palette_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-viewport-editor.c b/plugins/gtk+/glade-viewport-editor.c
index 24ffcdb..ec4ba6f 100644
--- a/plugins/gtk+/glade-viewport-editor.c
+++ b/plugins/gtk+/glade-viewport-editor.c
@@ -33,29 +33,23 @@ struct _GladeViewportEditorPrivate
   GtkWidget *embed;
 };
 
-G_DEFINE_TYPE (GladeViewportEditor, glade_viewport_editor, GLADE_TYPE_EDITOR_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeViewportEditor, glade_viewport_editor, GLADE_TYPE_EDITOR_SKELETON)
 
 static void
 glade_viewport_editor_class_init (GladeViewportEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_viewport_editor_grab_focus;
 
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/gladegtk/glade-viewport-editor.ui");
   gtk_widget_class_bind_template_child_private (widget_class, GladeViewportEditor, embed);
-
-  g_type_class_add_private (object_class, sizeof (GladeViewportEditorPrivate));  
 }
 
 static void
 glade_viewport_editor_init (GladeViewportEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_VIEWPORT_EDITOR,
-                                GladeViewportEditorPrivate);
+  self->priv = glade_viewport_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-widget-editor.c b/plugins/gtk+/glade-widget-editor.c
index de4c38c..c477efe 100644
--- a/plugins/gtk+/glade-widget-editor.c
+++ b/plugins/gtk+/glade-widget-editor.c
@@ -54,6 +54,7 @@ static GladeEditableIface *parent_editable_iface;
 #define TOOLTIP_MARKUP_PAGE 1
 
 G_DEFINE_TYPE_WITH_CODE (GladeWidgetEditor, glade_widget_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeWidgetEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_widget_editor_editable_init));
 
@@ -78,17 +79,12 @@ glade_widget_editor_class_init (GladeWidgetEditorClass * klass)
 
   gtk_widget_class_bind_template_callback (widget_class, markup_toggled);
   gtk_widget_class_bind_template_callback (widget_class, custom_tooltip_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeWidgetEditorPrivate));  
 }
 
 static void
 glade_widget_editor_init (GladeWidgetEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_WIDGET_EDITOR,
-                                GladeWidgetEditorPrivate);
+  self->priv = glade_widget_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/plugins/gtk+/glade-window-editor.c b/plugins/gtk+/glade-window-editor.c
index 40e180f..a90a5c4 100644
--- a/plugins/gtk+/glade-window-editor.c
+++ b/plugins/gtk+/glade-window-editor.c
@@ -43,13 +43,13 @@ struct _GladeWindowEditorPrivate {
 static GladeEditableIface *parent_editable_iface;
 
 G_DEFINE_TYPE_WITH_CODE (GladeWindowEditor, glade_window_editor, GLADE_TYPE_EDITOR_SKELETON,
+                         G_ADD_PRIVATE (GladeWindowEditor)
                          G_IMPLEMENT_INTERFACE (GLADE_TYPE_EDITABLE,
                                                 glade_window_editor_editable_init));
 
 static void
 glade_window_editor_class_init (GladeWindowEditorClass * klass)
 {
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
 
   widget_class->grab_focus = glade_window_editor_grab_focus;
@@ -62,17 +62,12 @@ glade_window_editor_class_init (GladeWindowEditorClass * klass)
 
   gtk_widget_class_bind_template_callback (widget_class, icon_name_toggled);
   gtk_widget_class_bind_template_callback (widget_class, icon_file_toggled);
-
-  g_type_class_add_private (object_class, sizeof (GladeWindowEditorPrivate));  
 }
 
 static void
 glade_window_editor_init (GladeWindowEditor * self)
 {
-  self->priv = 
-    G_TYPE_INSTANCE_GET_PRIVATE (self,
-                                GLADE_TYPE_WINDOW_EDITOR,
-                                GladeWindowEditorPrivate);
+  self->priv = glade_window_editor_get_instance_private (self);
 
   gtk_widget_init_template (GTK_WIDGET (self));
 }
diff --git a/src/glade-preferences.c b/src/glade-preferences.c
index 8354a5e..cf77ac1 100644
--- a/src/glade-preferences.c
+++ b/src/glade-preferences.c
@@ -65,7 +65,7 @@ struct _GladePreferencesPrivate
 };
 
 
-G_DEFINE_TYPE (GladePreferences, glade_preferences, GTK_TYPE_DIALOG);
+G_DEFINE_TYPE_WITH_PRIVATE (GladePreferences, glade_preferences, GTK_TYPE_DIALOG);
 
 /********************************************************
  *                       CALLBACKS                      *
@@ -163,9 +163,7 @@ static void
 catalog_selection_changed (GtkTreeSelection *selection,
                           GladePreferences *preferences)
 {
-  gboolean selected;
-
-  selected = gtk_tree_selection_get_selected (selection, NULL, NULL);
+  gboolean selected = gtk_tree_selection_get_selected (selection, NULL, NULL);
 
   /* Make the button sensitive if anything is selected */
   gtk_widget_set_sensitive (preferences->priv->remove_catalog_button, selected);
@@ -177,9 +175,7 @@ catalog_selection_changed (GtkTreeSelection *selection,
 static void
 glade_preferences_init (GladePreferences *preferences)
 {
-  preferences->priv = G_TYPE_INSTANCE_GET_PRIVATE (preferences,
-                                                  GLADE_TYPE_PREFERENCES,
-                                                  GladePreferencesPrivate);
+  preferences->priv = glade_preferences_get_instance_private (preferences);
 
   gtk_widget_init_template (GTK_WIDGET (preferences));
 }
@@ -187,10 +183,8 @@ glade_preferences_init (GladePreferences *preferences)
 static void
 glade_preferences_class_init (GladePreferencesClass *klass)
 {
-  GObjectClass *gobject_class;
   GtkWidgetClass *widget_class;
 
-  gobject_class = G_OBJECT_CLASS (klass);
   widget_class  = GTK_WIDGET_CLASS (klass);
 
   /* Setup the template GtkBuilder xml for this class
@@ -216,8 +210,6 @@ glade_preferences_class_init (GladePreferencesClass *klass)
   gtk_widget_class_bind_template_callback (widget_class, on_preferences_filechooserdialog_response);
   gtk_widget_class_bind_template_callback (widget_class, catalog_selection_changed);
   gtk_widget_class_bind_template_callback (widget_class, remove_catalog_clicked);
-
-  g_type_class_add_private (gobject_class, sizeof (GladePreferencesPrivate));
 }
 
 /********************************************************
diff --git a/src/glade-window.c b/src/glade-window.c
index 172f5e2..d2f0218 100644
--- a/src/glade-window.c
+++ b/src/glade-window.c
@@ -75,10 +75,6 @@
 #define CONFIG_KEY_AUTOSAVE         "autosave"
 #define CONFIG_KEY_AUTOSAVE_SECONDS "autosave-seconds"
 
-#define GLADE_WINDOW_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object),  \
-                                         GLADE_TYPE_WINDOW,                      \
-                                         GladeWindowPrivate))
-
 enum
 {
   DOCK_PALETTE,
@@ -161,7 +157,7 @@ struct _GladeWindowPrivate
 
 static void check_reload_project (GladeWindow *window, GladeProject *project);
 
-G_DEFINE_TYPE (GladeWindow, glade_window, GTK_TYPE_WINDOW)
+G_DEFINE_TYPE_WITH_PRIVATE (GladeWindow, glade_window, GTK_TYPE_WINDOW)
 
 /* the following functions are taken from gedit-utils.c */
 static gchar *
@@ -2147,7 +2143,7 @@ on_preferences_action_activate (GtkAction   *action,
 static void
 on_about_action_activate (GtkAction *action, GladeWindow *window)
 {
-  GladeWindowPrivate *priv = GLADE_WINDOW_GET_PRIVATE (window);
+  GladeWindowPrivate *priv = window->priv;
   
   gtk_about_dialog_set_version (GTK_ABOUT_DIALOG (priv->about_dialog), PACKAGE_VERSION);
   
@@ -3114,7 +3110,7 @@ glade_window_init (GladeWindow *window)
 {
   GladeWindowPrivate *priv;
 
-  window->priv = priv = GLADE_WINDOW_GET_PRIVATE (window);
+  window->priv = priv = glade_window_get_instance_private (window);
 
   priv->default_path = NULL;
 
@@ -3280,8 +3276,6 @@ glade_window_class_init (GladeWindowClass *klass)
                                              GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
   g_object_unref (provider);
 
-  g_type_class_add_private (klass, sizeof (GladeWindowPrivate));
-
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/glade/glade.glade");
 
   /* Internal children */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]