X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fui%2Fgui%2Fpage-assistant.c;h=7c54f40f803e0a43ccc211de2b802f093636a179;hb=f34021711b79c96bd0d3c374c154efa770e29cfb;hp=9ef5782a30f003fd0a1a84c707f2b37471e40e73;hpb=7f8a1592964567db640915d3019af0e25e30bbb6;p=pspp diff --git a/src/ui/gui/page-assistant.c b/src/ui/gui/page-assistant.c index 9ef5782a30..7c54f40f80 100644 --- a/src/ui/gui/page-assistant.c +++ b/src/ui/gui/page-assistant.c @@ -69,13 +69,23 @@ static void close_assistant (struct import_assistant *, int response); /* Initializes IA's asst substructure. PARENT_WINDOW must be the window to use as the assistant window's parent. */ -void -init_assistant (struct import_assistant *ia, GtkWindow *parent_window) +struct import_assistant * +init_assistant (GtkWindow *parent_window) { + struct import_assistant *ia = xzalloc (sizeof *ia); struct assistant *a = &ia->asst; a->builder = builder_new ("text-data-import.ui"); a->assistant = GTK_ASSISTANT (gtk_assistant_new ()); + + a->prop_renderer = gtk_cell_renderer_text_new (); + g_object_ref_sink (a->prop_renderer); + a->fixed_renderer = gtk_cell_renderer_text_new (); + g_object_ref_sink (a->fixed_renderer); + g_object_set (G_OBJECT (a->fixed_renderer), + "family", "Monospace", + (void *) NULL); + g_signal_connect (a->assistant, "prepare", G_CALLBACK (on_prepare), ia); g_signal_connect (a->assistant, "cancel", G_CALLBACK (on_cancel), ia); g_signal_connect (a->assistant, "close", G_CALLBACK (on_close), ia); @@ -90,13 +100,8 @@ init_assistant (struct import_assistant *ia, GtkWindow *parent_window) gtk_window_set_transient_for (GTK_WINDOW (a->assistant), parent_window); gtk_window_set_icon_name (GTK_WINDOW (a->assistant), "pspp"); - a->prop_renderer = gtk_cell_renderer_text_new (); - g_object_ref_sink (a->prop_renderer); - a->fixed_renderer = gtk_cell_renderer_text_new (); - g_object_ref_sink (a->fixed_renderer); - g_object_set (G_OBJECT (a->fixed_renderer), - "family", "Monospace", - (void *) NULL); + + return ia; } /* Frees IA's asst substructure. */ @@ -148,10 +153,21 @@ static void on_prepare (GtkAssistant *assistant, GtkWidget *page, struct import_assistant *ia) { - int pn = gtk_assistant_get_current_page (assistant); + struct sheet_spec_page *ssp = ia->sheet_spec; - if (pn == 1 && ia->file.type != FTYPE_TEXT) - post_sheet_spec_page (ia); + int pn = gtk_assistant_get_current_page (assistant); + g_print ("%s:%d Page %d %p\n", __FILE__, __LINE__, pn, page); + + if ( ia->spreadsheet) + { + if (pn == 0) + prepare_sheet_spec_page (ia); + else if (pn == 1) + { + post_sheet_spec_page (ia); + prepare_formats_page (ia); + } + } if (gtk_assistant_get_page_type (assistant, page) == GTK_ASSISTANT_PAGE_CONFIRM) @@ -160,21 +176,22 @@ on_prepare (GtkAssistant *assistant, GtkWidget *page, gtk_widget_grab_focus (assistant->forward); + +#if 0 /* Prepare .... */ - if (page == ia->separators.page) + if (page == ia->separators->page) prepare_separators_page (ia); - else if (page == ia->formats.page) + else if (page == ia->formats->page) prepare_formats_page (ia); - else if (page == ia->sheet_spec.page) - prepare_sheet_spec_page (ia); - gtk_widget_show (ia->asst.reset_button); - if (page == ia->formats.page) + if (page == ia->formats->page) gtk_widget_show (ia->asst.paste_button); else gtk_widget_hide (ia->asst.paste_button); + +#endif } /* Called when the Cancel button in the assistant is clicked. */ @@ -204,19 +221,21 @@ on_paste (GtkButton *button, struct import_assistant *ia) static void on_reset (GtkButton *button, struct import_assistant *ia) { +#if 0 gint page_num = gtk_assistant_get_current_page (ia->asst.assistant); GtkWidget *page = gtk_assistant_get_nth_page (ia->asst.assistant, page_num); - if (page == ia->intro.page) + if (page == ia->intro->page) reset_intro_page (ia); - else if (page == ia->first_line.page) + else if (page == ia->first_line->page) reset_first_line_page (ia); - else if (page == ia->separators.page) + else if (page == ia->separators->page) reset_separators_page (ia); - else if (page == ia->formats.page) + else if (page == ia->formats->page) reset_formats_page (ia); - else if (page == ia->sheet_spec.page) + else if (page == ia->sheet_spec->page) reset_sheet_spec_page (ia); +#endif } /* Causes the assistant to close, returning RESPONSE for