# GnomeDruidPageEdge

## Name

GnomeDruidPageEdge -- A widget used to implement first and last pages in a druid's sequence.

## Synopsis

    #include <libgnomeui/libgnomeui.h>

    enum        GnomeEdgePosition;
    struct      GnomeDruidPageEdge;
    GtkWidget*  gnome_druid_page_edge_new       (GnomeEdgePosition position);
    GtkWidget*  gnome_druid_page_edge_new_aa    (GnomeEdgePosition position);
    GtkWidget*  gnome_druid_page_edge_new_with_vals
                                                (GnomeEdgePosition position,
                                                 gboolean antialiased,
                                                 const gchar *title,
                                                 const gchar *text,
                                                 GdkPixbuf *logo,
                                                 GdkPixbuf *watermark,
                                                 GdkPixbuf *top_watermark);
    void        gnome_druid_page_edge_set_bg_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);
    void        gnome_druid_page_edge_set_textbox_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);
    void        gnome_druid_page_edge_set_logo_bg_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);
    void        gnome_druid_page_edge_set_title_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);
    void        gnome_druid_page_edge_set_text_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);
    void        gnome_druid_page_edge_set_text  (GnomeDruidPageEdge *druid_page_edge,
                                                 const gchar *text);
    void        gnome_druid_page_edge_set_title (GnomeDruidPageEdge *druid_page_edge,
                                                 const gchar *title);
    void        gnome_druid_page_edge_set_logo  (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *logo_image);
    void        gnome_druid_page_edge_set_watermark
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *watermark);
    void        gnome_druid_page_edge_set_top_watermark
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *top_watermark_image);

## Object Hierarchy

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

## Implemented Interfaces

GnomeDruidPageEdge implements AtkImplementorIface.

## Description

A druid can be thought of as having a page that starts the sequence, one or more pages that end the sequences (there can be multiple end pages if the flow of pages diverges at some point) and some pages that are in between the start and end pages.

The GnomeDruidPageEdge widget is for the first and last pages in a druid's sequence of pages. Pages in the "middle" of a sequence should use GnomeDruidPageStandard.

## Details

### enum GnomeEdgePosition

    typedef enum {
      /* update structure when adding enums */
    	GNOME_EDGE_START,
    	GNOME_EDGE_FINISH,
    	GNOME_EDGE_OTHER,
    	GNOME_EDGE_LAST /* for counting purposes */
    } GnomeEdgePosition;

Used to pass around information about the position of a GnomeDruidPage within the overall GnomeDruid. This enables the correct "surrounding" content for the page to be drawn.

`GNOME_EDGE_START` | The current page is at the beginning of the druid.
`GNOME_EDGE_FINISH` | The current page is at the end of the druid.
`GNOME_EDGE_OTHER` | The current page is neither the first nor the last page (usually not required).
`GNOME_EDGE_LAST` | Used internally to indicate the last value of the enumeration. This should not be passed in to any function expecting a GnomeEdgePosition value.

### struct GnomeDruidPageEdge

    struct GnomeDruidPageEdge {
    	gchar *title;
    	gchar *text;
    	GdkPixbuf *logo_image;
    	GdkPixbuf *watermark_image;
    	GdkPixbuf *top_watermark_image;

    	GdkColor background_color;
    	GdkColor textbox_color;
    	GdkColor logo_background_color;
    	GdkColor title_color;
    	GdkColor text_color;

    	GnomeEdgePosition position : 2;

    };

A widget holding information about the overall look of the currently displaying druid page.

gchar *`title` | The current title of the displayed page.
gchar *`text` | The current text of the displayed page.
GdkPixbuf *`logo_image` | The logo of the displayed page.
GdkPixbuf *`watermark_image` | The watermark on the left side of the displayed page.
GdkPixbuf *`top_watermark_image` | The watermark on the top of the displayed page.
GdkColor `background_color` | The color of the edge of the current page (outside the text area).
GdkColor `textbox_color` | The color of the textbox area of the displayed page.
GdkColor `logo_background_color` | The background color of the displayed page's logo.
GdkColor `title_color` | The color of the title text.
GdkColor `text_color` | The color of the body text.
GnomeEdgePosition `position` : 2 | The position of the current page within the druid (a GnomeEdgePosition value).

### gnome_druid_page_edge_new ()

    GtkWidget*  gnome_druid_page_edge_new       (GnomeEdgePosition position);

Creates a new GnomeDruidPageEdge widget.

`position` : | Position in druid.
Returns : | GtkWidget pointer to a new GnomeDruidPageEdge.

### gnome_druid_page_edge_new_aa ()

    GtkWidget*  gnome_druid_page_edge_new_aa    (GnomeEdgePosition position);

Creates a new GnomeDruidPageEdge widget. The internal canvas is created in an antialiased mode.

`position` : | Position in druid.
Returns : | GtkWidget pointer to a new GnomeDruidPageEdge.

### gnome_druid_page_edge_new_with_vals ()

    GtkWidget*  gnome_druid_page_edge_new_with_vals
                                                (GnomeEdgePosition position,
                                                 gboolean antialiased,
                                                 const gchar *title,
                                                 const gchar *text,
                                                 GdkPixbuf *logo,
                                                 GdkPixbuf *watermark,
                                                 GdkPixbuf *top_watermark);

This will create a new GNOME Druid Edge page, with the values given. It is acceptable for any of them to be `NULL`. Position should be `GNOME_EDGE_START`, `GNOME_EDGE_FINISH` or `GNOME_EDGE_OTHER`.

`position` : | Position in druid.
`antialiased` : | Use an antialiased canvas
`title` : | The title.
`text` : | The introduction text.
`logo` : | The logo in the upper right corner.
`watermark` : | The watermark on the left.
`top_watermark` : | The watermark on the left.
Returns : | GtkWidget pointer to a new GnomeDruidPageEdge.

### gnome_druid_page_edge_set_bg_color ()

    void        gnome_druid_page_edge_set_bg_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);

This will set the background color to be the `color`. You do not need to allocate the color, as the `druid_page_edge` will do it for you.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`color` : | The new background color.

### gnome_druid_page_edge_set_textbox_color ()

    void        gnome_druid_page_edge_set_textbox_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);

Sets the color of the background in the main text area of the page.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`color` : | The new textbox color.

### gnome_druid_page_edge_set_logo_bg_color ()

    void        gnome_druid_page_edge_set_logo_bg_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);

Set the color behind the druid page's logo.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`color` : | The new color of the logo's background.

### gnome_druid_page_edge_set_title_color ()

    void        gnome_druid_page_edge_set_title_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);

Sets the color of the title text on the current page.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`color` : | The color of the title text.

### gnome_druid_page_edge_set_text_color ()

    void        gnome_druid_page_edge_set_text_color
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkColor *color);

Sets the color of the text in the body of the druid page.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`color` : | The new test color.

### gnome_druid_page_edge_set_text ()

    void        gnome_druid_page_edge_set_text  (GnomeDruidPageEdge *druid_page_edge,
                                                 const gchar *text);

Sets the contents of the text portion of the druid page.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`text` : | The text contents.

### gnome_druid_page_edge_set_title ()

    void        gnome_druid_page_edge_set_title (GnomeDruidPageEdge *druid_page_edge,
                                                 const gchar *title);

Sets the contents of the page's title text.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`title` : | The title text

### gnome_druid_page_edge_set_logo ()

    void        gnome_druid_page_edge_set_logo  (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *logo_image);

Sets a GdkPixbuf as the logo in the top right corner. If `NULL`, then no logo will be displayed.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`logo_image` : | The GdkPixbuf to use as a logo.

### gnome_druid_page_edge_set_watermark ()

    void        gnome_druid_page_edge_set_watermark
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *watermark);

Sets a GdkPixbuf as the watermark on the left strip on the druid. If `watermark` is `NULL`, it is reset to the normal color.

`druid_page_edge` : | A `GnomeDruidPageEdge` instance.
`watermark` : | The GdkPixbuf to use as a watermark.

### gnome_druid_page_edge_set_top_watermark ()

    void        gnome_druid_page_edge_set_top_watermark
                                                (GnomeDruidPageEdge *druid_page_edge,
                                                 GdkPixbuf *top_watermark_image);

Sets a GdkPixbuf as the watermark on top of the top strip on the druid. If `top_watermark_image` is `NULL`, it is reset to the normal color.

`druid_page_edge` : | the GnomeDruidPageEdge to work on
`top_watermark_image` : | The GdkPixbuf to use as a top watermark