X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Freliability-dialog.c;h=c60f0df504968e25b66c0b670141e38b155b4fa3;hb=eea449691e75dfc2af4fd5d6670ab155b813a13e;hp=66c8bf5ce4b3eed41425643db8bd3eb5ec043790;hpb=bd17d2af982332ee1791998361b1ac6731fe14fa;p=pspp diff --git a/src/ui/gui/reliability-dialog.c b/src/ui/gui/reliability-dialog.c index 66c8bf5ce4..c60f0df504 100644 --- a/src/ui/gui/reliability-dialog.c +++ b/src/ui/gui/reliability-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2009 Free Software Foundation + Copyright (C) 2009, 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 @@ -17,13 +17,13 @@ #include #include "dialog-common.h" -#include #include "reliability-dialog.h" #include "psppire-selector.h" #include "psppire-dictview.h" #include "psppire-dialog.h" #include "psppire-data-window.h" +#include "psppire-var-view.h" #include "executor.h" #include "helper.h" @@ -42,6 +42,7 @@ struct reliability GtkWidget *variables; GtkWidget *split_point_hbox; GtkWidget *split_spinbutton; + GtkWidget *scale_if_item_deleted_checkbutton; }; @@ -92,6 +93,9 @@ refresh (PsppireDialog *dialog, struct reliability *rd) gtk_spin_button_set_range (GTK_SPIN_BUTTON (rd->split_spinbutton), 0, 0); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rd->scale_if_item_deleted_checkbutton), + FALSE); } @@ -109,20 +113,17 @@ dialog_state_valid (gpointer data) /* Pops up the Reliability dialog box */ void -reliability_dialog (GObject *o, gpointer data) +reliability_dialog (PsppireDataWindow *de) { struct reliability rd; gint response; GtkBuilder *xml = builder_new ("reliability.ui"); - PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs; GtkWidget *dialog = get_widget_assert (xml, "reliability-dialog"); GtkWidget *source = get_widget_assert (xml, "dict-view"); - GtkWidget *selector = get_widget_assert (xml, "psppire-selector1"); - rd.split_point_hbox = get_widget_assert (xml, "split-point-hbox"); rd.variables = get_widget_assert (xml, "treeview2"); @@ -130,6 +131,8 @@ reliability_dialog (GObject *o, gpointer data) rd.model_combo = get_widget_assert (xml, "combobox1"); rd.split_spinbutton = get_widget_assert (xml, "spinbutton1"); + rd.scale_if_item_deleted_checkbutton = get_widget_assert (xml, "totals-checkbutton"); + g_signal_connect_swapped (rd.model_combo, "changed", G_CALLBACK (on_method_change), &rd); @@ -138,16 +141,7 @@ reliability_dialog (GObject *o, gpointer data) gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); g_object_get (vs, "dictionary", &rd.dict, NULL); - g_object_set (source, "dictionary", rd.dict, NULL); - - set_dest_model (GTK_TREE_VIEW (rd.variables), rd.dict); - - psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector), - source, - rd.variables, - insert_source_row_into_tree_view, - NULL, - NULL); + g_object_set (source, "model", rd.dict, NULL); { GtkTreeModel *tm = @@ -172,22 +166,10 @@ reliability_dialog (GObject *o, gpointer data) switch (response) { case GTK_RESPONSE_OK: - { - gchar *syntax = generate_syntax (&rd); - - struct getl_interface *sss = create_syntax_string_source (syntax); - execute_syntax (sss); - - g_free (syntax); - } + g_free (execute_syntax_string (de, generate_syntax (&rd))); break; case PSPPIRE_RESPONSE_PASTE: - { - gchar *syntax = generate_syntax (&rd); - paste_syntax_in_new_window (syntax); - - g_free (syntax); - } + g_free (paste_syntax_to_window (generate_syntax (&rd))); break; default: break; @@ -206,7 +188,7 @@ generate_syntax (const struct reliability *rd) GString *string = g_string_new ("RELIABILITY"); g_string_append (string, "\n\t/VARIABLES="); - append_variable_names (string, rd->dict, GTK_TREE_VIEW (rd->variables), 0); + psppire_var_view_append_names (PSPPIRE_VAR_VIEW (rd->variables), 0, string); g_string_append (string, "\n\t/MODEL="); @@ -218,6 +200,9 @@ generate_syntax (const struct reliability *rd) gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (rd->split_spinbutton)) ); + if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (rd->scale_if_item_deleted_checkbutton))) + g_string_append (string, "\n\t/SUMMARY = TOTAL"); + g_string_append (string, ".\n"); text = string->str;