X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-window-register.c;h=66e7353fb107abc7eeae56cd4a1d25e860f3968d;hb=2d45d41b2bae93062d76d0dc48a025b348631801;hp=dfa46c654cc24c7a6299079f0ac30ad9b61c617f;hpb=4398d3a1a881c6cafaeb0cbd11f56bd51d904c51;p=pspp diff --git a/src/ui/gui/psppire-window-register.c b/src/ui/gui/psppire-window-register.c index dfa46c654c..66e7353fb1 100644 --- a/src/ui/gui/psppire-window-register.c +++ b/src/ui/gui/psppire-window-register.c @@ -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 @@ -82,7 +82,7 @@ psppire_window_register_construct (GType type, GObjectConstructParam *construct_params) { GObject *object; - + if (!the_instance) { object = G_OBJECT_CLASS (parent_class)->constructor (type, @@ -134,7 +134,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 +145,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 +159,21 @@ 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) +psppire_window_register_foreach (PsppireWindowRegister *wr, + GHFunc func, gpointer data) { - gtk_window_iconify (GTK_WINDOW (value)); + g_hash_table_foreach (wr->name_table, func, data); } - -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); }