# GnomeDruidPage

## Name

GnomeDruidPage -- A widget representing a single page inside a druid.

## Synopsis

    #include <libgnomeui/libgnomeui.h>

    struct      GnomeDruidPage;
    GtkWidget*  gnome_druid_page_new            (void);
    gboolean    gnome_druid_page_next           (GnomeDruidPage *druid_page);
    void        gnome_druid_page_prepare        (GnomeDruidPage *druid_page);
    gboolean    gnome_druid_page_back           (GnomeDruidPage *druid_page);
    gboolean    gnome_druid_page_cancel         (GnomeDruidPage *druid_page);
    void        gnome_druid_page_finish         (GnomeDruidPage *druid_page);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBin
                               +----GnomeDruidPage

## Implemented Interfaces

GnomeDruidPage implements AtkImplementorIface.

## Signal Prototypes

    "back"      gboolean    user_function      (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);
    "cancel"    gboolean    user_function      (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);
    "finish"    void        user_function      (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);
    "next"      gboolean    user_function      (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);
    "prepare"   void        user_function      (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

## Description

The functions in this page are mostly only for the information of developers -- they should never needt o call them directly. Typically, a druid will connect to the various signals described here as a way of controlling the behaviour of druids that do not just proceed in a front-to-back fashion (for example, where the subsequent pages depend upon the choice made at some point).

## Details

### struct GnomeDruidPage

    struct GnomeDruidPage;

The widget for a aprticular page in a druid.

### gnome_druid_page_new ()

    GtkWidget*  gnome_druid_page_new            (void);

Creates a new GnomeDruidPage.

Returns : | The newly created GnomeDruidPage.

### gnome_druid_page_next ()

    gboolean    gnome_druid_page_next           (GnomeDruidPage *druid_page);

This will emit the "next" signal for that particular page. It is called by gnome-druid exclusively. It is expected that non-linear Druid's will override this signal and return TRUE if it handles changing pages.

`druid_page` : | A DruidPage widget.
Returns : | This function will return FALSE by default.

### gnome_druid_page_prepare ()

    void        gnome_druid_page_prepare        (GnomeDruidPage *druid_page);

This emits the "prepare" signal for the page. It is called by gnome-druid exclusively. This function is called immediately prior to a druid page being shown so that it can "prepare" for display.

`druid_page` : | A DruidPage widget.

### gnome_druid_page_back ()

    gboolean    gnome_druid_page_back           (GnomeDruidPage *druid_page);

This will emit the "back" signal for that particular page. It is called by gnome-druid exclusively. It is expected that non-linear Druid's will override this signal and return TRUE if it handles changing pages.

`druid_page` : | A DruidPage widget.
Returns : | This function will return FALSE by default.

### gnome_druid_page_cancel ()

    gboolean    gnome_druid_page_cancel         (GnomeDruidPage *druid_page);

This will emit the "cancel" signal for that particular page. It is called by gnome-druid exclusively. It is expected that a Druid will override this signal and return TRUE if it does not want to exit.

`druid_page` : | A DruidPage widget.
Returns : | This function will return FALSE by default.

### gnome_druid_page_finish ()

    void        gnome_druid_page_finish         (GnomeDruidPage *druid_page);

This emits the "finish" signal for the page. It is called by gnome-druid exclusively.

`druid_page` : | A DruidPage widget.

## Signals

### The "back" signal

    gboolean    user_function                  (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

`druidpage` : | the object which received the signal.
`widget` : | The GnomeDruid containg this page.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the signal handler has changed the page (since this stops all further emission of the signal), `FALSE` otherwise.

### The "cancel" signal

    gboolean    user_function                  (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

`druidpage` : | the object which received the signal.
`widget` : | The GnomeDruid containg this page.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the druid does not want to exit yet, `FALSE` if the exit should continue.

### The "finish" signal

    void        user_function                  (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

`druidpage` : | the object which received the signal.
`widget` : | The GnomeDruid containg this page.
`user_data` : | user data set when the signal handler was connected.

### The "next" signal

    gboolean    user_function                  (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

`druidpage` : | the object which received the signal.
`widget` : | The GnomeDruid containg this page.
`user_data` : | user data set when the signal handler was connected.
Returns : | `TRUE` if the signal handler has changed the page (since this stops all further emission of the signal), `FALSE` otherwise.

### The "prepare" signal

    void        user_function                  (GnomeDruidPage *druidpage,
                                                GtkWidget *widget,
                                                gpointer user_data);

`druidpage` : | the object which received the signal.
`widget` : | The GnomeDruid containg this page.
`user_data` : | user data set when the signal handler was connected.