From: John Darrington Date: Sat, 26 Jan 2013 20:01:46 +0000 (+0100) Subject: sort of got the assistant working with the combo model X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b241f1232945bfc913633c3ecec68e997500e065;p=pspp sort of got the assistant working with the combo model --- diff --git a/src/ui/gui/automake.mk b/src/ui/gui/automake.mk index dafad5ed51..38a22b6e69 100644 --- a/src/ui/gui/automake.mk +++ b/src/ui/gui/automake.mk @@ -286,6 +286,8 @@ src_ui_gui_psppire_SOURCES = \ src/ui/gui/psppire-output-window.h \ src/ui/gui/psppire-var-view.c \ src/ui/gui/psppire-var-view.h \ + src/ui/gui/psppire-spreadsheet-model.c \ + src/ui/gui/psppire-spreadsheet-model.h \ src/ui/gui/psppire-selector.h \ src/ui/gui/psppire-select-dest.c \ src/ui/gui/psppire-select-dest.h \ diff --git a/src/ui/gui/page-assistant.c b/src/ui/gui/page-assistant.c index dfe7748b14..59ece176f5 100644 --- a/src/ui/gui/page-assistant.c +++ b/src/ui/gui/page-assistant.c @@ -166,10 +166,10 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page, int pn = gtk_assistant_get_current_page (assistant); g_print ("%s:%d Page %d %p\n", __FILE__, __LINE__, pn, page); -#if 0 - if (pn == 1 && ssp->spreadsheet) - post_sheet_spec_page (ia); + if (pn == 0) + prepare_sheet_spec_page (ia); +#if 0 if (gtk_assistant_get_page_type (assistant, page) == GTK_ASSISTANT_PAGE_CONFIRM) gtk_widget_grab_focus (assistant->apply); @@ -186,9 +186,6 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page, { prepare_sheet_spec_page (ia); } - - - gtk_widget_show (ia->asst.reset_button); if (page == ia->formats->page) diff --git a/src/ui/gui/page-file.c b/src/ui/gui/page-file.c index 98362a3f13..b6100f3693 100644 --- a/src/ui/gui/page-file.c +++ b/src/ui/gui/page-file.c @@ -99,6 +99,8 @@ init_file (struct import_assistant *ia, GtkWindow *parent_window) if (ia->spreadsheet == NULL) ia->spreadsheet = gnumeric_probe (file->file_name); + + printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet); if (ia->spreadsheet == NULL) ia->spreadsheet = ods_probe (file->file_name); diff --git a/src/ui/gui/page-first-line.c b/src/ui/gui/page-first-line.c index 9865d90c38..8a0e103227 100644 --- a/src/ui/gui/page-first-line.c +++ b/src/ui/gui/page-first-line.c @@ -87,8 +87,10 @@ first_line_page_create (struct import_assistant *ia) GtkBuilder *builder = ia->asst.builder; +#if 0 p->page = add_page_to_assistant (ia, get_widget_assert (builder, "FirstLine"), GTK_ASSISTANT_PAGE_CONTENT); +#endif gtk_widget_destroy (get_widget_assert (builder, "first-line")); p->tree_view = create_lines_tree_view ( GTK_CONTAINER (get_widget_assert (builder, "first-line-scroller")), ia); diff --git a/src/ui/gui/page-formats.c b/src/ui/gui/page-formats.c index 9bce4d3204..56339017c4 100644 --- a/src/ui/gui/page-formats.c +++ b/src/ui/gui/page-formats.c @@ -82,8 +82,10 @@ formats_page_create (struct import_assistant *ia) GtkBuilder *builder = ia->asst.builder; struct formats_page *p = xzalloc (sizeof *p); +#if 0 p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Formats"), GTK_ASSISTANT_PAGE_CONFIRM); +#endif p->data_tree_view = GTK_TREE_VIEW (get_widget_assert (builder, "data")); p->modified_vars = NULL; p->modified_var_cnt = 0; diff --git a/src/ui/gui/page-intro.c b/src/ui/gui/page-intro.c index 0a8306a05c..f580310c1f 100644 --- a/src/ui/gui/page-intro.c +++ b/src/ui/gui/page-intro.c @@ -107,10 +107,12 @@ intro_page_create (struct import_assistant *ia) 1, 2, 2, 3); +#if 0 p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Intro"), GTK_ASSISTANT_PAGE_INTRO); - + g_print ("%s:%d Added page %p\n", __FILE__, __LINE__, p->page); +#endif p->all_cases_button = get_widget_assert (builder, "import-all-cases"); diff --git a/src/ui/gui/page-separators.c b/src/ui/gui/page-separators.c index c62c3bb767..e153a231f5 100644 --- a/src/ui/gui/page-separators.c +++ b/src/ui/gui/page-separators.c @@ -157,8 +157,10 @@ separators_page_create (struct import_assistant *ia) struct separators_page *p = xzalloc (sizeof *p); +#if 0 p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Separators"), GTK_ASSISTANT_PAGE_CONTENT); +#endif p->custom_cb = get_widget_assert (builder, "custom-cb"); p->custom_entry = get_widget_assert (builder, "custom-entry"); p->quote_combo = get_widget_assert (builder, "quote-combo"); diff --git a/src/ui/gui/page-sheet-spec.c b/src/ui/gui/page-sheet-spec.c index 6f23fe0b34..a23ac40dd6 100644 --- a/src/ui/gui/page-sheet-spec.c +++ b/src/ui/gui/page-sheet-spec.c @@ -88,8 +88,12 @@ sheet_spec_page_create (struct import_assistant *ia) GtkBuilder *builder = ia->asst.builder; struct sheet_spec_page *p = xzalloc (sizeof (*p)); - p->page = add_page_to_assistant (ia, get_widget_assert (builder, "Sheet"), - GTK_ASSISTANT_PAGE_INTRO); + GtkWidget *combo_box = get_widget_assert (builder, "sheet-entry"); + GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, + "text", 0, + NULL); return p; } @@ -98,13 +102,13 @@ sheet_spec_page_create (struct import_assistant *ia) void prepare_sheet_spec_page (struct import_assistant *ia) { - struct sheet_spec_page *p = ia->sheet_spec; - GtkBuilder *builder = ia->asst.builder; GtkWidget *sheet_entry = get_widget_assert (builder, "sheet-entry"); + printf ("%s:%d %p\n", __FILE__, __LINE__, ia->spreadsheet); + gtk_combo_box_set_model (GTK_COMBO_BOX (sheet_entry), + psppire_spreadsheet_model_new (ia->spreadsheet)); - gtk_spin_button_set_digits (GTK_SPIN_BUTTON (sheet_entry), 0); - gtk_spin_button_set_range (GTK_SPIN_BUTTON (sheet_entry), 1, ia->spreadsheet->sheets); + gtk_combo_box_set_active (sheet_entry, 0); } @@ -136,10 +140,9 @@ post_sheet_spec_page (struct import_assistant *ia) GtkWidget *range_entry = get_widget_assert (builder, "cell-range-entry"); GtkWidget *readnames_checkbox = get_widget_assert (builder, "readnames-checkbox"); - gint num = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (sheet_entry)); - const gchar *range = gtk_entry_get_text (GTK_ENTRY (range_entry)); + gint num = 0; if ( num < 1 ) num = 1; diff --git a/src/ui/gui/sheet-test.c b/src/ui/gui/sheet-test.c index d16cdda2b2..c1ff9e9377 100644 --- a/src/ui/gui/sheet-test.c +++ b/src/ui/gui/sheet-test.c @@ -62,7 +62,7 @@ main (int argc, char *argv[] ) gtk_container_set_border_width (GTK_CONTAINER (window), 10); // tm = GTK_TREE_MODEL (make_store ()); - combo_box = gtk_combo_box_new_with_model (tm); + combo_box = gtk_combo_box_new(); { GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); @@ -72,6 +72,8 @@ main (int argc, char *argv[] ) NULL); } + gtk_combo_box_set_model (GTK_COMBO_BOX (combo_box), + tm); gtk_combo_box_set_active (combo_box, 0); diff --git a/src/ui/gui/text-data-import-dialog.c b/src/ui/gui/text-data-import-dialog.c index 0d66e8a20e..ed7f8f4a4f 100644 --- a/src/ui/gui/text-data-import-dialog.c +++ b/src/ui/gui/text-data-import-dialog.c @@ -72,6 +72,7 @@ text_data_import_assistant (PsppireDataWindow *dw) { GtkWindow *parent_window = GTK_WINDOW (dw); struct import_assistant *ia = init_assistant (parent_window); + GtkBuilder *builder = ia->asst.builder; struct sheet_spec_page *ssp ; if (!init_file (ia, parent_window)) @@ -82,6 +83,13 @@ text_data_import_assistant (PsppireDataWindow *dw) ssp = ia->sheet_spec; + add_page_to_assistant (ia, get_widget_assert (builder, "Sheet"), + GTK_ASSISTANT_PAGE_INTRO); + + add_page_to_assistant (ia, get_widget_assert (builder, "Formats"), + GTK_ASSISTANT_PAGE_CONFIRM); + + gtk_widget_show_all (GTK_WIDGET (ia->asst.assistant)); ia->asst.main_loop = g_main_loop_new (NULL, false); diff --git a/src/ui/gui/text-data-import.ui b/src/ui/gui/text-data-import.ui index 62bdf94717..a7a393ea11 100644 --- a/src/ui/gui/text-data-import.ui +++ b/src/ui/gui/text-data-import.ui @@ -653,25 +653,6 @@ The selected file contains N lines of text. Only the first M of these will be s - - 100 - 1 - 100 - 1 - 10 - - - 1000 - 100000000 - 1 - 10 - - - 1 - 100 - 1 - 10 - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 12 @@ -727,11 +708,10 @@ The selected file contains N lines of text. Only the first M of these will be s - + True True - - adjustment3 + 0 1