/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008 Free Software Foundation
+ Copyright (C) 2008, 2010 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
#include "checkbox-treeview.h"
#include "regression-dialog.h"
+#include "executor.h"
#include <gtk/gtk.h>
#include <stdlib.h>
-#include <language/syntax-string-source.h>
#include <ui/gui/psppire-data-window.h>
#include <ui/gui/dialog-common.h>
#include <ui/gui/dict-display.h>
#include <ui/gui/helper.h>
#include <ui/gui/psppire-dialog.h>
#include <ui/gui/psppire-var-store.h>
-#include <ui/gui/helper.h>
+#include <ui/gui/psppire-var-view.h>
+
#include "gettext.h"
#define _(msgid) gettext (msgid)
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;
GtkTreeIter notused;
- return (gtk_tree_model_get_iter_first (dep_vars, ¬used)
+ return (gtk_tree_model_get_iter_first (dep_vars, ¬used)
&& gtk_tree_model_get_iter_first (indep_vars, ¬used));
}
/* 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");
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"));
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 (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;