enum {
VARIABLE_CHANGED,
VARIABLE_INSERTED,
- VARIABLE_DELETED,
+ VARIABLES_DELETED,
+ VARIABLE_MOVED,
WEIGHT_CHANGED,
FILTER_CHANGED,
1,
G_TYPE_INT);
- signals [VARIABLE_DELETED] =
- g_signal_new ("variable-deleted",
+ signals [VARIABLES_DELETED] =
+ g_signal_new ("variables-deleted",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_FIRST,
0,
NULL, NULL,
- psppire_marshal_VOID__POINTER_INT_INT,
+ psppire_marshal_VOID__INT_UINT,
G_TYPE_NONE,
- 3,
- G_TYPE_POINTER,
+ 2,
G_TYPE_INT,
- G_TYPE_INT);
+ G_TYPE_UINT);
+
+ signals [VARIABLE_MOVED] =
+ g_signal_new ("variable-moved",
+ G_TYPE_FROM_CLASS (class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ psppire_marshal_VOID__INT_INT,
+ G_TYPE_NONE,
+ 2,
+ G_TYPE_INT,
+ G_TYPE_INT);
signals [WEIGHT_CHANGED] =
g_signal_new ("weight-changed",
/* Pass on callbacks from src/data/dictionary, as
signals in the Gtk library */
static void
-addcb (struct dictionary *d, int idx, void *pd)
+var_added_callback (struct dictionary *d, int idx, void *pd)
{
PsppireDict *dict = PSPPIRE_DICT (pd);
}
static void
-delcb (struct dictionary *d, const struct variable *var,
- int dict_idx, int case_idx, void *pd)
+vars_deleted_callback (struct dictionary *d, int dict_idx, unsigned int n, void *pd)
{
- g_signal_emit (pd, signals [VARIABLE_DELETED], 0,
- var, dict_idx, case_idx);
+ g_signal_emit (pd, signals [VARIABLES_DELETED], 0, dict_idx, n);
g_signal_emit_by_name (pd, "items-changed", dict_idx, 1, 0);
}
static void
-mutcb (struct dictionary *d, int idx, unsigned int what, const struct variable *oldvar, void *pd)
+var_moved_callback (struct dictionary *d, int new_dict_index, int old_dict_index, void *pd)
+{
+ g_signal_emit (pd, signals [VARIABLE_MOVED], 0, new_dict_index, old_dict_index);
+}
+
+static void
+var_changed_callback (struct dictionary *d, int idx, unsigned int what, const struct variable *oldvar, void *pd)
{
g_signal_emit (pd, signals [VARIABLE_CHANGED], 0, idx, what, oldvar);
g_signal_emit_by_name (pd, "items-changed", idx, 1, 1);
static const struct dict_callbacks gui_callbacks =
{
- addcb,
- delcb,
- mutcb,
- weight_changed_callback,
- filter_changed_callback,
- split_changed_callback
+ .var_added = var_added_callback,
+ .vars_deleted = vars_deleted_callback,
+ .var_moved = var_moved_callback,
+ .var_changed = var_changed_callback,
+ .weight_changed = weight_changed_callback,
+ .filter_changed = filter_changed_callback,
+ .split_changed = split_changed_callback
};
static void