X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fregression-dialog.c;h=7bea89e185a27f0f5307f9540c16204c6e69778f;hb=2d50227e83065571866610b4534936d7bd532d31;hp=a702ffb78df0c8d7681c2ec52ce8b6612efc65f8;hpb=0d01f7bd35591882cd13b6352409858ea33d39f7;p=pspp diff --git a/src/ui/gui/regression-dialog.c b/src/ui/gui/regression-dialog.c index a702ffb78d..7bea89e185 100644 --- a/src/ui/gui/regression-dialog.c +++ b/src/ui/gui/regression-dialog.c @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2008 Free Software Foundation + Copyright (C) 2008, 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 @@ -23,13 +23,13 @@ #include #include -#include #include #include #include #include #include #include +#include #include "gettext.h" @@ -157,9 +157,9 @@ generate_syntax (const struct regression_dialog *rd) GString *string = g_string_new ("REGRESSION"); g_string_append (string, "\n\t/VARIABLES="); - append_variable_names (string, rd->dict, GTK_TREE_VIEW (rd->indep_vars), 0); + psppire_var_view_append_names (PSPPIRE_VAR_VIEW (rd->indep_vars), 0, string); g_string_append (string, "\n\t/DEPENDENT=\t"); - append_variable_names (string, rd->dict, GTK_TREE_VIEW (rd->dep_vars), 0); + psppire_var_view_append_names (PSPPIRE_VAR_VIEW (rd->dep_vars), 0, string); selected = 0; for (i = 0, ok = gtk_tree_model_get_iter_first (rd->stat, &iter); ok; @@ -221,24 +221,22 @@ dialog_state_valid (gpointer data) /* Pops up the Regression dialog box */ void -regression_dialog (GObject *o, gpointer data) +regression_dialog (PsppireDataWindow *de) { gint response; struct regression_dialog rd; GtkBuilder *xml = builder_new ("regression.ui"); - PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data); PsppireVarStore *vs; GtkWidget *dialog = get_widget_assert (xml, "regression-dialog"); GtkWidget *source = get_widget_assert (xml, "dict-view"); GtkWidget *dest_dep = get_widget_assert (xml, "dep-view"); GtkWidget *dest_indep = get_widget_assert (xml, "indep-view"); - GtkWidget *dep_selector = get_widget_assert (xml, "dep-selector"); - GtkWidget *indep_selector = get_widget_assert (xml, "indep-selector"); GtkWidget *stat_button = get_widget_assert (xml, "stat-button"); GtkWidget *save_button = get_widget_assert (xml, "save-button"); + GtkWidget *dep_selector = get_widget_assert (xml, "dep-selector"); rd.stat_view = get_widget_assert (xml, "stat-view"); @@ -253,28 +251,14 @@ regression_dialog (GObject *o, gpointer data) gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de)); - g_object_set (source, "dictionary", vs->dict, NULL); - - set_dest_model (GTK_TREE_VIEW (dest_dep), vs->dict); - set_dest_model (GTK_TREE_VIEW (dest_indep), vs->dict); - - psppire_selector_set_subjects (PSPPIRE_SELECTOR (dep_selector), - source, - dest_dep, - insert_source_row_into_tree_view, - NULL, - NULL); - - psppire_selector_set_subjects (PSPPIRE_SELECTOR (indep_selector), - source, - dest_indep, - insert_source_row_into_tree_view, - NULL, - NULL); + g_object_get (vs, "dictionary", &rd.dict, NULL); + g_object_set (source, "model", rd.dict, NULL); rd.dep_vars = GTK_TREE_VIEW (dest_dep); rd.indep_vars = GTK_TREE_VIEW (dest_indep); - rd.dict = vs->dict; + + psppire_selector_set_allow (PSPPIRE_SELECTOR (dep_selector), numeric_only); + rd.save_dialog = get_widget_assert (xml, "save-dialog"); rd.pred_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "pred-button")); rd.resid_button = GTK_TOGGLE_BUTTON (get_widget_assert (xml, "resid-button")); @@ -303,22 +287,10 @@ regression_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;