#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 "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, 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);
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);
}