Fix on_quote_combo_change callback
[pspp] / src / ui / gui / psppire-window-register.c
index 07ac2825aaec9fe6d90b6549eaa94559bf3305af..2bf0c94ff79a4835fe12bc533f4bfb4aa4d94d20 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2008  Free Software Foundation
+   Copyright (C) 2008 Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -18,9 +18,6 @@
 
 #include "psppire-window-register.h"
 
-static void psppire_window_register_init            (PsppireWindowRegister      *window_register);
-static void psppire_window_register_class_init      (PsppireWindowRegisterClass *class);
-
 static void psppire_window_register_finalize        (GObject   *object);
 static void psppire_window_register_dispose        (GObject   *object);
 
@@ -35,34 +32,7 @@ enum  {
 
 static guint signals [n_SIGNALS];
 
-GType
-psppire_window_register_get_type (void)
-{
-  static GType window_register_type = 0;
-
-  if (!window_register_type)
-    {
-      static const GTypeInfo window_register_info =
-      {
-       sizeof (PsppireWindowRegisterClass),
-       NULL,           /* base_init */
-       NULL,           /* base_finalize */
-        (GClassInitFunc) psppire_window_register_class_init,
-       NULL,           /* class_finalize */
-       NULL,           /* class_data */
-        sizeof (PsppireWindowRegister),
-       0,
-        (GInstanceInitFunc) psppire_window_register_init,
-      };
-
-      window_register_type = g_type_register_static (G_TYPE_OBJECT,
-                                               "PsppireWindowRegister",
-                                               &window_register_info, 0);
-    }
-
-  return window_register_type;
-}
-
+G_DEFINE_TYPE (PsppireWindowRegister, psppire_window_register, G_TYPE_OBJECT)
 
 static void
 psppire_window_register_finalize (GObject *object)
@@ -82,7 +52,7 @@ psppire_window_register_construct   (GType                  type,
                                     GObjectConstructParam *construct_params)
 {
   GObject *object;
-  
+
   if (!the_instance)
     {
       object = G_OBJECT_CLASS (parent_class)->constructor (type,
@@ -102,7 +72,7 @@ psppire_window_register_class_init (PsppireWindowRegisterClass *class)
   GObjectClass *object_class;
 
   parent_class = g_type_class_peek_parent (class);
-  object_class = (GObjectClass*) class;
+  object_class = G_OBJECT_CLASS (class);
 
   object_class->finalize = psppire_window_register_finalize;
   object_class->dispose = psppire_window_register_dispose;
@@ -134,7 +104,6 @@ psppire_window_register_class_init (PsppireWindowRegisterClass *class)
 static void
 psppire_window_register_init (PsppireWindowRegister *window_register)
 {
-  window_register->dispose_has_run = FALSE;
   window_register->name_table = g_hash_table_new (g_str_hash, g_str_equal);
 }
 
@@ -146,13 +115,11 @@ psppire_window_register_insert (PsppireWindowRegister *wr, PsppireWindow *window
   g_signal_emit (wr, signals[INSERTED], 0, name);
 }
 
-
 void
 psppire_window_register_remove (PsppireWindowRegister *wr, const gchar *name)
 {
-  g_signal_emit (wr, signals[REMOVED], 0, name);
-
   g_hash_table_remove (wr->name_table, (gpointer) name);
+  g_signal_emit (wr, signals[REMOVED], 0, name);
 }
 
 PsppireWindow *
@@ -162,26 +129,12 @@ psppire_window_register_lookup (PsppireWindowRegister *wr, const gchar *name)
 }
 
 void
-psppire_window_register_foreach (PsppireWindowRegister *wr, GHFunc func, PsppireWindow *win)
-{
-  g_hash_table_foreach (wr->name_table, func, win);
-}
-
-static void
-minimise_window (gpointer key, gpointer value, gpointer data)
-{
-  gtk_window_iconify (GTK_WINDOW (value));
-}
-
-
-void
-psppire_window_register_minimise_all (PsppireWindowRegister *wr)
+psppire_window_register_foreach (PsppireWindowRegister *wr,
+                                GHFunc func, gpointer data)
 {
-  g_hash_table_foreach (wr->name_table, minimise_window, wr);
+  g_hash_table_foreach (wr->name_table, func, data);
 }
 
-
-
 PsppireWindowRegister *
 psppire_window_register_new (void)
 {