static GObjectClass *parent_class = NULL;
enum {VARIABLE_CHANGED,
+ VARIABLE_RESIZED,
VARIABLE_INSERTED,
VARIABLES_DELETED,
n_SIGNALS};
G_TYPE_INT,
G_TYPE_INT);
+
+ signal[VARIABLE_RESIZED] =
+ g_signal_new ("dict-size-changed",
+ G_TYPE_FROM_CLASS(class),
+ G_SIGNAL_RUN_FIRST,
+ 0,
+ NULL, NULL,
+ gtkextra_VOID__INT_INT,
+ G_TYPE_NONE,
+ 2,
+ G_TYPE_INT,
+ G_TYPE_INT);
+
}
static void
var = dict_get_var(d->dict, first);
dict_delete_var (d->dict, var);
}
+ dict_compact_values(d->dict);
g_signal_emit(d, signal[VARIABLES_DELETED], 0, first, idx );
}
}
+void
+psppire_dict_resize_variable(PsppireDict *d, const struct PsppireVariable *pv,
+ gint old_size, gint new_size)
+{
+ gint fv;
+ g_return_if_fail (d);
+ g_return_if_fail (d->dict);
+
+ if ( old_size == new_size )
+ return ;
+
+ pv->v->nv = new_size;
+
+ dict_compact_values(d->dict);
+
+ fv = psppire_variable_get_fv(pv);
+
+ g_signal_emit(d, signal[VARIABLE_RESIZED], 0,
+ fv + old_size,
+ new_size - old_size );
+}
+
+
+
+
/* Tree Model Stuff */