Reimplement the Windows menu.
[pspp] / src / ui / gui / psppire-window-register.c
index dfa46c654cc24c7a6299079f0ac30ad9b61c617f..75fb6efcd309f73a459c978bc399b36240dc1aa4 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
@@ -146,13 +146,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,28 +160,21 @@ psppire_window_register_lookup (PsppireWindowRegister *wr, const gchar *name)
 }
 
 void
-psppire_window_register_foreach (PsppireWindowRegister *wr, GHFunc func, PsppireWindow *win)
+psppire_window_register_foreach (PsppireWindowRegister *wr,
+                                GHFunc func, gpointer data)
 {
-  g_hash_table_foreach (wr->name_table, func, win);
+  g_hash_table_foreach (wr->name_table, func, data);
 }
 
-static void
-minimise_window (gpointer key, gpointer value, gpointer data)
-{
-  gtk_window_iconify (GTK_WINDOW (value));
-}
-
-
-void
-psppire_window_register_minimise_all (PsppireWindowRegister *wr)
+PsppireWindowRegister *
+psppire_window_register_new (void)
 {
-  g_hash_table_foreach (wr->name_table, minimise_window, wr);
+  return g_object_new (psppire_window_register_get_type (), NULL);
 }
 
 
-
-PsppireWindowRegister *
-psppire_window_register_new (void)
+gint
+psppire_window_register_n_items (PsppireWindowRegister *wr)
 {
-  return g_object_new (psppire_window_register_get_type (), NULL);
+  return g_hash_table_size (wr->name_table);
 }