projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Chi Square Dialog: Replace deprecated widgets
[pspp]
/
src
/
ui
/
gui
/
aggregate-dialog.c
diff --git
a/src/ui/gui/aggregate-dialog.c
b/src/ui/gui/aggregate-dialog.c
index 7a48fce850603eec83e7672ee92af4688cd19564..c6f5ad838f925ab61b6d6d53a06b211f7980e13f 100644
(file)
--- a/
src/ui/gui/aggregate-dialog.c
+++ b/
src/ui/gui/aggregate-dialog.c
@@
-1,5
+1,5
@@
/* PSPPIRE - a graphical user interface for PSPP.
/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2010, 2011, 2012 Free Software Foundation
+ Copyright (C) 2010, 2011, 2012
, 2013, 2014
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
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
@@
-18,6
+18,8
@@
#include "dialog-common.h"
#include "dialog-common.h"
+#include <float.h>
+#include <gl/c-xvasprintf.h>
#include <language/stats/aggregate.h>
#include <ui/syntax-gen.h>
#include <language/stats/aggregate.h>
#include <ui/syntax-gen.h>
@@
-93,15
+95,6
@@
struct aggregate
static char * generate_syntax (const struct aggregate *rd);
static char * generate_syntax (const struct aggregate *rd);
-/* Makes widget W's sensitivity follow the active state of TOGGLE */
-static void
-sensitive_if_active (GtkToggleButton *toggle, GtkWidget *w)
-{
- gboolean active = gtk_toggle_button_get_active (toggle);
-
- gtk_widget_set_sensitive (w, active);
-}
-
static void update_arguments (struct aggregate *agg);
static void update_arguments (struct aggregate *agg);
@@
-160,11
+153,12
@@
choose_filename (struct aggregate *fd)
GtkFileFilter *filter;
GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Aggregate destination file"),
GtkFileFilter *filter;
GtkWidget *dialog = gtk_file_chooser_dialog_new (_("Aggregate destination file"),
- GTK_WINDOW (fd->de),
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
- NULL);
+ GTK_WINDOW (fd->de),
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ _("Cancel"), GTK_RESPONSE_CANCEL,
+ _("Save"), GTK_RESPONSE_ACCEPT,
+ NULL);
+
g_object_set (dialog, "local-only", FALSE, NULL);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
g_object_set (dialog, "local-only", FALSE, NULL);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
@@
-175,6
+169,11
@@
choose_filename (struct aggregate *fd)
gtk_file_filter_add_mime_type (filter, "application/x-spss-sav");
gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter);
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, _("Compressed System Files (*.zsav)"));
+ gtk_file_filter_add_pattern (filter, "*.zsav");
+ 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_mime_type (filter, "application/x-spss-por");
filter = gtk_file_filter_new ();
gtk_file_filter_set_name (filter, _("Portable Files (*.por) "));
gtk_file_filter_add_mime_type (filter, "application/x-spss-por");
@@
-435,15
+434,14
@@
on_acr_change (const struct aggregate *agg, GtkTreeView *tv)
gtk_entry_set_text (GTK_ENTRY (agg->summary_var_label_entry), label);
gtk_entry_set_text (GTK_ENTRY (agg->summary_sv_entry), srcvar);
gtk_entry_set_text (GTK_ENTRY (agg->summary_var_label_entry), label);
gtk_entry_set_text (GTK_ENTRY (agg->summary_sv_entry), srcvar);
- text =
g_strdup_printf ("%g"
, arg1);
+ text =
c_xasprintf ("%.*g", DBL_DIG + 1
, arg1);
gtk_entry_set_text (GTK_ENTRY (agg->summary_arg1_entry), text);
g_free (text);
gtk_entry_set_text (GTK_ENTRY (agg->summary_arg1_entry), text);
g_free (text);
- text =
g_strdup_printf ("%g"
, arg2);
+ text =
c_xasprintf ("%.*g", DBL_DIG + 1
, arg2);
gtk_entry_set_text (GTK_ENTRY (agg->summary_arg2_entry), text);
g_free (text);
gtk_entry_set_text (GTK_ENTRY (agg->summary_arg2_entry), text);
g_free (text);
-
gtk_combo_box_set_active (GTK_COMBO_BOX (agg->function_combo), f_idx);
}
gtk_combo_box_set_active (GTK_COMBO_BOX (agg->function_combo), f_idx);
}
@@
-469,8
+467,6
@@
aggregate_dialog (PsppireDataWindow *dw)
struct aggregate fd;
gint response;
struct aggregate fd;
gint response;
- PsppireVarStore *vs;
-
GtkWidget *dialog ;
GtkWidget *source ;
GtkWidget *dialog ;
GtkWidget *source ;
@@
-566,11
+562,9
@@
aggregate_dialog (PsppireDataWindow *dw)
g_signal_connect_swapped (dialog, "refresh", G_CALLBACK (refresh), &fd);
g_signal_connect_swapped (dialog, "refresh", G_CALLBACK (refresh), &fd);
- g_object_get (fd.de->data_editor, "var-store", &vs, NULL);
-
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (fd.de));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (fd.de));
- g_object_get (
vs
, "dictionary", &fd.dict, NULL);
+ g_object_get (
fd.de->data_editor
, "dictionary", &fd.dict, NULL);
g_object_set (source, "model", fd.dict, NULL);
g_object_set (source, "model", fd.dict, NULL);
@@
-581,7
+575,7
@@
aggregate_dialog (PsppireDataWindow *dw)
dialog_state_valid, &fd);
g_signal_connect (fd.filename_radiobutton, "toggled",
dialog_state_valid, &fd);
g_signal_connect (fd.filename_radiobutton, "toggled",
- G_CALLBACK (se
nsitive_if_activ
e), fd.filename_box );
+ G_CALLBACK (se
t_sensitivity_from_toggl
e), fd.filename_box );
g_signal_connect_swapped (fd.filename_button, "clicked",
G_CALLBACK (choose_filename), &fd);
g_signal_connect_swapped (fd.filename_button, "clicked",
G_CALLBACK (choose_filename), &fd);
@@
-635,8
+629,8
@@
static void
append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *string)
{
GtkTreeIter combo_iter;
append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *string)
{
GtkTreeIter combo_iter;
- c
onst char *varname
;
- c
onst char *funcname
;
+ c
har *varname = NULL
;
+ c
har *funcname = NULL
;
GtkTreeModel *acr_model = GTK_TREE_MODEL (PSPPIRE_ACR (agg->summary_acr)->list_store);
GtkTreeModel *combo_model = gtk_combo_box_get_model (GTK_COMBO_BOX (agg->function_combo));
GtkTreeModel *acr_model = GTK_TREE_MODEL (PSPPIRE_ACR (agg->summary_acr)->list_store);
GtkTreeModel *combo_model = gtk_combo_box_get_model (GTK_COMBO_BOX (agg->function_combo));
@@
-647,8
+641,8
@@
append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *st
double arg1, arg2;
int arity;
enum agr_src_vars has_src_vars;
double arg1, arg2;
int arity;
enum agr_src_vars has_src_vars;
-
const gchar *label
;
-
const gchar *srcvar
;
+
gchar *label = NULL
;
+
gchar *srcvar = NULL
;
gtk_tree_model_get (acr_model, iter,
SUMMARY_COL_VARNAME, &varname,
gtk_tree_model_get (acr_model, iter,
SUMMARY_COL_VARNAME, &varname,
@@
-683,18
+677,28
@@
append_summary_spec (const struct aggregate *agg, GtkTreeIter *iter, GString *st
if ( has_src_vars != AGR_SV_NO)
{
if ( has_src_vars != AGR_SV_NO)
{
- g_string_append (string, " (");
+ struct string dss;
+ ds_init_cstr (&dss, " (");
-
g_string_append (string
, srcvar);
+
ds_put_cstr (&dss
, srcvar);
if ( arity > 0)
if ( arity > 0)
-
g_string_append_printf (string, ", %g"
, arg1);
+
ds_put_c_format (&dss, ", %.*g", DBL_DIG + 1
, arg1);
if ( arity > 1)
if ( arity > 1)
-
g_string_append_printf (string, ", %g"
, arg2);
+
ds_put_c_format (&dss, ", %.*g", DBL_DIG + 1
, arg2);
- g_string_append (string, ")");
+ ds_put_cstr (&dss, ")");
+
+ g_string_append (string, ds_cstr (&dss));
+
+ ds_destroy (&dss);
}
}
+
+ free (label);
+ free (srcvar);
+ free (varname);
+ free (funcname);
}
}