/*
PSPPIRE --- A Graphical User Interface for PSPP
- Copyright (C) 2004, 2006 Free Software Foundation
+ Copyright (C) 2004, 2006, 2007 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
VARIABLE_INSERTED,
VARIABLES_DELETED,
WEIGHT_CHANGED,
+ FILTER_CHANGED,
+ SPLIT_CHANGED,
n_SIGNALS};
-static guint signal[n_SIGNALS];
-
-#define CACHE_CHUNK 5
+static guint signals [n_SIGNALS];
/* --- functions --- */
/**
object_class->finalize = psppire_dict_finalize;
- signal[VARIABLE_CHANGED] =
+ signals [VARIABLE_CHANGED] =
g_signal_new ("variable_changed",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
- signal[VARIABLE_INSERTED] =
+ signals [VARIABLE_INSERTED] =
g_signal_new ("variable_inserted",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
G_TYPE_INT);
- signal[VARIABLES_DELETED] =
+ signals [VARIABLES_DELETED] =
g_signal_new ("variables_deleted",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
G_TYPE_INT);
- signal[VARIABLE_RESIZED] =
+ signals [VARIABLE_RESIZED] =
g_signal_new ("dict-size-changed",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
G_TYPE_INT);
- signal [WEIGHT_CHANGED] =
+ signals [WEIGHT_CHANGED] =
g_signal_new ("weight-changed",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
G_TYPE_NONE,
1,
G_TYPE_INT);
+
+
+ signals [FILTER_CHANGED] =
+ g_signal_new ("filter-changed",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__INT,
+ G_TYPE_NONE,
+ 1,
+ G_TYPE_INT);
+
+
+ signals [SPLIT_CHANGED] =
+ g_signal_new ("split-changed",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
}
static void
static void
addcb (struct dictionary *d, int idx, void *pd)
{
- g_signal_emit (pd, signal[VARIABLE_INSERTED], 0, idx);
+ g_signal_emit (pd, signals [VARIABLE_INSERTED], 0, idx);
}
static void
delcb (struct dictionary *d, int idx, void *pd)
{
- g_signal_emit (pd, signal[VARIABLES_DELETED], 0, idx, 1);
+ g_signal_emit (pd, signals [VARIABLES_DELETED], 0, idx, 1);
}
static void
mutcb (struct dictionary *d, int idx, void *pd)
{
- g_signal_emit (pd, signal[VARIABLE_CHANGED], 0, idx);
+ g_signal_emit (pd, signals [VARIABLE_CHANGED], 0, idx);
}
static void
weight_changed_callback (struct dictionary *d, int idx, void *pd)
{
- g_signal_emit (pd, signal [WEIGHT_CHANGED], 0, idx);
+ g_signal_emit (pd, signals [WEIGHT_CHANGED], 0, idx);
+}
+
+static void
+filter_changed_callback (struct dictionary *d, int idx, void *pd)
+{
+ g_signal_emit (pd, signals [FILTER_CHANGED], 0, idx);
+}
+
+static void
+split_changed_callback (struct dictionary *d, void *pd)
+{
+ g_signal_emit (pd, signals [SPLIT_CHANGED], 0);
}
addcb,
delcb,
mutcb,
- weight_changed_callback
+ weight_changed_callback,
+ filter_changed_callback,
+ split_changed_callback
};
static void
fv = var_get_case_index (pv);
- g_signal_emit (d, signal[VARIABLE_RESIZED], 0,
+ g_signal_emit (d, signals [VARIABLE_RESIZED], 0,
fv + old_size,
new_size - old_size );
}