+static void
+var_sheet_show_var_type_dialog (PsppireVarSheet *vs)
+{
+ PsppireVarStore *var_store;
+ struct fmt_spec format;
+ struct variable *var;
+ gint row;
+
+ var_store = PSPPIRE_VAR_STORE (psppire_sheet_get_model (PSPPIRE_SHEET (vs)));
+
+ psppire_sheet_get_active_cell (PSPPIRE_SHEET (vs), &row, NULL);
+ var = psppire_var_store_get_var (var_store, row);
+ g_return_if_fail (var != NULL);
+
+ format = *var_get_print_format (var);
+ psppire_var_type_dialog_run (GTK_WINDOW (gtk_widget_get_toplevel (
+ GTK_WIDGET (vs))), &format);
+ var_set_width (var, fmt_var_width (&format));
+ var_set_both_formats (var, &format);
+}
+
+static void
+var_sheet_show_val_labs_dialog (PsppireVarSheet *vs)
+{
+ PsppireVarStore *var_store;
+ struct val_labs *labels;
+ struct variable *var;
+ gint row;
+
+ var_store = PSPPIRE_VAR_STORE (psppire_sheet_get_model (PSPPIRE_SHEET (vs)));
+
+ psppire_sheet_get_active_cell (PSPPIRE_SHEET (vs), &row, NULL);
+ var = psppire_var_store_get_var (var_store, row);
+ g_return_if_fail (var != NULL);
+
+ labels = psppire_val_labs_dialog_run (GTK_WINDOW (gtk_widget_get_toplevel (
+ GTK_WIDGET (vs))), var);
+ if (labels)
+ {
+ var_set_value_labels (var, labels);
+ val_labs_destroy (labels);
+ }
+}
+
+static void
+var_sheet_show_miss_vals_dialog (PsppireVarSheet *vs)
+{
+ PsppireVarStore *var_store;
+ struct missing_values mv;
+ struct variable *var;
+ gint row;
+
+ var_store = PSPPIRE_VAR_STORE (psppire_sheet_get_model (PSPPIRE_SHEET (vs)));