VARIABLE_RESIZED,
VARIABLE_INSERTED,
VARIABLES_DELETED,
+ WEIGHT_CHANGED,
n_SIGNALS};
static guint signal[n_SIGNALS];
G_TYPE_INT,
G_TYPE_INT);
+
+ signal [WEIGHT_CHANGED] =
+ g_signal_new ("weight-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);
}
static void
g_signal_emit (pd, signal[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);
+}
+
+
static const struct dict_callbacks gui_callbacks =
{
addcb,
delcb,
- mutcb
+ mutcb,
+ weight_changed_callback
};
static void
/* Return the IDXth variable */
struct variable *
-psppire_dict_get_variable (PsppireDict *d, gint idx)
+psppire_dict_get_variable (const PsppireDict *d, gint idx)
{
g_return_val_if_fail (d, NULL);
g_return_val_if_fail (d->dict, NULL);
{
dict_rename_var (dict->dict, v, text);
}
+
+
+void
+psppire_dict_set_weight_variable (PsppireDict *dict, struct variable *v)
+{
+ g_return_if_fail (v == NULL || var_is_numeric (v));
+ dict_set_weight (dict->dict, v);
+}
+
+
+struct variable *
+psppire_dict_get_weight_variable (const PsppireDict *dict)
+{
+ return dict_get_weight (dict->dict);
+}