New file: builder-wrapper.h and builder-wrapper.c
[pspp-builds.git] / src / ui / gui / aggregate-dialog.c
index e1a688a3be8cd61760b243f2db901b96b442684e..7fce9f55637481e837719c0f4a29a8a8672c76f1 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPPIRE - a graphical user interface for PSPP.
-   Copyright (C) 2010  Free Software Foundation
+   Copyright (C) 2010, 2011, 2012  Free Software Foundation
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -17,7 +17,6 @@
 #include <config.h>
 
 #include "dialog-common.h"
-#include <language/syntax-string-source.h>
 
 #include <language/stats/aggregate.h>
 
@@ -36,6 +35,7 @@
 #include "dict-display.h"
 
 #include "executor.h"
+#include "builder-wrapper.h"
 #include "helper.h"
 
 #include <gtk/gtk.h>
@@ -122,9 +122,10 @@ refresh (struct aggregate *agg)
   gtk_entry_set_text (GTK_ENTRY (agg->summary_arg1_entry), "");
   gtk_entry_set_text (GTK_ENTRY (agg->summary_arg2_entry), "");
   gtk_entry_set_text (GTK_ENTRY (agg->summary_var_label_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (agg->summary_var_name_entry), "");
+  gtk_entry_set_text (GTK_ENTRY (agg->summary_var_name_entry), "N_BREAK");
+  gtk_editable_select_region (GTK_EDITABLE (agg->summary_var_name_entry), 0, -1);
 
-  gtk_combo_box_set_active (GTK_COMBO_BOX (agg->function_combo), -1);
+  gtk_combo_box_set_active (GTK_COMBO_BOX (agg->function_combo), N);
 
   gtk_list_store_clear (PSPPIRE_ACR (agg->summary_acr)->list_store);
 
@@ -164,20 +165,19 @@ choose_filename (struct aggregate *fd)
                                                           GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
                                                           GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
                                                           NULL);
+  g_object_set (dialog, "local-only", FALSE, NULL);
 
   gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
 
 
   filter = gtk_file_filter_new ();
   gtk_file_filter_set_name (filter, _("System Files (*.sav)"));
-  gtk_file_filter_add_pattern (filter, "*.sav");
-  gtk_file_filter_add_pattern (filter, "*.SAV");
+  gtk_file_filter_add_mime_type (filter, "application/x-spss-sav");
   gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
 
   filter = gtk_file_filter_new ();
   gtk_file_filter_set_name (filter, _("Portable Files (*.por) "));
-  gtk_file_filter_add_pattern (filter, "*.por");
-  gtk_file_filter_add_pattern (filter, "*.POR");
+  gtk_file_filter_add_mime_type (filter, "application/x-spss-por");
   gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
 
 
@@ -213,7 +213,7 @@ populate_combo_model (GtkComboBox *cb)
 
       gtk_list_store_append (list, &iter);
       gtk_list_store_set (list, &iter,
-                          COMBO_MODEL_COL_DESC, s,
+                          COMBO_MODEL_COL_DESC, gettext (s),
                          COMBO_MODEL_COL_SYNTAX, af->name,
                          COMBO_MODEL_COL_SRC_VARS, af->src_vars,
                          COMBO_MODEL_COL_ARITY, af->n_args,
@@ -456,7 +456,7 @@ set_initial_pos (GtkPaned *pane)
                "max-position", &max_pos,
                NULL);
 
-  gtk_paned_set_position (pane, max_pos / 2);
+  gtk_paned_set_position (pane, max_pos);
 }
 
 
@@ -533,7 +533,7 @@ aggregate_dialog (PsppireDataWindow *dw)
 
     column = gtk_tree_view_get_column (PSPPIRE_ACR (fd.summary_acr)->tv, 0);
 
-    l = gtk_tree_view_column_get_cell_renderers (column);
+    l = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column));
 
     cell_renderer = l->data;
 
@@ -590,22 +590,10 @@ aggregate_dialog (PsppireDataWindow *dw)
   switch (response)
     {
     case GTK_RESPONSE_OK:
-      {
-       gchar *syntax = generate_syntax (&fd);
-
-       struct getl_interface *sss = create_syntax_string_source (syntax);
-       execute_syntax (sss);
-
-       g_free (syntax);
-      }
+      g_free (execute_syntax_string (dw, generate_syntax (&fd)));
       break;
     case PSPPIRE_RESPONSE_PASTE:
-      {
-       gchar *syntax = generate_syntax (&fd);
-        paste_syntax_to_window (syntax);
-
-       g_free (syntax);
-      }
+      g_free (paste_syntax_to_window (generate_syntax (&fd)));
       break;
     default:
       break;