/* PSPPIRE - a graphical user interface for PSPP.
- Copyright (C) 2015, 2017 Free Software Foundation
+ Copyright (C) 2015, 2017, 2020 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 "psppire-text-file.h"
#include "psppire-delimited-text.h"
+#include <ssw-sheet.h>
+
G_BEGIN_DECLS
struct spreadsheet;
typedef struct _PsppireImportAssistant PsppireImportAssistant;
typedef struct _PsppireImportAssistantClass PsppireImportAssistantClass;
-
-typedef void page_func (PsppireImportAssistant *, GtkWidget *page);
+enum IMPORT_ASSISTANT_DIRECTION {IMPORT_ASSISTANT_FORWARDS, IMPORT_ASSISTANT_BACKWARDS};
struct _PsppireImportAssistant
{
GtkAssistant parent;
- GtkBuilder *builder;
+ gint previous_page;
+ gchar *file_name;
+ GMainLoop *main_loop;
+ GtkWidget *paste_button;
+ GtkWidget *reset_button;
+ int response;
- gint current_page;
+ struct dictionary *dict;
+ struct dictionary *casereader_dict;
+
+ GtkWidget *var_sheet;
+ GtkWidget *data_sheet;
- gchar *file_name;
/* START The chooser page of the assistant. */
GtkWidget *encoding_selector;
/* END The chooser page of the assistant. */
+ GtkBuilder *text_builder;
+
+
/* START The introduction page of the assistant. */
GtkWidget *all_cases_button;
GtkWidget *n_cases_button;
/* END The introduction page of the assistant. */
-/* START Page where the user chooses field separators. */
+ /* START Page where the user chooses field separators. */
/* How to break lines into columns. */
struct string quotes; /* Quote characters. */
GtkWidget *quote_cb;
GtkWidget *quote_combo;
- GtkEntry *quote_entry;
GtkWidget *fields_tree_view;
/* END Page where the user chooses field separators. */
GtkWidget *variable_names_cb;
/* END first line page */
- GMainLoop *main_loop;
- GtkWidget *paste_button;
- GtkWidget *reset_button;
- int response;
-
PsppireTextFile *text_file;
PsppireDelimitedText *delimiters_model;
- struct sheet_spec_page *sheet_spec;
-
- struct dictionary *dict;
-
- GtkWidget *var_sheet;
- GtkWidget *data_sheet;
-
+ /* START spreadsheet related things */
+ GtkBuilder *spread_builder;
+ GtkWidget *preview_sheet;
struct spreadsheet *spreadsheet;
+ SswRange selection;
+ bool updating_selection;
};
struct _PsppireImportAssistantClass
int psppire_import_assistant_run (PsppireImportAssistant *asst);
+GtkWidget *add_page_to_assistant (PsppireImportAssistant *ia,
+ GtkWidget *page, GtkAssistantPageType type, const gchar *title);
+
G_END_DECLS
#endif /* __PSPPIRE_IMPORT_ASSISTANT_H__ */