|  |  |  | GTK+ Reference Manual |  | 
|---|
Here is the area where GtkAssistant and GnomeDruid differ the most. While GnomeDruid used the "next" and "back" signals from the GnomeDruidPage, GtkAssistant uses the following techniques:
gtk_assistant_set_forward_page_func(): Allows to define a GtkAssistantPageFunc to let the
	   assistant know which will be the following page given the current page.
gtk_assistant_set_page_complete(): Lets the assistant know whether the specified page is complete
	   or not, updating buttons state accordingly.
gtk_assistant_set_page_type(): Lets the assistant know the page role and update the buttons
	   state accordingly. Pages can have the following roles:
| Intro | 
| Content | 
| Progress | 
| Confirmation | 
| Summary | 
A sample GtkAssistantPageFunc could look like this:
static gint
forward_page_function (gint     current_page,
                       gpointer data)
{
  switch (current_page)
    {
    case 0:
      return 1;
    case 1:
      if (check_page1_data ())
	   return 2;
	 else
	   return 3;
    case 2:
      return 3;
    default:
      return -1;
    }
}