X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fui%2Fgui%2Fpsppire-import-assistant.h;h=c983c92496a427e8fcc49588f5ba46de43e4f254;hb=8ccde6b2cb998a1acb9d8074b25088d839cf658f;hp=fe8040130d103adb1eb0c3ad2b92339b86422dc9;hpb=3dd0f6ae0d5eb73a2270a243e443c4ae03c2c16e;p=pspp diff --git a/src/ui/gui/psppire-import-assistant.h b/src/ui/gui/psppire-import-assistant.h index fe8040130d..c983c92496 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,9 +23,10 @@ #include -#include "libpspp/str.h" #include "psppire-dict.h" #include "data/spreadsheet-reader.h" +#include "psppire-text-file.h" +#include "psppire-delimited-text.h" G_BEGIN_DECLS @@ -58,12 +59,8 @@ typedef struct _PsppireImportAssistant PsppireImportAssistant; typedef struct _PsppireImportAssistantClass PsppireImportAssistantClass; -struct first_line_page; - typedef void page_func (PsppireImportAssistant *, GtkWidget *page); -enum { MAX_PREVIEW_LINES = 1000 }; /* Max number of lines to read. */ - struct _PsppireImportAssistant { GtkAssistant parent; @@ -72,6 +69,8 @@ struct _PsppireImportAssistant gint current_page; + gchar *file_name; + /* START The chooser page of the assistant. */ GtkWidget *encoding_selector; GtkFileFilter *default_filter; @@ -90,29 +89,20 @@ struct _PsppireImportAssistant /* 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 *tree_view; + GtkWidget *first_line_tree_view; GtkWidget *variable_names_cb; /* END first line page */ @@ -120,36 +110,17 @@ struct _PsppireImportAssistant GtkWidget *paste_button; GtkWidget *reset_button; int response; - int watch_cursor; - - GtkCellRenderer *prop_renderer; - GtkCellRenderer *fixed_renderer; - // START struct file file; - char *file_name; /* File name. */ - - /* Relevant only for text files */ - - gchar *encoding; /* Encoding. */ - unsigned long int total_lines; /* Number of lines in file. */ - gboolean total_is_exact; /* Is total_lines exact (or an estimate)? */ - - /* The first several lines of the file. */ - struct string lines[MAX_PREVIEW_LINES]; - size_t line_cnt; - - // END struct file file; + PsppireTextFile *text_file; + PsppireDelimitedText *delimiters_model; struct sheet_spec_page *sheet_spec; - struct first_line_page *first_line; - /* 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? */ struct dictionary *dict; + struct dictionary *casereader_dict; + + GtkWidget *var_sheet; + GtkWidget *data_sheet; struct spreadsheet *spreadsheet; }; @@ -166,6 +137,8 @@ GtkWidget *psppire_import_assistant_new (GtkWindow *toplevel); gchar *psppire_import_assistant_generate_syntax (PsppireImportAssistant *); +int psppire_import_assistant_run (PsppireImportAssistant *asst); + G_END_DECLS #endif /* __PSPPIRE_IMPORT_ASSISTANT_H__ */