Fixed bug reporting the significance of paired value t-test.
[pspp-builds.git] / src / ui / gui / data-editor.c
index 169671033a2c74ad916c9670bb83d66948862525..f7df21c752e746bec52f647f672db0082e387fba 100644 (file)
@@ -22,7 +22,6 @@
 #include <gtk/gtk.h>
 
 #include "window-manager.h"
-#include <gtksheet/gtksheet.h>
 
 #include "psppire-data-editor.h"
 
@@ -49,6 +48,7 @@
 #include "examine-dialog.h"
 #include "dict-display.h"
 #include "regression-dialog.h"
+#include "text-data-import-dialog.h"
 
 #include "oneway-anova-dialog.h"
 #include "t-test-independent-samples-dialog.h"
@@ -62,7 +62,7 @@
 #include "syntax-editor.h"
 #include <language/syntax-string-source.h>
 #include <language/command.h>
-#include <libpspp/syntax-gen.h>
+#include <ui/syntax-gen.h>
 #include "window-manager.h"
 
 #include "psppire-data-store.h"
@@ -320,7 +320,7 @@ new_data_editor (void)
 
   de->toggle_value_labels =
     gtk_toggle_action_new ("toggle-value-labels",
-                          _("Labels"),
+                          _("_Labels"),
                           _("Show/hide value labels"),
                           "pspp-value-labels");
 
@@ -374,7 +374,7 @@ new_data_editor (void)
 
   de->insert_variable =
     gtk_action_new ("insert-variable",
-                   _("Insert Variable"),
+                   _("Insert _Variable"),
                    _("Create a new variable at the current position"),
                    "pspp-insert-variable");
 
@@ -393,7 +393,7 @@ new_data_editor (void)
 
   de->insert_case =
     gtk_action_new ("insert-case",
-                   _("Insert Case"),
+                   _("Insert Ca_se"),
                    _("Create a new case at the current position"),
                    "pspp-insert-case");
 
@@ -414,7 +414,7 @@ new_data_editor (void)
 
   de->invoke_goto_dialog =
     gtk_action_new ("goto-case-dialog",
-                   _("Goto Case"),
+                   _("_Goto Case"),
                    _("Jump to a Case in the Data Sheet"),
                    "gtk-jump-to");
 
@@ -434,7 +434,7 @@ new_data_editor (void)
 
   de->invoke_weight_cases_dialog =
     gtk_action_new ("weight-cases-dialog",
-                   _("Weights"),
+                   _("_Weights"),
                    _("Weight cases by variable"),
                    "pspp-weight-cases");
 
@@ -444,7 +444,7 @@ new_data_editor (void)
 
   de->invoke_transpose_dialog =
     gtk_action_new ("transpose-dialog",
-                   _("Transpose"),
+                   _("_Transpose"),
                    _("Transpose the cases with the variables"),
                    NULL);
 
@@ -456,7 +456,7 @@ new_data_editor (void)
 
   de->invoke_split_file_dialog =
     gtk_action_new ("split-file-dialog",
-                   _("Split"),
+                   _("S_plit"),
                    _("Split the active file"),
                    "pspp-split-file");
 
@@ -467,7 +467,7 @@ new_data_editor (void)
 
   de->invoke_sort_cases_dialog =
     gtk_action_new ("sort-cases-dialog",
-                   _("Sort"),
+                   _("_Sort"),
                    _("Sort cases in the active file"),
                    "pspp-sort-cases");
 
@@ -476,7 +476,7 @@ new_data_editor (void)
 
   de->invoke_select_cases_dialog =
     gtk_action_new ("select-cases-dialog",
-                   _("Select Cases"),
+                   _("Select _Cases"),
                    _("Select cases from the active file"),
                    "pspp-select-cases");
 
@@ -486,7 +486,7 @@ new_data_editor (void)
 
   de->invoke_compute_dialog =
     gtk_action_new ("compute-dialog",
-                   _("Compute"),
+                   _("_Compute"),
                    _("Compute new values for a variable"),
                    "pspp-compute");
 
@@ -534,7 +534,7 @@ new_data_editor (void)
 
   de->invoke_comments_dialog =
     gtk_action_new ("commments-dialog",
-                   _("Data File Comments"),
+                   _("Data File _Comments"),
                    _("Commentary text for the data file"),
                    NULL);
 
@@ -543,7 +543,7 @@ new_data_editor (void)
 
   de->invoke_find_dialog  =
     gtk_action_new ("find-dialog",
-                   _("Find"),
+                   _("_Find"),
                    _("Find Case"),
                    "gtk-find");
 
@@ -583,7 +583,7 @@ new_data_editor (void)
 
   de->invoke_variable_info_dialog  =
     gtk_action_new ("variable-info-dialog",
-                   _("Variables"),
+                   _("_Variables"),
                    _("Jump to Variable"),
                    "pspp-goto-variable");
 
@@ -703,6 +703,11 @@ new_data_editor (void)
                    G_CALLBACK (open_syntax_window),
                    e->window);
 
+  g_signal_connect_swapped (get_widget_assert (de->xml,"file_import-text"),
+                           "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->invoke_text_import_assistant);
+
   g_signal_connect_swapped (get_widget_assert (de->xml,"file_save"),
                            "activate",
                            G_CALLBACK (gtk_action_activate),
@@ -1001,7 +1006,7 @@ data_view_activate (GtkCheckMenuItem *menuitem, gpointer data)
 {
   struct data_editor *de = data;
 
-  gtk_notebook_set_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_DATA_VIEW);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_DATA_VIEW);
 }
 
 
@@ -1010,7 +1015,7 @@ variable_view_activate (GtkCheckMenuItem *menuitem, gpointer data)
 {
   struct data_editor *de = data;
 
-  gtk_notebook_set_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW);
+  gtk_notebook_set_current_page (GTK_NOTEBOOK (de->data_editor), PSPPIRE_DATA_EDITOR_VARIABLE_VIEW);
 }
 
 
@@ -1224,6 +1229,15 @@ register_data_editor_actions (struct data_editor *de)
 
   g_signal_connect (de->action_data_new, "activate",
                    G_CALLBACK (new_file), de);
+
+  de->invoke_text_import_assistant =
+    gtk_action_new ("file_import-text",
+                   _("_Import Text Data"),
+                   _("Import text data file"),
+                   "");
+
+  g_signal_connect (de->invoke_text_import_assistant, "activate",
+                   G_CALLBACK (text_data_import_assistant), de);
 }
 
 /* Returns true if NAME has a suffix which might denote a PSPP file */
@@ -1263,8 +1277,8 @@ save_file (struct data_editor *de)
 
   g_assert (de->file_name);
 
-  ds_init_cstr (&file_name, de->file_name);
-  gen_quoted_string (&file_name);
+  ds_init_empty (&file_name);
+  syntax_gen_string (&file_name, ss_cstr (de->file_name));
 
   if ( de->save_as_portable )
     {
@@ -1361,6 +1375,11 @@ data_save_as_dialog (GtkAction *action, struct data_editor *de)
        de->save_as_portable =
          ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button_sys));
 
+       if ( de->save_as_portable)
+         append_filename_suffix (de, ".por");
+       else
+         append_filename_suffix (de, ".sav");
+
        save_file (de);
 
        window_set_name_from_filename (e, de->file_name);
@@ -1399,9 +1418,8 @@ open_data_file (const gchar *file_name, struct data_editor *de)
   struct getl_interface *sss;
   struct string filename;
 
-  ds_init_cstr (&filename, file_name);
-
-  gen_quoted_string (&filename);
+  ds_init_empty (&filename);
+  syntax_gen_string (&filename, ss_cstr (file_name));
 
   sss = create_syntax_string_source ("GET FILE=%s.",
                                     ds_cstr (&filename));
@@ -1493,9 +1511,6 @@ create_data_sheet_variable_popup_menu (struct data_editor *de)
   GtkWidget *clear_variable =
     gtk_menu_item_new_with_label (_("Clear"));
 
-  gtk_action_connect_proxy (de->insert_variable,
-                           insert_variable );
-
 
   gtk_action_connect_proxy (de->delete_variables,
                            clear_variable );
@@ -1526,6 +1541,11 @@ create_data_sheet_variable_popup_menu (struct data_editor *de)
                            G_CALLBACK (psppire_data_editor_sort_descending),
                            de->data_editor);
 
+  g_signal_connect_swapped (G_OBJECT (insert_variable), "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->insert_variable);
+
+
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), sort_descending);
 
   gtk_widget_show_all (menu);
@@ -1546,16 +1566,16 @@ create_data_sheet_cases_popup_menu (struct data_editor *de)
     gtk_menu_item_new_with_label (_("Clear"));
 
 
-  gtk_action_connect_proxy (de->insert_case,
-                           insert_case);
-
-
   gtk_action_connect_proxy (de->delete_cases,
                            delete_case);
 
 
   gtk_menu_shell_append (GTK_MENU_SHELL (menu), insert_case);
 
+  g_signal_connect_swapped (G_OBJECT (insert_case), "activate",
+                           G_CALLBACK (gtk_action_activate),
+                           de->insert_case);
+
 
   gtk_menu_shell_append (GTK_MENU_SHELL (menu),
                         gtk_separator_menu_item_new ());