psppire.xml: Add PsppireAcr and PsppireValChooser
[pspp] / src / ui / gui / psppire-var-view.c
index 2e019d594652beb00b2c4a505663f7ea437fe369..0a020008fb0c0c0630cca080deb4e7c177120960 100644 (file)
@@ -29,8 +29,6 @@
 #define _(msgid) gettext (msgid)
 #define N_(msgid) msgid
 
-static void psppire_var_view_base_finalize (PsppireVarViewClass *, gpointer);
-static void psppire_var_view_base_init     (PsppireVarViewClass *class);
 static void psppire_var_view_class_init    (PsppireVarViewClass *class);
 static void psppire_var_view_init          (PsppireVarView      *var_view);
 
@@ -64,43 +62,8 @@ model_init (PsppireSelectDestWidgetIface *iface)
   iface->contains_var = var_view_contains_var;
 }
 
-GType
-psppire_var_view_get_type (void)
-{
-  static GType psppire_var_view_type = 0;
-
-  if (!psppire_var_view_type)
-    {
-      static const GTypeInfo psppire_var_view_info =
-      {
-       sizeof (PsppireVarViewClass),
-       (GBaseInitFunc) psppire_var_view_base_init,
-        (GBaseFinalizeFunc) psppire_var_view_base_finalize,
-       (GClassInitFunc)psppire_var_view_class_init,
-       (GClassFinalizeFunc) NULL,
-       NULL,
-        sizeof (PsppireVarView),
-       0,
-       (GInstanceInitFunc) psppire_var_view_init,
-      };
-
-      static const GInterfaceInfo var_view_model_info = {
-       (GInterfaceInitFunc) model_init, /* Fill this in */
-       NULL,
-       NULL
-      };
-
-      psppire_var_view_type =
-       g_type_register_static (GTK_TYPE_TREE_VIEW, "PsppireVarView",
-                               &psppire_var_view_info, 0);
-
-      g_type_add_interface_static (psppire_var_view_type,
-                                  PSPPIRE_TYPE_SELECT_DEST_WIDGET,
-                                  &var_view_model_info);
-    }
-
-  return psppire_var_view_type;
-}
+G_DEFINE_TYPE_WITH_CODE (PsppireVarView, psppire_var_view, GTK_TYPE_TREE_VIEW,
+               G_IMPLEMENT_INTERFACE (PSPPIRE_TYPE_SELECT_DEST_WIDGET, model_init))
 
 void
 psppire_var_view_clear (PsppireVarView *vv)
@@ -229,7 +192,7 @@ psppire_var_view_set_property (GObject         *object,
        gint c;
        var_view->n_cols = g_value_get_int (value);
 
-       var_view->cols = xrealloc (var_view->cols, sizeof (GType) *  var_view->n_cols);
+       var_view->cols = g_realloc (var_view->cols, sizeof (GType) *  var_view->n_cols);
 
        for (c = 0 ; c < var_view->n_cols; ++c)
          var_view->cols[c] = PSPPIRE_VAR_PTR_TYPE;
@@ -250,6 +213,8 @@ psppire_var_view_class_init (PsppireVarViewClass *class)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (class);
 
+  object_class->finalize = psppire_var_view_finalize;
+
   GParamSpec *n_cols_spec =
     g_param_spec_int ("n-cols",
                      "Number of columns",
@@ -267,26 +232,6 @@ psppire_var_view_class_init (PsppireVarViewClass *class)
                                    n_cols_spec);
 }
 
-
-static void
-psppire_var_view_base_init (PsppireVarViewClass *class)
-{
-
-  GObjectClass *object_class = G_OBJECT_CLASS (class);
-
-  object_class->finalize = psppire_var_view_finalize;
-}
-
-
-
-static void
-psppire_var_view_base_finalize (PsppireVarViewClass *class,
-                                gpointer class_data)
-{
-}
-
-
-
 static void
 psppire_var_view_init (PsppireVarView *vv)
 {