+ PsppSheetView *sheet_view = PSPP_SHEET_VIEW (obj);
+ PsppSheetViewColumn *column;
+ GtkAction *action;
+ GList *list;
+
+ obj->dict = NULL;
+ obj->format_use = FMT_FOR_OUTPUT;
+ obj->may_create_vars = TRUE;
+ obj->may_delete_vars = TRUE;
+
+ obj->scroll_to_bottom_signal = 0;
+
+ obj->container = NULL;
+ obj->dispose_has_run = FALSE;
+ obj->uim = NULL;
+
+ pspp_sheet_view_append_column (sheet_view, make_row_number_column (obj));
+
+ column = add_text_column (obj, VS_NAME, _("Name"), 12);
+ list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
+ g_signal_connect (list->data, "editing-started",
+ G_CALLBACK (on_name_column_editing_started), NULL);
+ g_list_free (list);
+
+ column = add_text_column (obj, VS_TYPE, _("Type"), 8);
+ add_popup_menu (obj, column, on_type_click);
+
+ add_spin_column (obj, VS_WIDTH, _("Width"), 5);
+
+ add_spin_column (obj, VS_DECIMALS, _("Decimals"), 2);
+
+ add_text_column (obj, VS_LABEL, _("Label"), 20);
+
+ column = add_text_column (obj, VS_VALUES, _("Value Labels"), 20);
+ add_popup_menu (obj, column, on_value_labels_click);
+
+ column = add_text_column (obj, VS_MISSING, _("Missing Values"), 20);
+ add_popup_menu (obj, column, on_missing_values_click);
+
+ add_spin_column (obj, VS_COLUMNS, _("Columns"), 3);
+
+ add_combo_column (obj, VS_ALIGN, _("Align"), 8, alignment_to_stock_id,
+ alignment_to_string (ALIGN_LEFT), ALIGN_LEFT,
+ alignment_to_string (ALIGN_CENTRE), ALIGN_CENTRE,
+ alignment_to_string (ALIGN_RIGHT), ALIGN_RIGHT,
+ NULL);
+
+ add_combo_column (obj, VS_MEASURE, _("Measure"), 11, measure_to_stock_id,
+ measure_to_string (MEASURE_NOMINAL), MEASURE_NOMINAL,
+ measure_to_string (MEASURE_ORDINAL), MEASURE_ORDINAL,
+ measure_to_string (MEASURE_SCALE), MEASURE_SCALE,
+ NULL);
+
+ add_combo_column (obj, VS_ROLE, _("Role"), 11, role_to_stock_id,
+ var_role_to_string (ROLE_INPUT), ROLE_INPUT,
+ var_role_to_string (ROLE_TARGET), ROLE_TARGET,
+ var_role_to_string (ROLE_BOTH), ROLE_BOTH,
+ var_role_to_string (ROLE_NONE), ROLE_NONE,
+ var_role_to_string (ROLE_PARTITION), ROLE_PARTITION,
+ var_role_to_string (ROLE_SPLIT), ROLE_SPLIT,
+ NULL);
+
+ pspp_sheet_view_set_rubber_banding (sheet_view, TRUE);
+ pspp_sheet_selection_set_mode (pspp_sheet_view_get_selection (sheet_view),
+ PSPP_SHEET_SELECTION_MULTIPLE);
+
+ g_object_set (G_OBJECT (obj), "has-tooltip", TRUE, NULL);
+ g_signal_connect (obj, "query-tooltip",
+ G_CALLBACK (on_query_var_tooltip), NULL);
+ g_signal_connect (obj, "button-press-event",
+ G_CALLBACK (on_button_pressed), NULL);
+ g_signal_connect (obj, "popup-menu", G_CALLBACK (on_popup_menu), NULL);
+
+ obj->builder = builder_new ("var-sheet.ui");
+
+ action = get_action_assert (obj->builder, "edit_clear-variables");
+ g_signal_connect (action, "activate", G_CALLBACK (on_edit_clear_variables),
+ obj);
+ gtk_action_set_sensitive (action, FALSE);
+ g_signal_connect (pspp_sheet_view_get_selection (sheet_view),
+ "changed", G_CALLBACK (on_selection_changed), NULL);
+
+ action = get_action_assert (obj->builder, "edit_insert-variable");
+ gtk_action_set_sensitive (action, FALSE);
+ g_signal_connect (action, "activate", G_CALLBACK (on_edit_insert_variable),
+ obj);
+}