+ case VS_TYPE:
+ g_object_set (cell,
+ "text", fmt_gui_name (print->type),
+ "editable", FALSE,
+ NULL);
+ break;
+
+ case VS_WIDTH:
+ set_spin_cell (cell, print->w,
+ fmt_min_width (print->type, var_sheet->format_use),
+ fmt_max_width (print->type, var_sheet->format_use),
+ fmt_step_width (print->type));
+ break;
+
+ case VS_DECIMALS:
+ if (fmt_takes_decimals (print->type))
+ {
+ int max_w = fmt_max_width (print->type, var_sheet->format_use);
+ int max_d = fmt_max_decimals (print->type, max_w,
+ var_sheet->format_use);
+ set_spin_cell (cell, print->d, 0, max_d, 1);
+ }
+ else
+ g_object_set (cell,
+ "text", "",
+ "editable", FALSE,
+ "adjustment", NULL,
+ NULL);
+ break;
+
+ case VS_LABEL:
+ g_object_set (cell,
+ "text", var_has_label (var) ? var_get_label (var) : "",
+ "editable", TRUE,
+ NULL);
+ break;
+
+ case VS_VALUES:
+ g_object_set (cell, "editable", FALSE, NULL);
+ if ( ! var_has_value_labels (var))
+ g_object_set (cell, "text", _("None"), NULL);
+ else
+ {
+ const struct val_labs *vls = var_get_value_labels (var);
+ const struct val_lab **labels = val_labs_sorted (vls);
+ const struct val_lab *vl = labels[0];
+ gchar *vstr = value_to_text (vl->value, var);
+ char *text = xasprintf (_("{%s, %s}..."), vstr,
+ val_lab_get_escaped_label (vl));
+ free (vstr);
+
+ g_object_set (cell, "text", text, NULL);
+ free (text);
+ free (labels);
+ }
+ break;
+
+ case VS_MISSING:
+ {
+ char *text = missing_values_to_string (var, NULL);
+ g_object_set (cell,
+ "text", text,
+ "editable", FALSE,
+ NULL);
+ free (text);
+ }
+ break;
+
+ case VS_COLUMNS:
+ set_spin_cell (cell, var_get_display_width (var), 1, 2 * MAX_STRING, 1);
+ break;
+
+ case VS_ALIGN:
+ if (GTK_IS_CELL_RENDERER_TEXT (cell))
+ g_object_set (cell,
+ "text", alignment_to_string (var_get_alignment (var)),
+ "editable", TRUE,
+ NULL);
+ else
+ g_object_set (cell, "icon-name",
+ get_var_align_stock_id (var_get_alignment (var)), NULL);
+ break;
+
+ case VS_MEASURE:
+ if (GTK_IS_CELL_RENDERER_TEXT (cell))
+ g_object_set (cell,
+ "text", measure_to_string (var_get_measure (var)),
+ "editable", TRUE,
+ NULL);
+ else
+ {
+ enum fmt_type type = var_get_print_format (var)->type;
+ enum measure measure = var_get_measure (var);
+
+ g_object_set (cell, "icon-name",
+ get_var_measurement_stock_id (type, measure),
+ NULL);
+ }
+ break;
+
+ case VS_ROLE:
+ if (GTK_IS_CELL_RENDERER_TEXT (cell))
+ g_object_set (cell,
+ "text", var_role_to_string (var_get_role (var)),
+ "editable", TRUE,
+ NULL);
+ else
+ g_object_set (cell, "icon-name",
+ get_var_role_stock_id (var_get_role (var)), NULL);