X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fgoto-case-dialog.c;h=ad10b256868cd4ab5c82ba0531073dc9869733e3;hb=0fe886a656b0ee57b4d542b7c16b3c56288b6fc6;hp=9a523943b1c5686e639d4df34b56530d4f1b55a5;hpb=9e0e4996fad6563f0a1ce628b80db5c23ef8279e;p=pspp diff --git a/src/ui/gui/goto-case-dialog.c b/src/ui/gui/goto-case-dialog.c index 9a523943b1..ad10b25686 100644 --- a/src/ui/gui/goto-case-dialog.c +++ b/src/ui/gui/goto-case-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2007 Free Software Foundation + Copyright (C) 2007, 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 @@ -17,41 +17,37 @@ #include #include "goto-case-dialog.h" -#include "helper.h" +#include "builder-wrapper.h" #include "psppire-dialog.h" #include "psppire-data-window.h" #include "psppire-data-store.h" static void -refresh (const PsppireDataWindow *de, GtkBuilder *xml) +refresh (PsppireDataSheet *ds, GtkBuilder *xml) { - PsppireDataStore *ds = NULL; + PsppireDataStore *data_store = psppire_data_sheet_get_data_store (ds); casenumber case_count ; GtkWidget *case_num_entry = get_widget_assert (xml, "goto-case-case-num-entry"); - g_object_get (de->data_editor, "data-store", &ds, NULL); + case_count = psppire_data_store_get_case_count (data_store); - case_count = psppire_data_store_get_case_count (ds); - - gtk_spin_button_set_range (GTK_SPIN_BUTTON (case_num_entry), - 1, case_count); + gtk_spin_button_set_range (GTK_SPIN_BUTTON (case_num_entry), 1, case_count); } void -goto_case_dialog (GObject *o, gpointer data) +goto_case_dialog (PsppireDataSheet *ds) { + GtkWindow *top_level; gint response; - GtkBuilder *xml = builder_new ("psppire.ui"); - PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); - + GtkBuilder *xml = builder_new ("goto-case.ui"); GtkWidget *dialog = get_widget_assert (xml, "goto-case-dialog"); + top_level = GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (ds))); + gtk_window_set_transient_for (GTK_WINDOW (dialog), top_level); - gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); - - refresh (de, xml); + refresh (ds, xml); response = psppire_dialog_run (PSPPIRE_DIALOG (dialog)); @@ -64,6 +60,6 @@ goto_case_dialog (GObject *o, gpointer data) case_num = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (case_num_entry)) - FIRST_CASE_NUMBER ; - g_object_set (de->data_editor, "current-case", case_num, NULL); + psppire_data_sheet_goto_case (ds, case_num); } }