X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fvar-type-dialog.c;h=0f12c464495f687d41ed96a033b253a2638a2477;hb=66ada89a69ed73a1a15abfbd9bffe4cdf9bf307a;hp=c433bf3b2535e080e926093b2be5193c1760a252;hpb=14aac9fe7a7efbb6c9bded2ed5969a643cb76645;p=pspp-builds.git diff --git a/src/ui/gui/var-type-dialog.c b/src/ui/gui/var-type-dialog.c index c433bf3b..0f12c464 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 Free Software Foundation + Copyright (C) 2005, 2006, 2010, 2011 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/helper.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, 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, 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,21 +312,20 @@ 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) +var_type_dialog_create (GtkWindow *toplevel, PsppireVarStore *vs) { gint i; struct var_type_dialog *dialog = g_malloc (sizeof (struct var_type_dialog)); GtkBuilder *xml = builder_new ("var-sheet-dialogs.ui"); + dialog->vs = vs; + dialog->window = get_widget_assert (xml,"var_type_dialog"); dialog->active_button = -1; @@ -445,7 +441,7 @@ var_type_dialog_create (GtkWindow *toplevel) g_object_unref (list_store); g_signal_connect (dialog->date_format_treeview, "cursor-changed", - GTK_SIGNAL_FUNC (set_format_from_treeview), dialog); + G_CALLBACK (set_format_from_treeview), dialog); /* populate the dollar treeview */ @@ -483,11 +479,11 @@ var_type_dialog_create (GtkWindow *toplevel) g_signal_connect (dialog->dollar_treeview, "cursor-changed", - GTK_SIGNAL_FUNC (set_format_from_treeview), dialog); + G_CALLBACK (set_format_from_treeview), dialog); g_signal_connect_swapped (dialog->dollar_treeview, "cursor-changed", - GTK_SIGNAL_FUNC (update_width_decimals), dialog); + G_CALLBACK (update_width_decimals), dialog); /* populate the custom treeview */ @@ -527,22 +523,22 @@ var_type_dialog_create (GtkWindow *toplevel) g_signal_connect (dialog->custom_treeview, "cursor-changed", - GTK_SIGNAL_FUNC (set_format_type_from_treeview), dialog); + G_CALLBACK (set_format_type_from_treeview), dialog); g_signal_connect (dialog->custom_treeview, "cursor-changed", - GTK_SIGNAL_FUNC (preview_custom), dialog); + G_CALLBACK (preview_custom), dialog); g_signal_connect (dialog->entry_width, "changed", - GTK_SIGNAL_FUNC (preview_custom), dialog); + G_CALLBACK (preview_custom), dialog); g_signal_connect (dialog->entry_decimals, "changed", - GTK_SIGNAL_FUNC (preview_custom), dialog); + G_CALLBACK (preview_custom), dialog); /* Connect to the OK button */ @@ -665,21 +661,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 +683,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 +706,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 +724,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 +733,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: @@ -790,14 +786,12 @@ on_var_type_ok_clicked (GtkWidget *w, gpointer data) gint decimals = atoi (gtk_entry_get_text (GTK_ENTRY (dialog->entry_decimals))); - gint new_type = VAL_NUMERIC; gint new_width = 0; bool result = false; struct fmt_spec spec; switch (dialog->active_button) { case BUTTON_STRING: - new_type = VAL_STRING; new_width = width; result = make_output_format_try (&spec, FMT_A, width, 0); break;