X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Ft-test-options.c;h=17d2d525087125ad163bfa70cf080cf64a9454df;hb=e7913c62251710319b06c50702c5db9afb612be5;hp=ed8ac042daaf7e3e420eb739dcfd0e32a6ef24a1;hpb=bd17d2af982332ee1791998361b1ac6731fe14fa;p=pspp diff --git a/src/ui/gui/t-test-options.c b/src/ui/gui/t-test-options.c index ed8ac042da..17d2d52508 100644 --- a/src/ui/gui/t-test-options.c +++ b/src/ui/gui/t-test-options.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2007 Free Software Foundation + Copyright (C) 2007, 2012, 2015 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 @@ -21,10 +21,12 @@ #include "psppire-dialog.h" #include +#include "builder-wrapper.h" #include "helper.h" #include "t-test-options.h" #include "widget-io.h" +#include "psppire-scanf.h" #include #define _(msgid) gettext (msgid) @@ -49,27 +51,34 @@ struct tt_options_dialog gdouble confidence_interval; gboolean non_default_options; enum exclude_mode excl; + GtkBuilder *xml; }; struct tt_options_dialog * -tt_options_dialog_create (GtkBuilder *xml, GtkWindow *parent) +tt_options_dialog_create (GtkWindow *parent) { struct tt_options_dialog *tto = xmalloc (sizeof (*tto)); + tto->xml = builder_new ("t-test.ui"); + tto->confidence = - widget_scanf (_("Confidence Interval: %2d %%"), - &tto->conf_percent); + psppire_scanf_new (_("Con_fidence Interval: %2d %%"), &tto->conf_percent); + + g_object_set (tto->confidence, + "use-underline", TRUE, + "mnemonic-widget", psppire_scanf_get_child (PSPPIRE_SCANF (tto->confidence), 0), + NULL); - tto->dialog = get_widget_assert (xml, "options-dialog"); + tto->dialog = get_widget_assert (tto->xml, "options-dialog"); - tto->box = get_widget_assert (xml, "vbox1"); + tto->box = get_widget_assert (tto->xml, "vbox1"); - tto->analysis = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "radiobutton1")); - tto->listwise = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "radiobutton2")); + tto->analysis = GTK_TOGGLE_BUTTON (get_widget_assert (tto->xml, "radiobutton1")); + tto->listwise = GTK_TOGGLE_BUTTON (get_widget_assert (tto->xml, "radiobutton2")); gtk_widget_show (tto->confidence); - gtk_box_pack_start_defaults (GTK_BOX (tto->box), tto->confidence); + psppire_box_pack_start_defaults (GTK_BOX (tto->box), tto->confidence); gtk_window_set_transient_for (GTK_WINDOW (tto->dialog), parent); @@ -83,7 +92,10 @@ tt_options_dialog_create (GtkBuilder *xml, GtkWindow *parent) void tt_options_dialog_destroy (struct tt_options_dialog *tto) { + if (tto == NULL) + return; gtk_container_remove (GTK_CONTAINER (tto->box), tto->confidence); + g_object_unref (tto->xml); g_free (tto); } @@ -93,7 +105,7 @@ tt_options_dialog_run (struct tt_options_dialog *tto) { gint response; - if ( tto->excl == EXCL_ANALYSIS) + if (tto->excl == EXCL_ANALYSIS) gtk_toggle_button_set_active (tto->analysis, TRUE); else gtk_toggle_button_set_active (tto->listwise, TRUE); @@ -102,12 +114,12 @@ tt_options_dialog_run (struct tt_options_dialog *tto) response = psppire_dialog_run (PSPPIRE_DIALOG (tto->dialog)); - if ( response == PSPPIRE_RESPONSE_CONTINUE) + if (response == PSPPIRE_RESPONSE_CONTINUE) { tto->non_default_options = TRUE; tto->confidence_interval = gtk_spin_button_get_value (tto->conf_percent); - if ( gtk_toggle_button_get_active (tto->analysis) ) + if (gtk_toggle_button_get_active (tto->analysis)) tto->excl = EXCL_ANALYSIS; else tto->excl = EXCL_LISTWISE; @@ -115,16 +127,22 @@ tt_options_dialog_run (struct tt_options_dialog *tto) } void -tt_options_dialog_append_syntax (struct tt_options_dialog *tto, GString *str) +tt_options_dialog_append_syntax (const struct tt_options_dialog *tto, GString *str) { - g_string_append (str, "\t/MISSING="); + struct string dss; + ds_init_empty (&dss); - if ( tto->excl == EXCL_ANALYSIS ) - g_string_append (str, "ANALYSIS"); + ds_put_cstr (&dss, "\t/MISSING="); + + if (tto->excl == EXCL_ANALYSIS) + ds_put_cstr (&dss, "ANALYSIS"); else - g_string_append (str, "LISTWISE"); + ds_put_cstr (&dss, "LISTWISE"); + + ds_put_c_format (&dss, "\n\t/CRITERIA=CI(%g)", + tto->confidence_interval/100.0); + g_string_append (str, ds_cstr (&dss)); - g_string_append_printf (str, "\n\t/CRITERIA=CIN(%g)", - tto->confidence_interval/100.0); + ds_destroy (&dss); }