projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 'master' into 'gtk3'.
[pspp]
/
src
/
ui
/
gui
/
text-data-import-dialog.c
diff --git
a/src/ui/gui/text-data-import-dialog.c
b/src/ui/gui/text-data-import-dialog.c
index ce23093feefa33ea88837236f77fc9a8f43423e7..76c95c41781270bd23ca80e279224af17e4a2d73 100644
(file)
--- a/
src/ui/gui/text-data-import-dialog.c
+++ b/
src/ui/gui/text-data-import-dialog.c
@@
-19,6
+19,7
@@
#include "ui/gui/text-data-import-dialog.h"
#include "page-intro.h"
#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 "page-first-line.h"
#include "page-separators.h"
#include "page-formats.h"
@@
-40,7
+41,6
@@
#include "libpspp/i18n.h"
#include "libpspp/line-reader.h"
#include "libpspp/message.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/dialog-common.h"
#include "ui/gui/executor.h"
#include "ui/gui/helper.h"
@@
-55,7
+55,6
@@
#include "ui/gui/psppire-scanf.h"
#include "ui/syntax-gen.h"
#include "ui/gui/psppire-scanf.h"
#include "ui/syntax-gen.h"
-#include "gl/error.h"
#include "gl/intprops.h"
#include "gl/xalloc.h"
#include "gl/intprops.h"
#include "gl/xalloc.h"
@@
-77,6
+76,7
@@
text_data_import_assistant (PsppireDataWindow *dw)
{
GtkWindow *parent_window = GTK_WINDOW (dw);
struct import_assistant *ia = init_assistant (parent_window);
{
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))
{
if (!init_file (ia, parent_window))
{
@@
-84,7
+84,13
@@
text_data_import_assistant (PsppireDataWindow *dw)
return;
}
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);
{
ia->intro = intro_page_create (ia);
ia->first_line = first_line_page_create (ia);
@@
-114,7
+120,11
@@
text_data_import_assistant (PsppireDataWindow *dw)
switch (ia->asst.response)
{
case GTK_RESPONSE_APPLY:
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;
case PSPPIRE_RESPONSE_PASTE:
free (paste_syntax_to_window (generate_syntax (ia)));
@@
-123,6
+133,7
@@
text_data_import_assistant (PsppireDataWindow *dw)
break;
}
break;
}
+ if (ssp)
{
destroy_formats_page (ia);
destroy_separators_page (ia);
{
destroy_formats_page (ia);
destroy_separators_page (ia);
@@
-149,6
+160,7
@@
apply_dict (const struct dictionary *dict, struct string *s)
enum val_type type = var_get_type (var);
int width = var_get_width (var);
enum measure measure = var_get_measure (var);
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);
enum alignment alignment = var_get_alignment (var);
const struct fmt_spec *format = var_get_print_format (var);
@@
-199,16
+211,13
@@
apply_dict (const struct dictionary *dict, struct string *s)
name, var_get_label (var));
if (measure != var_default_measure (type))
syntax_gen_pspp (s, "VARIABLE LEVEL %ss (%ss).\n",
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",
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));
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));
@@
-223,6
+232,7
@@
generate_syntax (const struct import_assistant *ia)
{
struct string s = DS_EMPTY_INITIALIZER;
{
struct string s = DS_EMPTY_INITIALIZER;
+ if (ia->spreadsheet == NULL)
{
syntax_gen_pspp (&s,
"GET DATA"
{
syntax_gen_pspp (&s,
"GET DATA"
@@
-232,7
+242,6
@@
generate_syntax (const struct import_assistant *ia)
if (ia->file.encoding && strcmp (ia->file.encoding, "Auto"))
syntax_gen_pspp (&s, " /ENCODING=%sq\n", ia->file.encoding);
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);
intro_append_syntax (ia->intro, &s);
@@
-245,7
+254,11
@@
generate_syntax (const struct import_assistant *ia)
formats_append_syntax (ia, &s);
apply_dict (ia->dict, &s);
}
formats_append_syntax (ia, &s);
apply_dict (ia->dict, &s);
}
-
+ else
+ {
+ return sheet_spec_gen_syntax (ia);
+ }
+
return ds_cstr (&s);
}
return ds_cstr (&s);
}
@@
-645,7
+658,7
@@
push_watch_cursor (struct import_assistant *ia)
GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
GdkDisplay *display = gtk_widget_get_display (widget);
GdkCursor *cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
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_window_set_cursor (
gtk_widget_get_window (widget)
, cursor);
gdk_cursor_unref (cursor);
gdk_display_flush (display);
}
gdk_cursor_unref (cursor);
gdk_display_flush (display);
}
@@
-659,6
+672,6
@@
pop_watch_cursor (struct import_assistant *ia)
if (--ia->asst.watch_cursor == 0)
{
GtkWidget *widget = GTK_WIDGET (ia->asst.assistant);
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);
}
}
}
}