/* 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
#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);
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)
GObjectConstructParam *construct_params)
{
GObject *object;
-
+
if (!the_instance)
{
object = G_OBJECT_CLASS (parent_class)->constructor (type,
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;
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);
}
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 *
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)
-{
- g_hash_table_foreach (wr->name_table, minimise_window, wr);
-}
-
-
-
PsppireWindowRegister *
psppire_window_register_new (void)
{