#include "psppire-dict.h"
#include "psppire-select-dest.h"
#include "psppire-means-layer.h"
+#include "helper.h"
#include <gtk/gtk.h>
#include "psppire-selector.h"
-static void psppire_selector_class_init (PsppireSelectorClass *class);
-static void psppire_selector_init (PsppireSelector *selector);
-
+G_DEFINE_TYPE (PsppireSelector, psppire_selector, GTK_TYPE_BUTTON)
static void set_direction (PsppireSelector *, enum psppire_selector_dir);
g_signal_emit (selector, signals [DE_SELECTED], 0);
}
-
-GType
-psppire_selector_get_type (void)
-{
- static GType psppire_selector_type = 0;
-
- if (!psppire_selector_type)
- {
- static const GTypeInfo psppire_selector_info =
- {
- sizeof (PsppireSelectorClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc)psppire_selector_class_init,
- (GClassFinalizeFunc) NULL,
- NULL,
- sizeof (PsppireSelector),
- 0,
- (GInstanceInitFunc) psppire_selector_init,
- };
-
- psppire_selector_type =
- g_type_register_static (GTK_TYPE_BUTTON, "PsppireSelector",
- &psppire_selector_info, 0);
- }
-
- return psppire_selector_type;
-}
-
static GObjectClass * parent_class = NULL;
-
-
+#if DEBUG
static void
dump_hash_entry (gpointer key, gpointer value, gpointer obj)
{
g_print ("%s %p\n", __FUNCTION__, obj);
g_hash_table_foreach (class->source_hash, dump_hash_entry, obj);
}
-
+#endif
static void
sel->source_litem = NULL;
}
- g_object_unref (sel->dest);
- g_object_unref (sel->source);
+ if (sel->dest)
+ g_object_unref (sel->dest);
+
+ if (sel->source)
+ g_object_unref (sel->source);
/* Chain up to the parent class */
G_OBJECT_CLASS (parent_class)->dispose (obj);
}
/* Delete list of RowRefs and its contents */
- g_list_foreach (selected_rows, (GFunc) gtk_tree_row_reference_free, NULL);
+ g_list_foreach (selected_rows, GFUNC_COMPAT_CAST (gtk_tree_row_reference_free), NULL);
g_list_free (selected_rows);
}
);
}
- g_list_foreach (selected_rows, (GFunc) gtk_tree_path_free, NULL);
+ g_list_foreach (selected_rows, GFUNC_COMPAT_CAST (gtk_tree_path_free), NULL);
g_list_free (selected_rows);
refilter (selector);