X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fmissing-val-dialog.c;h=9230b8a6e58313a87a57a081931661041428d1d6;hb=729b96a6bd9342c45e6f65a113fd87c70da85b0a;hp=52e7a037c22a83b259645c01c1fe96719fea2bed;hpb=8af88c0b7ea2fe75df7e45497988ed0371006a86;p=pspp-builds.git diff --git a/src/ui/gui/missing-val-dialog.c b/src/ui/gui/missing-val-dialog.c index 52e7a037..9230b8a6 100644 --- a/src/ui/gui/missing-val-dialog.c +++ b/src/ui/gui/missing-val-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2005, 2006 Free Software Foundation + Copyright (C) 2005, 2006, 2009 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 @@ -218,18 +218,18 @@ on_delete (GtkWidget *w, GdkEvent *e, gpointer data) } -/* Creates the dialog structure from the xml */ +/* Creates the dialog structure */ struct missing_val_dialog * -missing_val_dialog_create (GtkBuilder *xml) +missing_val_dialog_create (GtkWindow *toplevel) { + GtkBuilder *xml = builder_new ("var-sheet-dialogs.ui"); + struct missing_val_dialog *dialog = g_malloc (sizeof (*dialog)); dialog->window = get_widget_assert (xml, "missing_values_dialog"); gtk_window_set_transient_for - (GTK_WINDOW (dialog->window), - GTK_WINDOW (get_widget_assert (xml, "data_editor"))); - + (GTK_WINDOW (dialog->window), toplevel); g_signal_connect_swapped (get_widget_assert (xml, "missing_val_cancel"), "clicked", G_CALLBACK (gtk_widget_hide), dialog->window); @@ -259,12 +259,14 @@ missing_val_dialog_create (GtkBuilder *xml) GTK_TOGGLE_BUTTON (get_widget_assert (xml, "range_missing")); - g_signal_connect (G_OBJECT (dialog->button_discrete), "toggled", + g_signal_connect (dialog->button_discrete, "toggled", G_CALLBACK (discrete), dialog); - g_signal_connect (G_OBJECT (dialog->button_range), "toggled", + g_signal_connect (dialog->button_range, "toggled", G_CALLBACK (range), dialog); + g_object_unref (xml); + return dialog; } @@ -307,8 +309,9 @@ missing_val_dialog_show (struct missing_val_dialog *dialog) gchar *high_text; mv_get_range (&dialog->mvl, &low.f, &high.f); - low_text = value_to_text (low, *write_spec); - high_text = value_to_text (high, *write_spec); + + low_text = value_to_text (low, dialog->dict, *write_spec); + high_text = value_to_text (high, dialog->dict, *write_spec); gtk_entry_set_text (GTK_ENTRY (dialog->low), low_text); gtk_entry_set_text (GTK_ENTRY (dialog->high), high_text); @@ -318,9 +321,7 @@ missing_val_dialog_show (struct missing_val_dialog *dialog) if ( mv_has_value (&dialog->mvl)) { gchar *text; - union value value; - mv_get_value (&dialog->mvl, &value, 0); - text = value_to_text (value, *write_spec); + text = value_to_text (*mv_get_value (&dialog->mvl, 0), dialog->dict, *write_spec); gtk_entry_set_text (GTK_ENTRY (dialog->discrete), text); g_free (text); } @@ -340,10 +341,9 @@ missing_val_dialog_show (struct missing_val_dialog *dialog) if ( i < n) { gchar *text ; - union value value; - mv_get_value (&dialog->mvl, &value, i); - text = value_to_text (value, *write_spec); + text = value_to_text (*mv_get_value (&dialog->mvl, i), dialog->dict, + *write_spec); gtk_entry_set_text (GTK_ENTRY (dialog->mv[i]), text); g_free (text); }