+static void
+psppire_var_store_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ PsppireVarStore *self = (PsppireVarStore *) object;
+
+ switch (property_id)
+ {
+ case PSPPIRE_VAR_STORE_FORMAT_TYPE:
+ self->format_type = g_value_get_enum (value);
+ break;
+
+ case PSPPIRE_VAR_STORE_DICT:
+ if ( self->dictionary)
+ g_object_unref (self->dictionary);
+ self->dictionary = g_value_dup_object (value);
+ g_signal_connect (self->dictionary, "variable-changed", G_CALLBACK (var_change_callback),
+ self);
+
+ g_signal_connect (self->dictionary, "variable-deleted", G_CALLBACK (var_delete_callback),
+ self);
+
+ g_signal_connect (self->dictionary, "variable-inserted",
+ G_CALLBACK (var_insert_callback), self);
+
+ g_signal_connect (self->dictionary, "backend-changed", G_CALLBACK (refresh),
+ self);
+
+ /* The entire model has changed */
+ psppire_sheet_model_range_changed (PSPPIRE_SHEET_MODEL (self), -1, -1, -1, -1);
+
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+psppire_var_store_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ PsppireVarStore *self = (PsppireVarStore *) object;
+
+ switch (property_id)
+ {
+ case PSPPIRE_VAR_STORE_FORMAT_TYPE:
+ g_value_set_enum (value, self->format_type);
+ break;
+
+ case PSPPIRE_VAR_STORE_DICT:
+ g_value_take_object (value, self->dictionary);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+