since version 2.10, gtk+ provides the gtkassistant widget as a replacement
for the gnomedruid widget in the libgnomeui library.
gnomedruid was implemented as a container for
gnomedruidpage abstract objects, which are implemented by the
gnomedruidpageedge and gnomedruidpagestandard
widgets. instead, gtkassistant allows any widget to be a page, and implements
per-page settings (such as page type or title) as child properties. so instead of:
/* page 1 */
page = gnome_druid_page_edge_new (gnome_edge_start);
gnome_druid_page_edge_set_test (gnome_druid_page_edge (page),
"welcome to the assistant, it will make your life easier");
gtk_widget_show (page);
gnome_druid_append_page (gnome_druid (druid), gnome_druid_page (page));
/* page 2 */
page = gnome_druid_page_standard_new()
;
gtk_container_add (gtk_container (gnome_druid_page_standard (page)->vbox,
create_page1()
);
gtk_widget_show_all (page);
gnome_druid_append_page (gnome_druid (druid), gnome_druid_page (page));
/* page 3 */
page = gnome_druid_page_edge_new (gnome_edge_finish);
gnome_druid_page_edge_set_test (gnome_druid_page_edge (page),
"now you are done, your life is easier");
gtk_widget_show (page);
gnome_druid_append_page (gnome_druid (druid), gnome_druid_page (page));
you have to write:
gtk_assistant_append_page (gtk_assistant (assistant),
gtk_label_new ("welcome to the assistant, it will make your life easier"));
gtk_assistant_append_page (gtk_assistant (assistant),
create_page1()
);
gtk_assistant_append_page (gtk_assistant (assistant),
gtk_label_new ("now you are done, your life is easier");