New objects psppire-window and psppire-syntax-window.
[pspp-builds.git] / src / ui / gui / variable-info-dialog.c
index c9c28511f4d34421172dbad81cead02397feae2e..dcd1b911fcbe79d71b746598ff12cba2558ce016 100644 (file)
 #include <config.h>
 #include <gtk/gtk.h>
 #include <glade/glade.h>
-#include <gtksheet/gtksheet.h>
 
 #include "dict-display.h"
 #include "var-display.h"
 #include <data/variable.h>
+#include <data/format.h>
 #include <data/value-labels.h>
 #include "data-editor.h"
 #include "psppire-dialog.h"
 #include "psppire-var-store.h"
 #include "helper.h"
-#include <gtksheet/gtksheet.h>
 
 #include <language/syntax-string-source.h>
-#include "syntax-editor.h"
+#include "psppire-syntax-window.h"
 
 
 #include <gettext.h>
@@ -76,6 +75,8 @@ populate_text (GtkTreeView *treeview, gpointer data)
 
   GtkTextBuffer *textbuffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(data));
   const struct variable *var = get_selected_variable (treeview);
+  if ( var == NULL)
+    return;
 
   gstring = g_string_sized_new (200);
   text = name_to_string (var, NULL);
@@ -173,11 +174,9 @@ variable_info_dialog (GObject *o, gpointer data)
   GtkWidget *treeview = get_widget_assert (xml, "treeview2");
   GtkWidget *textview = get_widget_assert (xml, "textview1");
 
-  GtkSheet *var_sheet =
-    GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
+  PsppireVarStore *vs = NULL;
 
-
-  PsppireVarStore *vs = PSPPIRE_VAR_STORE (gtk_sheet_get_model (var_sheet));
+  g_object_get (de->data_editor, "var-store", &vs, NULL);
 
   gtk_window_set_transient_for (GTK_WINDOW (dialog), de->parent.window);
 
@@ -202,45 +201,25 @@ variable_info_dialog (GObject *o, gpointer data)
     {
     case PSPPIRE_RESPONSE_GOTO:
       {
-       gint row, col;
-       GtkNotebook *notebook = GTK_NOTEBOOK
-         (get_widget_assert (de->xml,"notebook"));
-
        const struct variable *var =
          get_selected_variable (GTK_TREE_VIEW (treeview));
 
        if ( NULL == var)
          goto done;
 
-
-       if (PAGE_VAR_SHEET == gtk_notebook_get_current_page (notebook))
-         {
-           GtkSheet *var_sheet =
-             GTK_SHEET (get_widget_assert (de->xml, "variable_sheet"));
-
-           gtk_sheet_get_active_cell (var_sheet, &row, &col);
-           row = var_get_dict_index (var);
-           gtk_sheet_set_active_cell (var_sheet, row, col);
-         }
-       else
-         {
-           GtkSheet *data_sheet =
-             GTK_SHEET (get_widget_assert (de->xml, "data_sheet"));
-
-           gtk_sheet_get_active_cell (data_sheet, &row, &col);
-           col = var_get_dict_index (var);
-           gtk_sheet_set_active_cell (data_sheet, row, col);
-         }
+       g_object_set (de->data_editor, "current-variable",  var_get_dict_index (var), NULL);
       }
+
       break;
     case PSPPIRE_RESPONSE_PASTE:
       {
        gchar *syntax = generate_syntax (GTK_TREE_VIEW (treeview));
 
-       struct syntax_editor *se =
-         (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL);
+        GtkWidget *se = psppire_syntax_window_new ();
+
+       gtk_text_buffer_insert_at_cursor (PSPPIRE_SYNTAX_WINDOW (se)->buffer, syntax, -1);
 
-       gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1);
+       gtk_widget_show (se);
 
        g_free (syntax);
       }