X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-import-assistant.h;h=881fc5bad04427dd74aef0f96cc59d25a2e31913;hb=8025dcc3e696a57445561ce81be44d29f3679ed3;hp=c22139cf825077a55a14048ddc79d869c920759b;hpb=e0220036c25e99f4f433e794ce059f7d0989973b;p=pspp diff --git a/src/ui/gui/psppire-import-assistant.h b/src/ui/gui/psppire-import-assistant.h index c22139cf82..881fc5bad0 100644 --- a/src/ui/gui/psppire-import-assistant.h +++ b/src/ui/gui/psppire-import-assistant.h @@ -1,5 +1,5 @@ /* PSPPIRE - a graphical user interface for PSPP. - Copyright (C) 2015 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 @@ -23,10 +23,12 @@ #include -#include "libpspp/str.h" #include "psppire-dict.h" #include "data/spreadsheet-reader.h" #include "psppire-text-file.h" +#include "psppire-delimited-text.h" + +#include G_BEGIN_DECLS @@ -58,18 +60,25 @@ 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; @@ -77,6 +86,9 @@ struct _PsppireImportAssistant /* 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; @@ -86,65 +98,35 @@ struct _PsppireImportAssistant /* 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 separators; /* Field separators. */ struct string quotes; /* Quote characters. */ GtkWidget *custom_cb; GtkWidget *custom_entry; GtkWidget *quote_cb; GtkWidget *quote_combo; - GtkEntry *quote_entry; + GtkWidget *fields_tree_view; /* END Page where the user chooses field separators. */ -/* START Page where the user verifies and adjusts input formats. */ - GtkWidget *data_tree_view; - PsppireDict *psppire_dict; - struct variable **modified_vars; - size_t modified_var_cnt; -/* END Page where the user verifies and adjusts input formats. */ - - /* START first line page */ GtkWidget *first_line_tree_view; GtkWidget *variable_names_cb; /* END first line page */ - GMainLoop *main_loop; - GtkWidget *paste_button; - GtkWidget *reset_button; - int response; - int watch_cursor; - - GtkCellRenderer *prop_renderer; - GtkCellRenderer *fixed_renderer; - PsppireTextFile *text_file; + PsppireDelimitedText *delimiters_model; - GtkTreeModel *delimiters_model; - - struct sheet_spec_page *sheet_spec; - -#if MERGE_SHEET - /* The columns produced. */ - struct column *columns; /* Information about each column. */ - size_t column_cnt; /* Number of columns. */ - - int skip_lines; /* Number of initial lines to skip? */ - gboolean variable_names; /* Variable names above first line of data? */ -#endif - - 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 @@ -159,6 +141,11 @@ GtkWidget *psppire_import_assistant_new (GtkWindow *toplevel); gchar *psppire_import_assistant_generate_syntax (PsppireImportAssistant *); +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__ */