/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation
+ Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013, 2014 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 "ui/gui/text-data-import-dialog.h"
#include "page-intro.h"
+#include "page-sheet-spec.h"
#include "page-first-line.h"
#include "page-separators.h"
#include "page-formats.h"
#include "libpspp/i18n.h"
#include "libpspp/line-reader.h"
#include "libpspp/message.h"
-#include "ui/gui/checkbox-treeview.h"
#include "ui/gui/dialog-common.h"
#include "ui/gui/executor.h"
#include "ui/gui/helper.h"
#include "ui/gui/psppire-scanf.h"
#include "ui/syntax-gen.h"
-#include "gl/error.h"
#include "gl/intprops.h"
#include "gl/xalloc.h"
{
GtkWindow *parent_window = GTK_WINDOW (dw);
struct import_assistant *ia = init_assistant (parent_window);
+ struct sheet_spec_page *ssp ;
if (!init_file (ia, parent_window))
{
return;
}
+ ssp = ia->sheet_spec;
+ if (ia->spreadsheet)
+ {
+ ia->sheet_spec = sheet_spec_page_create (ia);
+ }
+ else
{
ia->intro = intro_page_create (ia);
ia->first_line = first_line_page_create (ia);
switch (ia->asst.response)
{
case GTK_RESPONSE_APPLY:
- free (execute_syntax_string (dw, generate_syntax (ia)));
+ {
+ gchar *fn = g_path_get_basename (ia->file.file_name);
+ open_data_window (PSPPIRE_WINDOW (dw), fn, NULL, generate_syntax (ia));
+ g_free (fn);
+ }
break;
case PSPPIRE_RESPONSE_PASTE:
free (paste_syntax_to_window (generate_syntax (ia)));
break;
}
+ if (ssp)
{
destroy_formats_page (ia);
destroy_separators_page (ia);
}
-
- destroy_assistant (ia);
- destroy_file (ia);
- free (ia);
}
/* Emits PSPP syntax to S that applies the dictionary attributes
enum val_type type = var_get_type (var);
int width = var_get_width (var);
enum measure measure = var_get_measure (var);
+ enum var_role role = var_get_role (var);
enum alignment alignment = var_get_alignment (var);
const struct fmt_spec *format = var_get_print_format (var);
name, var_get_label (var));
if (measure != var_default_measure (type))
syntax_gen_pspp (s, "VARIABLE LEVEL %ss (%ss).\n",
- name,
- (measure == MEASURE_NOMINAL ? "NOMINAL"
- : measure == MEASURE_ORDINAL ? "ORDINAL"
- : "SCALE"));
+ name, measure_to_syntax (measure));
+ if (role != ROLE_INPUT)
+ syntax_gen_pspp (s, "VARIABLE ROLE /%ss %ss.\n",
+ var_role_to_syntax (role), name);
if (alignment != var_default_alignment (type))
syntax_gen_pspp (s, "VARIABLE ALIGNMENT %ss (%ss).\n",
- name,
- (alignment == ALIGN_LEFT ? "LEFT"
- : alignment == ALIGN_CENTRE ? "CENTER"
- : "RIGHT"));
+ name, alignment_to_syntax (alignment));
if (var_get_display_width (var) != var_default_display_width (width))
syntax_gen_pspp (s, "VARIABLE WIDTH %ss (%d).\n",
name, var_get_display_width (var));
{
struct string s = DS_EMPTY_INITIALIZER;
+ if (ia->spreadsheet == NULL)
{
syntax_gen_pspp (&s,
"GET DATA"
if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
syntax_gen_pspp (&s, " /ENCODING=%sq\n", ia->file.encoding);
-
intro_append_syntax (ia->intro, &s);
formats_append_syntax (ia, &s);
apply_dict (ia->dict, &s);
}
-
+ else
+ {
+ return sheet_spec_gen_syntax (ia);
+ }
+
return ds_cstr (&s);
}
{
gint width;
g_object_set (G_OBJECT (renderer), "text", string, (void *) NULL);
- gtk_cell_renderer_get_size (renderer, GTK_WIDGET (treeview),
- NULL, NULL, NULL, &width, NULL);
+ gtk_cell_renderer_get_preferred_width (renderer, GTK_WIDGET (treeview),
+ NULL, &width);
return width;
}
GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
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_window_set_cursor (gtk_widget_get_window (widget), cursor);
+ g_object_unref (cursor);
gdk_display_flush (display);
}
}
if (--ia->asst.watch_cursor == 0)
{
GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
- gdk_window_set_cursor (widget->window, NULL);
+ gdk_window_set_cursor (gtk_widget_get_window (widget), NULL);
}
}