X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvar-type-dialog.c;h=ea3d2e098a23c5eb464fea1ab596e6c09e4460cc;hb=2d9ee2dd5f5fbaeda0caf5a19ad4f018f4b22bc3;hp=5ba028d49e5887e6a3f95621e18c88789fcb9211;hpb=357ab70a77c59782866a3a5364e229c7d20bb0c5;p=pspp-builds.git diff --git a/src/ui/gui/var-type-dialog.c b/src/ui/gui/var-type-dialog.c index 5ba028d4..ea3d2e09 100644 --- a/src/ui/gui/var-type-dialog.c +++ b/src/ui/gui/var-type-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2005, 2006, 2010 Free Software Foundation + Copyright (C) 2005, 2006, 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 @@ -21,18 +21,15 @@ #include #include - #include #include -#include "var-type-dialog.h" - -#include "helper.h" - -#include -#include -#include - +#include "data/data-out.h" +#include "data/settings.h" +#include "data/variable.h" +#include "libpspp/message.h" +#include "ui/gui/builder-wrapper.h" +#include "ui/gui/var-type-dialog.h" struct tgs { @@ -125,7 +122,7 @@ static void update_width_decimals (const struct var_type_dialog *dialog); static void set_local_width_decimals (struct var_type_dialog *dialog) { - dialog->fmt_l = * var_get_write_format (dialog->pv); + dialog->fmt_l = * var_get_print_format (dialog->pv); switch (dialog->active_button) { @@ -262,12 +259,12 @@ preview_custom (GtkWidget *w, gpointer data) union value v; v.f = 1234.56; - sample_text = value_to_text (v, NULL, dialog->fmt_l); + sample_text = g_strchug (data_out (&v, NULL, &dialog->fmt_l)); gtk_label_set_text (GTK_LABEL (dialog->label_psample), sample_text); g_free (sample_text); v.f = -v.f; - sample_text = value_to_text (v, NULL, dialog->fmt_l); + sample_text = g_strchug (data_out (&v, NULL, &dialog->fmt_l)); gtk_label_set_text (GTK_LABEL (dialog->label_nsample), sample_text); g_free (sample_text); } @@ -315,12 +312,9 @@ set_format_type_from_treeview (GtkTreeView *treeview, gpointer data) dialog->fmt_l = custom_format; dialog->fmt_l.type = *(int*) g_value_get_pointer (&the_value); - } - - /* Create the structure */ struct var_type_dialog * var_type_dialog_create (GtkWindow *toplevel) @@ -665,21 +659,21 @@ select_treeview_from_format_type (GtkTreeView *treeview, static void var_type_dialog_set_state (struct var_type_dialog *dialog) { - const struct fmt_spec *write_spec ; + const struct fmt_spec *format ; GString *str = g_string_new (""); g_assert (dialog); g_assert (dialog->pv); /* Populate width and decimals */ - write_spec = var_get_write_format (dialog->pv); + format = var_get_print_format (dialog->pv); - g_string_printf (str, "%d", write_spec->d); + g_string_printf (str, "%d", format->d); gtk_entry_set_text (GTK_ENTRY (dialog->entry_decimals), str->str); - g_string_printf (str, "%d", write_spec->w); + g_string_printf (str, "%d", format->w); gtk_entry_set_text (GTK_ENTRY (dialog->entry_width), str->str); @@ -687,7 +681,7 @@ var_type_dialog_set_state (struct var_type_dialog *dialog) g_string_free (str, TRUE); /* Populate the radio button states */ - switch (write_spec->type) + switch (format->type) { case FMT_F: var_type_dialog_set_active_button (dialog, BUTTON_NUMERIC); @@ -710,7 +704,7 @@ var_type_dialog_set_state (struct var_type_dialog *dialog) var_type_dialog_set_active_button (dialog, BUTTON_DOLLAR); gtk_widget_show_all (dialog->width_decimals); - select_treeview_from_format (dialog->dollar_treeview, write_spec); + select_treeview_from_format (dialog->dollar_treeview, format); break; case FMT_DATE: case FMT_EDATE: @@ -728,7 +722,7 @@ var_type_dialog_set_state (struct var_type_dialog *dialog) var_type_dialog_set_active_button (dialog, BUTTON_DATE); gtk_widget_hide (dialog->width_decimals); gtk_widget_show (dialog->date_format_list); - select_treeview_from_format (dialog->date_format_treeview, write_spec); + select_treeview_from_format (dialog->date_format_treeview, format); break; case FMT_CCA: case FMT_CCB: @@ -737,7 +731,7 @@ var_type_dialog_set_state (struct var_type_dialog *dialog) case FMT_CCE: var_type_dialog_set_active_button (dialog, BUTTON_CUSTOM); select_treeview_from_format_type (dialog->custom_treeview, - write_spec->type); + format->type); gtk_widget_show_all (dialog->width_decimals); break; default: @@ -813,14 +807,16 @@ on_var_type_ok_clicked (GtkWidget *w, gpointer data) break; case BUTTON_DATE: case BUTTON_CUSTOM: - g_assert (fmt_check_output (&dialog->fmt_l)); - result = memcpy (&spec, &dialog->fmt_l, sizeof (struct fmt_spec)); + if (! fmt_check_output (&dialog->fmt_l)) + g_critical ("Invalid variable format"); + else + result = memcpy (&spec, &dialog->fmt_l, sizeof (struct fmt_spec)); break; case BUTTON_DOLLAR: result = make_output_format_try (&spec, FMT_DOLLAR, width, decimals); break; default: - g_print ("Unknown variable type: %d\n", dialog->active_button) ; + g_critical ("Unknown variable type: %d", dialog->active_button) ; result = false; break; }