/* Generated by GOB (v0.93.3) on Sat May 20 15:34:30 2000
   (do not edit directly) */

#define GOB_VERSION_MAJOR 0
#define GOB_VERSION_MINOR 93
#define GOB_VERSION_PATCHLEVEL 3

#include "balsa-druid-page-finish.h"


#line 29 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"

#include "save-restore.h"

#line 16 "balsa-druid-page-finish.c"
/* self casting macros */
#define SELF(x) BALSA_DRUID_PAGE_FINISH(x)
#define IS_SELF(x) BALSA_IS_DRUID_PAGE_FINISH(x)
#define SELF_CLASS(x) BALSA_DRUID_PAGE_FINISH_CLASS(x)

struct _BalsaDruidPageFinishPrivate {
#line 34 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	GtkWidget *text;
#line 25 "balsa-druid-page-finish.c"
};
/* here are local prototypes */
static void balsa_druid_page_finish_class_init (BalsaDruidPageFinishClass *c) G_GNUC_UNUSED;
static void balsa_druid_page_finish_init (BalsaDruidPageFinish *self) G_GNUC_UNUSED;
static void balsa_druid_page_finish_construct (BalsaDruidPage *self) G_GNUC_UNUSED;
static void balsa_druid_page_finish_prepare (GnomeDruidPage *_self, GtkWidget *druid) G_GNUC_UNUSED;
static void balsa_druid_page_finish_finish (GnomeDruidPage *_self, GtkWidget *druid) G_GNUC_UNUSED;
static void balsa_druid_page_finish_finalize (GtkObject *o) G_GNUC_UNUSED;

/* pointer to the class of our parent */
static BalsaDruidPageClass *parent_class = NULL;

guint
balsa_druid_page_finish_get_type (void)
{
	static guint type = 0;

	if (!type) {
		static const GtkTypeInfo info = {
			"BalsaDruidPageFinish",
			sizeof (BalsaDruidPageFinish),
			sizeof (BalsaDruidPageFinishClass),
			(GtkClassInitFunc) balsa_druid_page_finish_class_init,
			(GtkObjectInitFunc) balsa_druid_page_finish_init,
			/* reserved_1 */ NULL,
			/* reserved_2 */ NULL,
			(GtkClassInitFunc) NULL,
		};

		type = gtk_type_unique (balsa_druid_page_get_type(), &info);
	}

	return type;
}


#ifdef __GNUC__
static const typeof(&balsa_druid_page_finish_new) new __attribute__ ((__unused__)) = balsa_druid_page_finish_new;
#define new(args...) balsa_druid_page_finish_new(##args)
#else /* __GNUC__ */
static GtkObject *(* new) (void) = balsa_druid_page_finish_new;
#endif /* __GNUC__ */

/* a macro for creating a new object of our type */
#define GET_NEW ((BalsaDruidPageFinish *)gtk_type_new(balsa_druid_page_finish_get_type()))

static void 
balsa_druid_page_finish_class_init (BalsaDruidPageFinishClass *c)
{
	BalsaDruidPageClass *balsa_druid_page_class = (BalsaDruidPageClass *)c;
	GnomeDruidPageClass *gnome_druid_page_class = (GnomeDruidPageClass *)c;
	GtkObjectClass *gtk_object_class = (GtkObjectClass *)c;

	parent_class = gtk_type_class (balsa_druid_page_get_type ());

#line 52 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	balsa_druid_page_class->construct = balsa_druid_page_finish_construct;
#line 60 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	gnome_druid_page_class->prepare = balsa_druid_page_finish_prepare;
#line 69 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	gnome_druid_page_class->finish = balsa_druid_page_finish_finish;
#line 87 "balsa-druid-page-finish.c"
	gtk_object_class->finalize = balsa_druid_page_finish_finalize;
return;
}
#line 42 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
static void 
balsa_druid_page_finish_init (BalsaDruidPageFinish *self)
#line 94 "balsa-druid-page-finish.c"
{
	self->_priv = g_new0 (BalsaDruidPageFinishPrivate, 1);
 {
#line 42 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"

		self->_priv->text = gtk_label_new( _(
			"You've successfully set up Balsa. Have fun!\n"
			"   -- The Balsa development team"
			) );
		gtk_label_set_justify( GTK_LABEL( self->_priv->text ), GTK_JUSTIFY_CENTER );
		gtk_box_pack_start( GTK_BOX( (GNOME_DRUID_PAGE_STANDARD( self ))->vbox ), GTK_WIDGET( self->_priv->text ),
			TRUE, TRUE, 8 );
	
#line 108 "balsa-druid-page-finish.c"
 }
}


#line 36 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
GtkObject *
balsa_druid_page_finish_new (void)
{
#line 117 "balsa-druid-page-finish.c"
{
#line 36 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	 
		GtkObject *self = GTK_OBJECT( GET_NEW );
		balsa_druid_page_finish_construct( BALSA_DRUID_PAGE( self ) );
		return self;
	 }}
#line 125 "balsa-druid-page-finish.c"


#line 52 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
static void 
balsa_druid_page_finish_construct (BalsaDruidPage *self)
#define PARENT_HANDLER(___self) \
	{ if(BALSA_DRUID_PAGE_CLASS(parent_class)->construct) \
		(* BALSA_DRUID_PAGE_CLASS(parent_class)->construct)(___self); }
{
#line 135 "balsa-druid-page-finish.c"
{
#line 53 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	
		GnomeDruidPageStandard *std = GNOME_DRUID_PAGE_STANDARD( self );

		std->title = g_strdup( _("All Done!") );
		PARENT_HANDLER( self );
	}}
#line 144 "balsa-druid-page-finish.c"
#undef PARENT_HANDLER

#line 60 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
static void 
balsa_druid_page_finish_prepare (GnomeDruidPage *_self, GtkWidget *druid)
#define PARENT_HANDLER(____self,___druid) \
	{ if(GNOME_DRUID_PAGE_CLASS(parent_class)->prepare) \
		(* GNOME_DRUID_PAGE_CLASS(parent_class)->prepare)(____self,___druid); }
{
#line 60 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	g_return_if_fail (!(druid) || GTK_IS_WIDGET (druid));
#line 60 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	g_return_if_fail (druid != NULL);
#line 158 "balsa-druid-page-finish.c"
{
#line 61 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	
		BalsaDruidPageFinish *self = BALSA_DRUID_PAGE_FINISH( _self );

		gnome_druid_page_standard_set_logo( GNOME_DRUID_PAGE_STANDARD( self ), (BALSA_INITDRUID( druid ))->default_logo );
		gnome_druid_set_buttons_sensitive( GNOME_DRUID( druid ), TRUE, FALSE, TRUE );
		gnome_druid_set_show_finish( GNOME_DRUID( druid ), TRUE );
	}}
#line 168 "balsa-druid-page-finish.c"
#undef PARENT_HANDLER

#line 69 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
static void 
balsa_druid_page_finish_finish (GnomeDruidPage *_self, GtkWidget *druid)
#define PARENT_HANDLER(____self,___druid) \
	{ if(GNOME_DRUID_PAGE_CLASS(parent_class)->finish) \
		(* GNOME_DRUID_PAGE_CLASS(parent_class)->finish)(____self,___druid); }
{
#line 69 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	g_return_if_fail (!(druid) || GTK_IS_WIDGET (druid));
#line 69 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	g_return_if_fail (druid != NULL);
#line 182 "balsa-druid-page-finish.c"
{
#line 70 "../../balsa/libinit_balsa/balsa-druid-page-finish.gob"
	
		config_global_save();
		balsa_initdruid_finished( BALSA_INITDRUID( druid ) );
	}}
#line 189 "balsa-druid-page-finish.c"
#undef PARENT_HANDLER

static void 
balsa_druid_page_finish_finalize (GtkObject *o)
#define PARENT_HANDLER(___o) \
	{ if(GTK_OBJECT_CLASS(parent_class)->finalize) \
		(* GTK_OBJECT_CLASS(parent_class)->finalize)(___o); }
{
	BalsaDruidPageFinish *___self = BALSA_DRUID_PAGE_FINISH (o);
	g_free (___self->_priv);
	___self->_priv = NULL;
{
	PARENT_HANDLER (o);
}}
#undef PARENT_HANDLER


#ifndef __GNUC__
/*REALLY BAD HACK
  This is to avoid unused warnings if you don't call
  some method.  I need to find a better way to do
  this, not needed in GCC since we use some gcc
  extentions to make saner, faster code */
static void
___balsa_druid_page_finish_really_bad_hack_to_avoid_warnings(void)
{
	((void (*)(void))new)();
	___balsa_druid_page_finish_really_bad_hack_to_avoid_warnings();
}
#endif /* __GNUC__ */

