X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-dialog-action-logistic.c;h=074b8e145621af4a1b2cf4b0d72ea35bd836c967;hb=65dea0d51ec33cbc614a3ec87b5aae28c86f005a;hp=2eec4c6b8118dae9afb37ebbe124d8033a78f966;hpb=14f4522a17db23e67a6fa17876633cc6260cb42b;p=pspp diff --git a/src/ui/gui/psppire-dialog-action-logistic.c b/src/ui/gui/psppire-dialog-action-logistic.c index 2eec4c6b81..074b8e1456 100644 --- a/src/ui/gui/psppire-dialog-action-logistic.c +++ b/src/ui/gui/psppire-dialog-action-logistic.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2008, 2010, 2011, 2012, 2014 Free Software Foundation + Copyright (C) 2008, 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 @@ -20,8 +20,6 @@ #include "psppire-dialog-action-logistic.h" #include "psppire-value-entry.h" -#include - #include "dialog-common.h" #include "helper.h" #include @@ -104,7 +102,13 @@ psppire_dialog_action_logistic_activate (GtkAction *a) PsppireDialogAction *pda = PSPPIRE_DIALOG_ACTION (a); GtkWidget *opts_button; - GtkBuilder *xml = builder_new ("logistic.ui"); + GHashTable *thing = psppire_dialog_action_get_pointer (pda); + GtkBuilder *xml = g_hash_table_lookup (thing, a); + if (!xml) + { + xml = builder_new ("logistic.ui"); + g_hash_table_insert (thing, a, xml); + } pda->dialog = get_widget_assert (xml, "logistic-dialog"); pda->source = get_widget_assert (xml, "dict-view"); @@ -136,8 +140,6 @@ psppire_dialog_action_logistic_activate (GtkAction *a) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(act->conf_checkbox), TRUE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(act->conf_checkbox), FALSE); - g_object_unref (xml); - psppire_dialog_action_set_refresh (pda, refresh); psppire_dialog_action_set_valid_predicate (pda, @@ -167,14 +169,13 @@ generate_syntax (PsppireDialogAction *a) ds_put_cstr (&str, "\n\t/CRITERIA ="); - syntax_gen_pspp (&str, " CUT(%.*g)", DBL_DIG + 1, rd->cut_point); + syntax_gen_pspp (&str, " CUT(%g)", rd->cut_point); syntax_gen_pspp (&str, " ITERATE(%d)", rd->max_iterations); if (rd->conf) { - syntax_gen_pspp (&str, "\n\t/PRINT = CI(%.*g)", - DBL_DIG + 1, rd->conf_level); + syntax_gen_pspp (&str, "\n\t/PRINT = CI(%g)", rd->conf_level); } if (rd->constant) @@ -194,9 +195,7 @@ generate_syntax (PsppireDialogAction *a) static void psppire_dialog_action_logistic_class_init (PsppireDialogActionLogisticClass *class) { - GtkActionClass *action_class = GTK_ACTION_CLASS (class); - - action_class->activate = psppire_dialog_action_logistic_activate; + psppire_dialog_action_set_activation (class, psppire_dialog_action_logistic_activate); PSPPIRE_DIALOG_ACTION_CLASS (class)->generate_syntax = generate_syntax; }