insert variables in var view (#55357)
[pspp] / src / ui / gui / psppire-data-window.c
index b46cddd1f259b01d9a99d68566fa27a1caae9561..c06502f203e77e12ab8167cd6571d3df2a1f44c9 100644 (file)
@@ -1053,10 +1053,9 @@ connect_action_to_menuitem (GActionMap *map, const gchar *action_name, GtkWidget
 
 
 static void
-set_data_page (PsppireDataWindow *dw)
+on_realize (PsppireDataWindow *dw)
 {
   gtk_notebook_set_current_page (GTK_NOTEBOOK (dw->data_editor), 1);
-  gtk_notebook_set_current_page (GTK_NOTEBOOK (dw->data_editor), 0);
 }
 
 
@@ -1145,6 +1144,7 @@ on_clear_cases (PsppireDataWindow *dw)
   if (p == PSPPIRE_DATA_EDITOR_DATA_VIEW)
     {
       SswRange *range = SSW_SHEET(de->data_sheet)->selection;
+      g_return_if_fail (range->start_y >= 0);
       psppire_data_store_delete_cases (de->data_store, range->start_y,
                                       range->end_y - range->start_y + 1);
       gtk_widget_queue_draw (GTK_WIDGET (de->data_sheet));
@@ -1180,7 +1180,10 @@ insert_variable (PsppireDataWindow *dw)
   else
     {
       SswRange *range = SSW_SHEET(de->var_sheet)->selection;
-      psppire_data_editor_insert_new_variable_at_posn (de, range->start_y);
+      PsppireDict *dict = NULL;
+      g_object_get (de->var_sheet, "data-model", &dict, NULL);
+      psppire_dict_insert_variable (dict, range->start_y, NULL);
+      gtk_widget_queue_draw (GTK_WIDGET (de->var_sheet));
     }
 }
 
@@ -1453,7 +1456,7 @@ psppire_data_window_finish_init (PsppireDataWindow *de,
     PSPPIRE_DATA_EDITOR (psppire_data_editor_new (de->dict, de->data_store));
 
   g_signal_connect (de, "realize",
-                    G_CALLBACK (set_data_page), de);
+                    G_CALLBACK (on_realize), de);
 
   g_signal_connect_swapped (de->data_store, "case-changed",
                            G_CALLBACK (set_unsaved), de);