X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fchi-square-dialog.c;h=df408921d1e72d08d188fef40b222baee2703098;hb=f8f1a264cd46b53651baf9aa3ab5042b57fd351b;hp=7666cb594a82d4abcbf0158730d30e3e9b414a60;hpb=d46430e7458fcd65dfdf7928f52f2d06fa60127d;p=pspp diff --git a/src/ui/gui/chi-square-dialog.c b/src/ui/gui/chi-square-dialog.c index 7666cb594a..df408921d1 100644 --- a/src/ui/gui/chi-square-dialog.c +++ b/src/ui/gui/chi-square-dialog.c @@ -46,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) { @@ -90,40 +82,35 @@ static char * generate_syntax (const struct chisquare_dialog *scd) { gchar *text; - GString *string; - - - string = g_string_new ("NPAR TEST\n\t/CHISQUARE="); + struct string dss; - 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), @@ -135,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; } @@ -162,7 +146,6 @@ chisquare_dialog (PsppireDataWindow *dw) struct chisquare_dialog csd; GtkBuilder *xml = builder_new ("chi-square.ui"); - PsppireVarStore *vs; GtkWidget *dialog = get_widget_assert (xml, "chisquare-dialog"); @@ -189,26 +172,24 @@ chisquare_dialog (PsppireDataWindow *dw) csd.values_button = get_widget_assert (xml, "radiobutton2"); - g_object_get (dw->data_editor, "var-store", &vs, NULL); - gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (dw)); - g_object_get (vs, "dictionary", &csd.dict, NULL); + g_object_get (dw->data_editor, "dictionary", &csd.dict, NULL); g_object_set (dict_view, "model", csd.dict, "predicate", var_is_numeric, 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); @@ -237,5 +218,6 @@ chisquare_dialog (PsppireDataWindow *dw) break; } + g_object_unref (csd.expected_list); g_object_unref (xml); }