X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fchi-square-dialog.c;h=4032b61ca6d44ced2217e281fe460d2032bab2f6;hb=8f885c554e37cd066898e18b9c0752ac0e57b3dd;hp=6bb42e4755c302ca5e0b702ecb8a633fe5be5a56;hpb=f550aee00a62fe1d8baf62d83cd7efef6cc2ee92;p=pspp diff --git a/src/ui/gui/chi-square-dialog.c b/src/ui/gui/chi-square-dialog.c index 6bb42e4755..4032b61ca6 100644 --- a/src/ui/gui/chi-square-dialog.c +++ b/src/ui/gui/chi-square-dialog.c @@ -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 @@ -18,16 +18,14 @@ #include "chi-square-dialog.h" -#include - #include "psppire-dialog.h" #include "psppire-var-view.h" #include "psppire-acr.h" #include "dialog-common.h" -#include "helper.h" +#include "builder-wrapper.h" #include "executor.h" - +#include "helper.h" #include @@ -48,14 +46,6 @@ struct chisquare_dialog GtkListStore *expected_list; }; -static void -set_sensitivity (GtkToggleButton *button, GtkWidget *w) -{ - gboolean state = gtk_toggle_button_get_active (button); - gtk_widget_set_sensitive (w, state); -} - - static gboolean dialog_state_valid (gpointer data) { @@ -92,40 +82,35 @@ static char * generate_syntax (const struct chisquare_dialog *scd) { gchar *text; - GString *string; - + struct string dss; - string = g_string_new ("NPAR TEST\n\t/CHISQUARE="); - - psppire_var_view_append_names (PSPPIRE_VAR_VIEW (scd->var_view), 0, string); + ds_init_cstr (&dss, "NPAR TEST\n\t/CHISQUARE="); + psppire_var_view_append_names_str (PSPPIRE_VAR_VIEW (scd->var_view), 0, &dss); if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->range_button))) { - g_string_append (string, "("); + ds_put_cstr (&dss, "("); - g_string_append (string, + ds_put_cstr (&dss, gtk_entry_get_text (GTK_ENTRY (scd->value_lower))); - g_string_append (string, ", "); + ds_put_cstr (&dss, ", "); - g_string_append (string, + ds_put_cstr (&dss, gtk_entry_get_text (GTK_ENTRY (scd->value_upper))); - g_string_append (string, ")"); + ds_put_cstr (&dss, ")"); } - - - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (scd->values_button))) { GtkListStore *ls = scd->expected_list; GtkTreeIter iter; gboolean ok; - g_string_append (string, "\n\t"); - g_string_append (string, "/EXPECTED = "); + ds_put_cstr (&dss, "\n\t"); + ds_put_cstr (&dss, "/EXPECTED = "); for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL(ls), @@ -137,18 +122,15 @@ generate_syntax (const struct chisquare_dialog *scd) gtk_tree_model_get (GTK_TREE_MODEL (ls), &iter, 0, &v, -1); - g_string_append_printf (string, " %g", v); + ds_put_c_format (&dss, " %g", v); } - - - } - g_string_append (string, ".\n"); + ds_put_cstr (&dss, ".\n"); - text = string->str; + text = ds_steal_cstr (&dss); - g_string_free (string, FALSE); + ds_destroy (&dss); return text; } @@ -203,14 +185,14 @@ chisquare_dialog (PsppireDataWindow *dw) NULL); - g_signal_connect (csd.range_button, "toggled", G_CALLBACK (set_sensitivity), + g_signal_connect (csd.range_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), range_table); - g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity), + g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), values_acr); - g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity), + g_signal_connect (csd.values_button, "toggled", G_CALLBACK (set_sensitivity_from_toggle), expected_value_entry); @@ -230,25 +212,15 @@ chisquare_dialog (PsppireDataWindow *dw) switch (response) { case GTK_RESPONSE_OK: - { - gchar *syntax = generate_syntax (&csd); - - struct getl_interface *sss = create_syntax_string_source (syntax); - execute_syntax (sss); - - g_free (syntax); - } + g_free (execute_syntax_string (dw, generate_syntax (&csd))); break; case PSPPIRE_RESPONSE_PASTE: - { - gchar *syntax = generate_syntax (&csd); - paste_syntax_to_window (syntax); - g_free (syntax); - } + g_free (paste_syntax_to_window (generate_syntax (&csd))); break; default: break; } + g_object_unref (csd.expected_list); g_object_unref (xml); }