Move data-editor.c to psppire-data-window.c
[pspp-builds.git] / src / ui / gui / text-data-import-dialog.c
index 57263f2dac558dc77661b06d5f61be0f5d22eda6..f749de38581f9a02640472d350f00fc311135e53 100644 (file)
 
 #include <config.h>
 
+#include <gtk/gtk.h>
+
+
+
 #include "checkbox-treeview.h"
 #include "descriptives-dialog.h"
 
 #include <errno.h>
-#include <gtk/gtk.h>
-#include <gtksheet/gtksheet.h>
+
+#include <gtk-contrib/psppire-sheet.h>
 #include <limits.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 #include <libpspp/assertion.h>
 #include <libpspp/message.h>
 #include <ui/syntax-gen.h>
-#include <ui/gui/data-editor.h>
+#include <ui/gui/psppire-data-window.h>
 #include <ui/gui/dialog-common.h>
 #include <ui/gui/helper.h>
 #include <ui/gui/psppire-dialog.h>
 #include <ui/gui/psppire-var-sheet.h>
 #include <ui/gui/psppire-var-store.h>
-#include <ui/gui/syntax-editor.h>
+#include <ui/gui/psppire-syntax-window.h>
 
 #include "error.h"
 #include "xalloc.h"
 #define _(msgid) gettext (msgid)
 #define N_(msgid) msgid
 
+
+#if !GTK_CHECK_VERSION (2, 10, 0)
+
+void
+text_data_import_assistant (GObject *o, gpointer de_)
+{
+  struct data_editor *de = de_;
+
+  GtkWidget *dialog =
+    gtk_message_dialog_new  (GTK_WINDOW (de),
+                            GTK_DIALOG_MODAL,
+                            GTK_MESSAGE_WARNING,
+                            GTK_BUTTONS_CLOSE,
+                            _("The text import assistant has not been "
+                              "compiled into this build of PSPPIRE, because "
+                              "GTK+ version 2.10.0 or later was not available."));
+
+  gtk_dialog_run (GTK_DIALOG (dialog));
+
+  gtk_widget_destroy (dialog);
+}
+
+#else
+
 /* TextImportModel, a GtkTreeModel used by the text data import
    dialog. */
 enum
@@ -231,7 +259,7 @@ void
 text_data_import_assistant (GObject *o, gpointer de_)
 {
   struct data_editor *de = de_;
-  GtkWindow *parent_window = de->parent.window;
+  GtkWindow *parent_window = GTK_WINDOW (de);
   struct import_assistant *ia;
 
   ia = xzalloc (sizeof *ia);
@@ -265,9 +293,13 @@ text_data_import_assistant (GObject *o, gpointer de_)
     case PSPPIRE_RESPONSE_PASTE:
       {
        char *syntax = generate_syntax (ia);
-       struct syntax_editor *se =
-         (struct syntax_editor *) window_create (WINDOW_SYNTAX, NULL);
-       gtk_text_buffer_insert_at_cursor (se->buffer, syntax, -1);
+
+        GtkWidget *se = psppire_syntax_window_new ();
+
+       gtk_text_buffer_insert_at_cursor (PSPPIRE_SYNTAX_WINDOW (se)->buffer, syntax, -1);
+
+       gtk_widget_show (se);
+
        free (syntax);
       }
       break;
@@ -633,6 +665,7 @@ add_page_to_assistant (struct import_assistant *ia,
   gtk_assistant_append_page (ia->asst.assistant, content);
   gtk_assistant_set_page_type (ia->asst.assistant, content, type);
   gtk_assistant_set_page_title (ia->asst.assistant, content, title_copy);
+  gtk_assistant_set_page_complete (ia->asst.assistant, content, true);
 
   free (title_copy);
 
@@ -656,11 +689,6 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page,
     gtk_widget_show (ia->asst.paste_button);
   else
     gtk_widget_hide (ia->asst.paste_button);
-
-  /* Make the user visit each page in the assistant once.  Seems
-     like a reasonable user interface, plus visiting the final
-     page is what constructs the dictionary. */
-  gtk_assistant_set_page_complete (assistant, page, true);
 }
 
 /* Called when the Cancel button in the assistant is clicked. */
@@ -1599,12 +1627,10 @@ prepare_formats_page (struct import_assistant *ia)
      hold a reference via ia->formats.dict. */
   var_store = psppire_var_store_new (psppire_dict);
   g_object_set (var_store,
-                "trailing-rows", 1,
                 "format-type", PSPPIRE_VAR_STORE_INPUT_FORMATS,
                 (void *) NULL);
   var_sheet = PSPPIRE_VAR_SHEET (psppire_var_sheet_new ());
   g_object_set (var_sheet,
-                "row-geometry", var_store,
                 "model", var_store,
                 "may-create-vars", FALSE,
                 (void *) NULL);
@@ -2268,10 +2294,11 @@ push_watch_cursor (struct import_assistant *ia)
   if (++ia->asst.watch_cursor == 1)
     {
       GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
-      GdkCursor *cursor = gdk_cursor_new (GDK_WATCH);
+      GdkDisplay *display = gtk_widget_get_display (widget);
+      GdkCursor *cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
       gdk_window_set_cursor (widget->window, cursor);
       gdk_cursor_unref (cursor);
-      gdk_display_flush (gtk_widget_get_display (widget));
+      gdk_display_flush (display);
     }
 }
 
@@ -2282,7 +2309,9 @@ pop_watch_cursor (struct import_assistant *ia)
 {
   if (--ia->asst.watch_cursor == 0)
     {
-      GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);;
+      GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
       gdk_window_set_cursor (widget->window, NULL);
     }
 }
+
+#endif