/* 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 <config.h>
#include <gtk/gtk.h>
-#include <language/syntax-string-source.h>
#include "psppire-data-window.h"
+#include "psppire-selector.h"
+#include "psppire-var-view.h"
#include "psppire-dict.h"
#include "psppire-var-store.h"
#include "t-test-paired-samples.h"
#include "t-test-options.h"
-#include "dict-display.h"
#include "dialog-common.h"
#include "psppire-dialog.h"
+#include "executor.h"
+
#include "helper.h"
#include "psppire-var-ptr.h"
gchar *text = NULL;
GString *str = g_string_new ("T-TEST \n\tPAIRS = ");
- append_variable_names (str, d->dict, GTK_TREE_VIEW (d->pairs_treeview), 0);
+ psppire_var_view_append_names (PSPPIRE_VAR_VIEW (d->pairs_treeview), 0, str);
g_string_append (str, " WITH ");
- append_variable_names (str, d->dict, GTK_TREE_VIEW (d->pairs_treeview), 1);
+ psppire_var_view_append_names (PSPPIRE_VAR_VIEW (d->pairs_treeview), 1, str);
g_string_append (str, " (PAIRED)");
g_string_append (str, "\n");
gtk_tree_model_get (tt_d->list_store, &dest_iter, 1, &v1, -1);
}
+ else
+ v1 = NULL;
if ( n_rows == 0 || v1 != NULL)
{
}
}
-
-/* Append a new column to TV at position C, and heading TITLE */
-static void
-add_new_column (GtkTreeView *tv, const gchar *title, gint c)
-{
- GtkTreeViewColumn *col = gtk_tree_view_column_new ();
- GtkCellRenderer *renderer = gtk_cell_renderer_text_new ();
-
- gtk_tree_view_column_set_min_width (col, 100);
- gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
- gtk_tree_view_column_set_resizable (col, TRUE);
-
-
- gtk_tree_view_column_set_title (col, title);
-
- gtk_tree_view_column_pack_start (col, renderer, TRUE);
-
- gtk_tree_view_column_set_sizing (col, GTK_TREE_VIEW_COLUMN_FIXED);
-
- gtk_tree_view_append_column (tv, col);
-
- gtk_tree_view_column_add_attribute (col, renderer, "text", c);
-}
-
-
/* Pops up the dialog box */
void
-t_test_paired_samples_dialog (GObject *o, gpointer data)
+t_test_paired_samples_dialog (PsppireDataWindow *de)
{
struct tt_paired_samples_dialog tt_d;
gint response;
- PsppireDataWindow *de = PSPPIRE_DATA_WINDOW (data);
PsppireVarStore *vs = NULL;
g_object_get (de->data_editor, "var-store", &vs, NULL);
- tt_d.dict = vs->dict;
+ g_object_get (vs, "dictionary", &tt_d.dict, NULL);
tt_d.pairs_treeview =
get_widget_assert (xml, "paired-samples-t-test-treeview2");
tt_d.opt = tt_options_dialog_create (xml, GTK_WINDOW (de));
gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (de));
- g_object_set (dict_view, "model",
- vs->dict,
- "predicate",
- var_is_numeric, NULL);
-
- {
- tt_d.list_store =
- GTK_TREE_MODEL (
- gtk_list_store_new (2,
- PSPPIRE_VAR_PTR_TYPE,
- PSPPIRE_VAR_PTR_TYPE));
-
-
- gtk_tree_view_set_model (GTK_TREE_VIEW (tt_d.pairs_treeview),
- GTK_TREE_MODEL (tt_d.list_store));
+ g_object_set (dict_view, "model", tt_d.dict,
+ "predicate",
+ var_is_numeric, NULL);
+
+ tt_d.list_store = gtk_tree_view_get_model (GTK_TREE_VIEW (tt_d.pairs_treeview));
- add_new_column (GTK_TREE_VIEW (tt_d.pairs_treeview), _("Var 1"), 0);
- add_new_column (GTK_TREE_VIEW (tt_d.pairs_treeview), _("Var 2"), 1);
- }
-
-
- psppire_selector_set_subjects (PSPPIRE_SELECTOR (selector),
- dict_view,
- tt_d.pairs_treeview,
- select_as_pair_member,
- NULL,
- &tt_d);
-
+ psppire_selector_set_select_func (PSPPIRE_SELECTOR (selector),
+ select_as_pair_member,
+ &tt_d);
g_signal_connect_swapped (dialog, "refresh",
G_CALLBACK (refresh), &tt_d);
switch (response)
{
case GTK_RESPONSE_OK:
- {
- gchar *syntax = generate_syntax (&tt_d);
-
- struct getl_interface *sss = create_syntax_string_source (syntax);
- execute_syntax (sss);
-
- g_free (syntax);
- }
+ g_free (execute_syntax_string (generate_syntax (&tt_d)));
break;
case PSPPIRE_RESPONSE_PASTE:
- {
- gchar *syntax = generate_syntax (&tt_d);
- paste_syntax_in_new_window (syntax);
-
- g_free (syntax);
- }
+ g_free (paste_syntax_to_window (generate_syntax (&tt_d)));
break;
default:
break;