<HTML ><HEAD ><TITLE >GnomeDruid</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.74b"><LINK REL="HOME" TITLE="Gnome User Interface Library Reference Manual" HREF="book1.html"><LINK REL="UP" TITLE="GNOME Widgets and Objects" HREF="gnome-objects.html"><LINK REL="PREVIOUS" TITLE="GnomeDock" HREF="gnomedock.html"><LINK REL="NEXT" TITLE="GnomeDruidPage" HREF="gnomedruidpage.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="5" >Gnome User Interface Library Reference Manual</FONT ></TH ></TR ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="gnomedock.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="gnome-objects.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="gnomedruidpage.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ></TABLE ></DIV ><H1 ><A NAME="GNOMEDRUID" >GnomeDruid</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN15870" ></A ><H2 >Name</H2 >GnomeDruid -- The main widget of the GNOME druid system.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN15873" ></A ><H2 >Synopsis</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > #include <gnome.h> <GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* <A HREF="gnomedruid.html#GNOME-DRUID-NEW" >gnome_druid_new</A > (void); void <A HREF="gnomedruid.html#GNOME-DRUID-SET-BUTTONS-SENSITIVE" >gnome_druid_set_buttons_sensitive</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > back_sensitive, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > next_sensitive, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > cancel_sensitive); void <A HREF="gnomedruid.html#GNOME-DRUID-SET-SHOW-FINISH" >gnome_druid_set_show_finish</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > show_finish); void <A HREF="gnomedruid.html#GNOME-DRUID-PREPEND-PAGE" >gnome_druid_prepend_page</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page); void <A HREF="gnomedruid.html#GNOME-DRUID-INSERT-PAGE" >gnome_druid_insert_page</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *back_page, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page); void <A HREF="gnomedruid.html#GNOME-DRUID-APPEND-PAGE" >gnome_druid_append_page</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page); void <A HREF="gnomedruid.html#GNOME-DRUID-SET-PAGE" >gnome_druid_set_page</A > (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page); </PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15899" ></A ><H2 >Object Hierarchy</H2 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="SYNOPSIS" > <GTKDOCLINK HREF="GTKOBJECT" >GtkObject</GTKDOCLINK > +----<GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK > +----<GTKDOCLINK HREF="GTKCONTAINER" >GtkContainer</GTKDOCLINK > +----GnomeDruid</PRE ></TD ></TR ></TABLE ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15905" ></A ><H2 >Description</H2 ><P > The GNOME druid is a system for assisting the user with installing a service. It is roughly equivalent in functionality to the "Wizards" available in Windows. </P ><P > There are two major parts of the druid, the <A HREF="gnomedruid.html" >GnomeDruid</A > widget, and the set of <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > widgets. The <A HREF="gnomedruid.html" >GnomeDruid</A > widget is the main widget that interacts with the user. It has a Next, a Prev, and a Cancel button, and acts as a container for the pages. It is not a top-level window, so it needs to be put in a <GTKDOCLINK HREF="GTKWINDOW" >GtkWindow</GTKDOCLINK > in almost all cases. The <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > is a virtual widget, from which all of the actual content of the page inherits from. There are currently three of these available within gnome-libs. </P ><DIV CLASS="REFSECT2" ><A NAME="AEN15914" ></A ><H3 >Creating a druid</H3 ><P > GNOME druids are fairly simple to program with. You start by creating a <A HREF="gnomedruid.html" >GnomeDruid</A > into which you put all of your pages. This widget will handle the presentation of the <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > widgets. </P ><P > You then create all appropriate <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > widgets. There are three implementations of these in libgnomeui, although there is no reason why more couldn't be written. They are the <A HREF="gnomedruidpagestart.html" >GnomeDruidPageStart</A >, the <A HREF="gnomedruidpagestandard.html" >GnomeDruidPageStandard</A >, and the <A HREF="gnomedruidpagefinish.html" >GnomeDruidPageFinish</A >. The <A HREF="gnomedruidpagestandard.html" >GnomeDruidPageStandard</A > acts as a <GTKDOCLINK HREF="GTKCONTAINER" >GtkContainer</GTKDOCLINK >, and is probably the most commonly used druid page. The other ones, as their names might suggest, are used at the endpoints of the druid. More information on the specific properties of these widgets can be found on their respective pages. </P ><P > You will need to add the pages to the druid in order for them to appear. The druid itself keeps an internal list of all pages, and using the <A HREF="gnomedruid.html#GNOME-DRUID-PREPEND-PAGE" >gnome_druid_prepend_page</A >(), <A HREF="gnomedruid.html#GNOME-DRUID-APPEND-PAGE" >gnome_druid_append_page</A >(), and <A HREF="gnomedruid.html#GNOME-DRUID-INSERT-PAGE" >gnome_druid_insert_page</A >() will place them into it. </P ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15930" ></A ><H3 >Managing the control-flow in a druid</H3 ><P > The control-flow in a druid is managed at the <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > level, and is a little complex. The signals available are "back", "next", "finish", "cancel" and "prepare", and all but the last are triggered when their respective buttons are pressed. In the absence of anything connected to these signals, the druid will cycle through the pages in the order of the internal list, so for a simple druid, just adding the pages in order is sufficient. </P ><P > If the druid has some branching code, then it will be handled at the point of the branch. The current page will emit the appropriate "next" or "back" signal in this case. It is up to the druid author to trap this signal when necessary and call <A HREF="gnomedruid.html#GNOME-DRUID-SET-PAGE" >gnome_druid_set_page</A >() in the handler to go to the correct page. In addition, they will want to return TRUE to let the druid know that it has handled the page change, and to prevent the druid from following its list. </P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN15936" ></A ><H2 >Details</H2 ><DIV CLASS="REFSECT2" ><A NAME="AEN15938" ></A ><H3 ><A NAME="GNOME-DRUID-NEW" ></A >gnome_druid_new ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" ><GTKDOCLINK HREF="GTKWIDGET" >GtkWidget</GTKDOCLINK >* gnome_druid_new (void);</PRE ></TD ></TR ></TABLE ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN15944" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><SPAN CLASS="emphasis" ><I CLASS="EMPHASIS" >Returns</I ></SPAN > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15953" ></A ><H3 ><A NAME="GNOME-DRUID-SET-BUTTONS-SENSITIVE" ></A >gnome_druid_set_buttons_sensitive ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_set_buttons_sensitive (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > back_sensitive, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > next_sensitive, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > cancel_sensitive);</PRE ></TD ></TR ></TABLE ><P >Sets the sensitivity of the <TT CLASS="PARAMETER" ><I >druid</I ></TT >'s control-buttons. If the variables are TRUE, then they will be clickable. This function is used primarily by the actual GnomeDruidPage widgets.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN15964" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >back_sensitive</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The sensitivity of the back button.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >next_sensitive</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The sensitivity of the next button.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >cancel_sensitive</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The sensitivity of the cancel button.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN15985" ></A ><H3 ><A NAME="GNOME-DRUID-SET-SHOW-FINISH" ></A >gnome_druid_set_show_finish ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_set_show_finish (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <GTKDOCLINK HREF="GBOOLEAN" >gboolean</GTKDOCLINK > show_finish);</PRE ></TD ></TR ></TABLE ><P >Sets the text on the last button on the <TT CLASS="PARAMETER" ><I >druid</I ></TT >. If <TT CLASS="PARAMETER" ><I >show_finish</I ></TT > is TRUE, then the text becomes "Finish". If <TT CLASS="PARAMETER" ><I >show_finish</I ></TT > is FALSE, then the text becomes "Cancel".</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN15996" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid widget. # <TT CLASS="PARAMETER" ><I >show_finish</I ></TT >: If TRUE, then the "Cancel" button is changed to be "Finish"</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >show_finish</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > </TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16010" ></A ><H3 ><A NAME="GNOME-DRUID-PREPEND-PAGE" ></A >gnome_druid_prepend_page ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_prepend_page (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page);</PRE ></TD ></TR ></TABLE ><P >This will prepend a GnomeDruidPage into the internal list of pages that the <TT CLASS="PARAMETER" ><I >druid</I ></TT > has.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN16019" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid widget.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >page</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The page to be inserted.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16032" ></A ><H3 ><A NAME="GNOME-DRUID-INSERT-PAGE" ></A >gnome_druid_insert_page ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_insert_page (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *back_page, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page);</PRE ></TD ></TR ></TABLE ><P >This will insert <TT CLASS="PARAMETER" ><I >page</I ></TT > after <TT CLASS="PARAMETER" ><I >back_page</I ></TT > into the list of internal pages that the <TT CLASS="PARAMETER" ><I >druid</I ></TT > has. If <TT CLASS="PARAMETER" ><I >back_page</I ></TT > is not present in the list or NULL, <TT CLASS="PARAMETER" ><I >page</I ></TT > will be prepended to the list.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN16046" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid widget.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >back_page</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The page prior to the page to be inserted.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >page</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The page to insert.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16063" ></A ><H3 ><A NAME="GNOME-DRUID-APPEND-PAGE" ></A >gnome_druid_append_page ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_append_page (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page);</PRE ></TD ></TR ></TABLE ><P >This will append <TT CLASS="PARAMETER" ><I >page</I ></TT > onto the end of the internal list.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN16072" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid widget.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >page</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The page to be appended.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ><HR><DIV CLASS="REFSECT2" ><A NAME="AEN16085" ></A ><H3 ><A NAME="GNOME-DRUID-SET-PAGE" ></A >gnome_druid_set_page ()</H3 ><TABLE BORDER="0" BGCOLOR="#D6E8FF" WIDTH="100%" CELLPADDING="6" ><TR ><TD ><PRE CLASS="PROGRAMLISTING" >void gnome_druid_set_page (<A HREF="gnomedruid.html" >GnomeDruid</A > *druid, <A HREF="gnomedruidpage.html" >GnomeDruidPage</A > *page);</PRE ></TD ></TR ></TABLE ><P >This will make <TT CLASS="PARAMETER" ><I >page</I ></TT > the currently showing page in the druid. <TT CLASS="PARAMETER" ><I >page</I ></TT > must already be in the druid.</P ><P ></P ><DIV CLASS="INFORMALTABLE" ><A NAME="AEN16095" ></A ><P ></P ><TABLE BORDER="0" WIDTH="100%" BGCOLOR="#FFD0D0" CELLSPACING="0" CELLPADDING="4" CLASS="CALSTABLE" ><TBODY ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >druid</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > A Druid widget.</TD ></TR ><TR ><TD WIDTH="20%" ALIGN="RIGHT" VALIGN="TOP" ><TT CLASS="PARAMETER" ><I >page</I ></TT > :</TD ><TD WIDTH="80%" ALIGN="LEFT" VALIGN="TOP" > The page to be brought to the foreground.</TD ></TR ></TBODY ></TABLE ><P ></P ></DIV ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN16108" ></A ><H2 >See Also</H2 ><P > <A HREF="gnomedruidpage.html" >GnomeDruidPage</A >, <A HREF="gnomedruidpagestart.html" >GnomeDruidPageStart</A >, <A HREF="gnomedruidpagestandard.html" >GnomeDruidPageStandard</A >, <A HREF="gnomedruidpagefinish.html" >GnomeDruidPageFinish</A > </P ></DIV ><DIV CLASS="NAVFOOTER" ><BR CLEAR="all"><BR><TABLE WIDTH="100%" BORDER="0" BGCOLOR="#000000" CELLPADDING="1" CELLSPACING="0" ><TR ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="left" ><A HREF="gnomedock.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><<< Previous Page</B ></FONT ></A ></TD ><TD WIDTH="25%" BGCOLOR="#0000C0" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="book1.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Home</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#00C000" ALIGN="center" ><FONT COLOR="#FFFFFF" SIZE="3" ><B ><A HREF="gnome-objects.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Up</B ></FONT ></A ></B ></FONT ></TD ><TD WIDTH="25%" BGCOLOR="#C00000" ALIGN="right" ><A HREF="gnomedruidpage.html" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >Next Page >>></B ></FONT ></A ></TD ></TR ><TR ><TD COLSPAN="2" ALIGN="left" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >GnomeDock</B ></FONT ></TD ><TD COLSPAN="2" ALIGN="right" ><FONT COLOR="#FFFFFF" SIZE="3" ><B >GnomeDruidPage</B ></FONT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >