From: John Darrington Date: Thu, 9 May 2013 01:40:54 +0000 (+0200) Subject: Merge remote branch 'origin/master' into import-gui X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=19cf39ef8802208ca67fc3e1cf12ce4b239aaabf;hp=-c;p=pspp Merge remote branch 'origin/master' into import-gui --- 19cf39ef8802208ca67fc3e1cf12ce4b239aaabf diff --combined src/ui/gui/automake.mk index 941a7fea1c,ce7864ee2b..694ca57697 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@@ -1,7 -1,5 +1,5 @@@ ## Process this file with automake to produce Makefile.in -*- makefile -*- - include $(top_srcdir)/src/ui/gui/sheet/automake.mk - UI_FILES = \ src/ui/gui/aggregate.ui \ src/ui/gui/autorecode.ui \ @@@ -11,6 -9,7 +9,7 @@@ src/ui/gui/count.ui \ src/ui/gui/crosstabs.ui \ src/ui/gui/chi-square.ui \ + src/ui/gui/data-sheet.ui \ src/ui/gui/descriptives.ui \ src/ui/gui/entry-dialog.ui \ src/ui/gui/examine.ui \ @@@ -45,6 -44,7 +44,7 @@@ src/ui/gui/data-editor.ui \ src/ui/gui/output-viewer.ui \ src/ui/gui/syntax-editor.ui \ + src/ui/gui/var-sheet.ui \ src/ui/gui/var-type-dialog.ui EXTRA_DIST += \ @@@ -74,8 -74,7 +74,7 @@@ endi src_ui_gui_psppire_LDADD = \ - src/ui/gui/sheet/libsheet.la \ - lib/gtk-contrib/libgtksheet.a \ + lib/gtk-contrib/libxpaned.a \ src/ui/libuicommon.la \ src/libpspp.la \ src/libpspp-core.la \ @@@ -188,8 -187,6 +187,6 @@@ src_ui_gui_psppire_SOURCES = src/ui/gui/chi-square-dialog.h \ src/ui/gui/count-dialog.c \ src/ui/gui/count-dialog.h \ - src/ui/gui/customentry.c \ - src/ui/gui/customentry.h \ src/ui/gui/dialog-common.c \ src/ui/gui/dialog-common.h \ src/ui/gui/dict-display.h \ @@@ -225,6 -222,8 +222,8 @@@ src/ui/gui/psppire-conf.h \ src/ui/gui/psppire-data-editor.c \ src/ui/gui/psppire-data-editor.h \ + src/ui/gui/psppire-data-sheet.c \ + src/ui/gui/psppire-data-sheet.h \ src/ui/gui/psppire-data-store.c \ src/ui/gui/psppire-data-store.h \ src/ui/gui/psppire-data-window.c \ @@@ -301,8 -300,6 +300,6 @@@ src/ui/gui/psppire-var-ptr.h \ src/ui/gui/psppire-var-sheet.c \ src/ui/gui/psppire-var-sheet.h \ - src/ui/gui/psppire-var-store.c \ - src/ui/gui/psppire-var-store.h \ src/ui/gui/psppire-vbuttonbox.h \ src/ui/gui/psppire-window.c \ src/ui/gui/psppire-window.h \ @@@ -328,8 -325,6 +325,8 @@@ src/ui/gui/page-formats.h \ src/ui/gui/page-separators.c \ src/ui/gui/page-separators.h \ + src/ui/gui/page-sheet-spec.c \ + src/ui/gui/page-sheet-spec.h \ src/ui/gui/text-data-import-dialog.c \ src/ui/gui/text-data-import-dialog.h \ src/ui/gui/transpose-dialog.c \ diff --combined src/ui/gui/page-assistant.c index cad23763de,608412b03c..a83fbb2cd5 --- a/src/ui/gui/page-assistant.c +++ b/src/ui/gui/page-assistant.c @@@ -20,7 -20,6 +20,6 @@@ #include #include - #include #include #include #include @@@ -46,7 -45,6 +45,6 @@@ #include "ui/gui/psppire-encoding-selector.h" #include "ui/gui/psppire-empty-list-store.h" #include "ui/gui/psppire-var-sheet.h" - #include "ui/gui/psppire-var-store.h" #include "gl/error.h" #include "gl/intprops.h" @@@ -160,12 -158,10 +158,12 @@@ on_prepare (GtkAssistant *assistant, Gt if ( ia->spreadsheet) { if (pn == 0) - { - } + { + prepare_sheet_spec_page (ia); + } else if (pn == 1) { + post_sheet_spec_page (ia); prepare_formats_page (ia); } } @@@ -232,8 -228,6 +230,8 @@@ on_reset (GtkButton *button, struct imp reset_separators_page (ia); else if (page == assist_get_page ((struct assist_page *) ia->formats)) reset_formats_page (ia); + else if (page == assist_get_page ((struct assist_page *) ia->sheet_spec)) + reset_sheet_spec_page (ia); } /* Causes the assistant to close, returning RESPONSE for diff --combined src/ui/gui/page-file.c index 517f5fb9ac,850f20787d..fdbda325f8 --- a/src/ui/gui/page-file.c +++ b/src/ui/gui/page-file.c @@@ -20,7 -20,6 +20,6 @@@ #include #include - #include #include #include #include @@@ -50,7 -49,6 +49,6 @@@ #include "ui/gui/psppire-encoding-selector.h" #include "ui/gui/psppire-empty-list-store.h" #include "ui/gui/psppire-var-sheet.h" - #include "ui/gui/psppire-var-store.h" #include "ui/gui/psppire-scanf.h" #include "ui/syntax-gen.h" @@@ -230,21 -228,6 +228,21 @@@ choose_file (GtkWindow *parent_window, gtk_file_filter_add_mime_type (filter, "text/tab-separated-values"); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("Gnumeric Spreadsheet Files")); + gtk_file_filter_add_mime_type (filter, "application/x-gnumeric"); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); + + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("OpenDocument Spreadsheet Files")); + gtk_file_filter_add_mime_type (filter, "application/vnd.oasis.opendocument.spreadsheet"); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); + + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("All Spreadsheet Files")); + gtk_file_filter_add_mime_type (filter, "application/x-gnumeric"); + gtk_file_filter_add_mime_type (filter, "application/vnd.oasis.opendocument.spreadsheet"); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); gtk_file_chooser_set_extra_widget ( GTK_FILE_CHOOSER (dialog), psppire_encoding_selector_new ("Auto", true)); diff --combined src/ui/gui/text-data-import-dialog.c index d24a23242d,ce23093fee..5317bb05c2 --- a/src/ui/gui/text-data-import-dialog.c +++ b/src/ui/gui/text-data-import-dialog.c @@@ -19,14 -19,12 +19,13 @@@ #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 #include - #include #include #include #include @@@ -47,12 -45,13 +46,13 @@@ #include "ui/gui/executor.h" #include "ui/gui/helper.h" #include "ui/gui/builder-wrapper.h" + #include "ui/gui/pspp-sheet-selection.h" + #include "ui/gui/pspp-sheet-view.h" #include "ui/gui/psppire-data-window.h" #include "ui/gui/psppire-dialog.h" #include "ui/gui/psppire-encoding-selector.h" #include "ui/gui/psppire-empty-list-store.h" #include "ui/gui/psppire-var-sheet.h" - #include "ui/gui/psppire-var-store.h" #include "ui/gui/psppire-scanf.h" #include "ui/syntax-gen.h" @@@ -70,7 -69,7 +70,7 @@@ static void apply_dict (const struct di static char *generate_syntax (const struct import_assistant *); static void add_line_number_column (const struct import_assistant *, - GtkTreeView *); + PsppSheetView *); /* Pops up the Text Data Import assistant. */ void @@@ -78,7 -77,6 +78,7 @@@ text_data_import_assistant (PsppireData { 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)) { @@@ -86,13 -84,7 +86,13 @@@ 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); @@@ -131,7 -123,6 +131,7 @@@ break; } + if (ssp) { destroy_formats_page (ia); destroy_separators_page (ia); @@@ -232,7 -223,6 +232,7 @@@ generate_syntax (const struct import_as { struct string s = DS_EMPTY_INITIALIZER; + if (ia->spreadsheet == NULL) { syntax_gen_pspp (&s, "GET DATA" @@@ -242,6 -232,7 +242,6 @@@ 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); @@@ -254,17 -245,13 +254,17 @@@ formats_append_syntax (ia, &s); apply_dict (ia->dict, &s); } - + else + { + return sheet_spec_gen_syntax (ia); + } + return ds_cstr (&s); } - static void render_input_cell (GtkTreeViewColumn *tree_column, + static void render_input_cell (PsppSheetViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer ia); @@@ -279,7 -266,7 +279,7 @@@ static gboolean on_query_input_tooltip /* Called to render one of the cells in the fields preview tree view. */ static void - render_input_cell (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell, + render_input_cell (PsppSheetViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer ia_) { @@@ -400,7 -387,7 +400,7 @@@ parse_field (struct import_assistant *i /* Called to render one of the cells in the data preview tree view. */ static void - render_output_cell (GtkTreeViewColumn *tree_column, + render_output_cell (PsppSheetViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, @@@ -460,11 -447,11 +460,11 @@@ get_tooltip_location (GtkWidget *widget const struct import_assistant *ia, size_t *row, size_t *column) { - GtkTreeView *tree_view = GTK_TREE_VIEW (widget); + PsppSheetView *tree_view = PSPP_SHEET_VIEW (widget); gint bx, by; GtkTreePath *path; GtkTreeIter iter; - GtkTreeViewColumn *tree_column; + PsppSheetViewColumn *tree_column; GtkTreeModel *tree_model; bool ok; @@@ -481,16 -468,16 +481,16 @@@ if (!gtk_widget_get_mapped (widget)) return FALSE; - gtk_tree_view_convert_widget_to_bin_window_coords (tree_view, - wx, wy, &bx, &by); - if (!gtk_tree_view_get_path_at_pos (tree_view, bx, by, + pspp_sheet_view_convert_widget_to_bin_window_coords (tree_view, + wx, wy, &bx, &by); + if (!pspp_sheet_view_get_path_at_pos (tree_view, bx, by, &path, &tree_column, NULL, NULL)) return FALSE; *column = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (tree_column), "column-number")); - tree_model = gtk_tree_view_get_model (tree_view); + tree_model = pspp_sheet_view_get_model (tree_view); ok = gtk_tree_model_get_iter (tree_model, &iter, path); gtk_tree_path_free (path); if (!ok) @@@ -503,24 -490,25 +503,25 @@@ void make_tree_view (const struct import_assistant *ia, size_t first_line, - GtkTreeView **tree_view) + PsppSheetView **tree_view) { GtkTreeModel *model; - *tree_view = GTK_TREE_VIEW (gtk_tree_view_new ()); + *tree_view = PSPP_SHEET_VIEW (pspp_sheet_view_new ()); + pspp_sheet_view_set_grid_lines (*tree_view, PSPP_SHEET_VIEW_GRID_LINES_BOTH); model = GTK_TREE_MODEL (psppire_empty_list_store_new ( ia->file.line_cnt - first_line)); g_object_set_data (G_OBJECT (model), "lines", ia->file.lines + first_line); g_object_set_data (G_OBJECT (model), "first-line", GINT_TO_POINTER (first_line)); - gtk_tree_view_set_model (*tree_view, model); + pspp_sheet_view_set_model (*tree_view, model); g_object_unref (model); add_line_number_column (ia, *tree_view); } static void - render_line_number (GtkTreeViewColumn *tree_column, + render_line_number (PsppSheetViewColumn *tree_column, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, @@@ -538,23 -526,22 +539,22 @@@ static void add_line_number_column (const struct import_assistant *ia, - GtkTreeView *treeview) + PsppSheetView *treeview) { - GtkTreeViewColumn *column; - - column = gtk_tree_view_column_new_with_attributes ( - _("Line"), ia->asst.prop_renderer, (void *) NULL); - gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width ( - column, get_monospace_width (treeview, ia->asst.prop_renderer, 5)); - gtk_tree_view_column_set_resizable (column, TRUE); - gtk_tree_view_column_set_cell_data_func (column, ia->asst.prop_renderer, - render_line_number, NULL, NULL); - gtk_tree_view_append_column (treeview, column); + PsppSheetViewColumn *column; + + column = pspp_sheet_view_column_new_with_attributes ( + _("Line"), ia->asst.prop_renderer, (void *) NULL); + pspp_sheet_view_column_set_fixed_width ( + column, get_monospace_width (treeview, ia->asst.prop_renderer, 5)); + pspp_sheet_view_column_set_resizable (column, TRUE); + pspp_sheet_view_column_set_cell_data_func (column, ia->asst.prop_renderer, + render_line_number, NULL, NULL); + pspp_sheet_view_append_column (treeview, column); } gint - get_monospace_width (GtkTreeView *treeview, GtkCellRenderer *renderer, + get_monospace_width (PsppSheetView *treeview, GtkCellRenderer *renderer, size_t char_cnt) { struct string s; @@@ -570,7 -557,7 +570,7 @@@ } gint - get_string_width (GtkTreeView *treeview, GtkCellRenderer *renderer, + get_string_width (PsppSheetView *treeview, GtkCellRenderer *renderer, const char *string) { gint width; @@@ -580,15 -567,15 +580,15 @@@ return width; } - GtkTreeViewColumn * - make_data_column (struct import_assistant *ia, GtkTreeView *tree_view, + PsppSheetViewColumn * + make_data_column (struct import_assistant *ia, PsppSheetView *tree_view, bool input, gint dict_idx) { struct variable *var = NULL; struct column *column = NULL; size_t char_cnt; gint content_width, header_width; - GtkTreeViewColumn *tree_column; + PsppSheetViewColumn *tree_column; char *name; if (input) @@@ -603,44 -590,43 +603,43 @@@ header_width = get_string_width (tree_view, ia->asst.prop_renderer, name); - tree_column = gtk_tree_view_column_new (); + tree_column = pspp_sheet_view_column_new (); g_object_set_data (G_OBJECT (tree_column), "column-number", GINT_TO_POINTER (dict_idx)); - gtk_tree_view_column_set_title (tree_column, name); - gtk_tree_view_column_pack_start (tree_column, ia->asst.fixed_renderer, - FALSE); - gtk_tree_view_column_set_cell_data_func ( - tree_column, ia->asst.fixed_renderer, - input ? render_input_cell : render_output_cell, ia, NULL); - gtk_tree_view_column_set_sizing (tree_column, GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_fixed_width (tree_column, MAX (content_width, - header_width)); + pspp_sheet_view_column_set_title (tree_column, name); + pspp_sheet_view_column_pack_start (tree_column, ia->asst.fixed_renderer, + FALSE); + pspp_sheet_view_column_set_cell_data_func ( + tree_column, ia->asst.fixed_renderer, + input ? render_input_cell : render_output_cell, ia, NULL); + pspp_sheet_view_column_set_fixed_width (tree_column, MAX (content_width, + header_width)); free (name); return tree_column; } - GtkTreeView * + PsppSheetView * create_data_tree_view (bool input, GtkContainer *parent, struct import_assistant *ia) { - GtkTreeView *tree_view; + PsppSheetView *tree_view; gint i; make_tree_view (ia, ia->skip_lines, &tree_view); - gtk_tree_selection_set_mode (gtk_tree_view_get_selection (tree_view), - GTK_SELECTION_NONE); + pspp_sheet_selection_set_mode (pspp_sheet_view_get_selection (tree_view), + PSPP_SHEET_SELECTION_NONE); for (i = 0; i < ia->column_cnt; i++) - gtk_tree_view_append_column (tree_view, - make_data_column (ia, tree_view, input, i)); + pspp_sheet_view_append_column (tree_view, + make_data_column (ia, tree_view, input, i)); g_object_set (G_OBJECT (tree_view), "has-tooltip", TRUE, (void *) NULL); g_signal_connect (tree_view, "query-tooltip", G_CALLBACK (input ? on_query_input_tooltip : on_query_output_tooltip), ia); - gtk_tree_view_set_fixed_height_mode (tree_view, true); + gtk_container_add (parent, GTK_WIDGET (tree_view)); gtk_widget_show (GTK_WIDGET (tree_view)); diff --combined src/ui/gui/text-data-import.ui index a7a393ea11,7c09e49aa2..fc886c2a00 --- a/src/ui/gui/text-data-import.ui +++ b/src/ui/gui/text-data-import.ui @@@ -158,7 -158,7 +158,7 @@@ The selected file contains N lines of t automatic automatic - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@@ -508,7 -508,7 +508,7 @@@ automatic automatic - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@@ -621,7 -621,7 +621,7 @@@ automatic automatic - + True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@@ -653,140 -653,17 +653,140 @@@ - - 100 - 1 - 100 - 1 - 10 - - - 1000 - 100000000 - 1 - 10 + + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 12 + Importing Spreadsheet Data + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + vertical + 12 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Enter below the sheet number and the cell range which you wish to import. + True + + + 0 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 0 + none + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 12 + + + True + 3 + 2 + + + True + True + + + + 1 + 2 + + + + + + True + True + 0 + + + 1 + 2 + 1 + 2 + + + + + + True + 1 + _Cells: + True + cell-range-entry + + + GTK_FILL + + + + + + True + 1 + _Sheet Index: + True + sheet-entry + + + 1 + 2 + GTK_FILL + + + + + + Use first row as _variable names + True + True + False + True + right + True + + + 2 + 2 + 3 + + + + + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + <b>Cells to Import</b> + True + + + + + + + False + False + 1 + + + +