X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fcount-dialog.c;h=0aa798b2d9877041698b8418daae06f2fddd717a;hb=1509c6773d7302a2753c4f47b3e52fc5e3cca185;hp=39a99dbd9d8ad2ece22839c5e3ce319d85b3c050;hpb=523bde2a5dc354528b1535afc8643a8617e1cefe;p=pspp diff --git a/src/ui/gui/count-dialog.c b/src/ui/gui/count-dialog.c index 39a99dbd9d..0aa798b2d9 100644 --- a/src/ui/gui/count-dialog.c +++ b/src/ui/gui/count-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2011 Free Software Foundation + Copyright (C) 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,7 +20,7 @@ #include "count-dialog.h" #include -#include "helper.h" +#include "builder-wrapper.h" #include "psppire-dialog.h" #include "psppire-selector.h" #include "psppire-val-chooser.h" @@ -28,8 +28,10 @@ #include "psppire-acr.h" #include "dialog-common.h" + #include #include "executor.h" +#include "helper.h" struct cnt_dialog { @@ -163,6 +165,7 @@ void count_dialog (PsppireDataWindow *de) } + g_object_unref (cnt.value_list); g_object_unref (builder); } @@ -234,17 +237,19 @@ generate_syntax (const struct cnt_dialog *cnt) const gchar *s = NULL; gboolean ok; GtkTreeIter iter; - GString *str = g_string_sized_new (100); + struct string dds; + + ds_init_empty (&dds); - g_string_append (str, "\nCOUNT "); + ds_put_cstr (&dds, "\nCOUNT "); - g_string_append (str, gtk_entry_get_text (GTK_ENTRY (cnt->target))); + ds_put_cstr (&dds, gtk_entry_get_text (GTK_ENTRY (cnt->target))); - g_string_append (str, " ="); + ds_put_cstr (&dds, " ="); - psppire_var_view_append_names (PSPPIRE_VAR_VIEW (cnt->variable_treeview), 0, str); + psppire_var_view_append_names_str (PSPPIRE_VAR_VIEW (cnt->variable_treeview), 0, &dds); - g_string_append (str, "("); + ds_put_cstr (&dds, "("); for (ok = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (cnt->value_list), &iter); ok; @@ -258,36 +263,31 @@ generate_syntax (const struct cnt_dialog *cnt) ov = g_value_get_boxed (&a_value); - g_string_append (str, " "); - old_value_append_syntax (str, ov); + ds_put_cstr (&dds, " "); + old_value_append_syntax (&dds, ov); } - g_string_append (str, ")."); + ds_put_cstr (&dds, ")."); s = gtk_entry_get_text (GTK_ENTRY (cnt->label)); if (0 != strcmp (s, "")) { - struct string ds; - ds_init_empty (&ds); - g_string_append (str, "\nVARIABLE LABELS "); - - g_string_append (str, gtk_entry_get_text (GTK_ENTRY (cnt->target))); + ds_put_cstr (&dds, "\nVARIABLE LABELS "); - g_string_append (str, " "); + ds_put_cstr (&dds, gtk_entry_get_text (GTK_ENTRY (cnt->target))); - syntax_gen_string (&ds, ss_cstr (s)); + ds_put_cstr (&dds, " "); - g_string_append (str, ds_cstr (&ds)); + syntax_gen_string (&dds, ss_cstr (s)); - g_string_append (str, "."); - ds_destroy (&ds); + ds_put_cstr (&dds, "."); } - g_string_append (str, "\nEXECUTE.\n"); + ds_put_cstr (&dds, "\nEXECUTE.\n"); - text = str->str; + text = ds_steal_cstr (&dds); - g_string_free (str, FALSE); + ds_destroy (&dds); return text; }