/****************************/
/* Text Definition	    */
/****************************/

struct TextAttr fontdef =
    {
	"topaz.font",
	TOPAZ_EIGHTY,
	0,
	FPF_ROMFONT
    };


/*************************/
/* Gadget Up/Down Border */
/*************************/

SHORT GadgetUpDownBorderBXY[] =
    {
	18, 1,
	3, 1,
	3, 9,
	2, 1,
	2, 10,
	1, 11,
	20, 11,
	20, 1,
	21, 0,
	21, 11
    };

struct Border GadgetUpDownBorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	GadgetUpDownBorderBXY,
	NULL
    };

SHORT GadgetUpDownBorderAXY[] =
    {
	0, 0,
	0, 11,
	1, 10,
	1, 0,
	20, 0,
	18, 2,
	18, 10,
	19, 10,
	19, 0,
	19, 10,
	3, 10
    };

struct Border GadgetUpDownBorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	GadgetUpDownBorderAXY,
	&GadgetUpDownBorderB
    };


SHORT GadgetUpBorderAXY[] =
    {
	6, 7,
	10, 3,
	11, 3,
	15, 7,
	14, 7,
	11, 4,
	10, 4,
	7, 7
    };

struct Border GadgetUpBorderA =
    {
	0, 0,
	1, 0, JAM1,
	8,
	GadgetUpBorderAXY,
	&GadgetUpDownBorderA
    };



SHORT GadgetDownBorderAXY[] =
    {
	6, 3,
	10, 7,
	11, 7,
	15, 3,
	14, 3,
	11, 6,
	10, 6,
	7, 3
    };

struct Border GadgetDownBorderA =
    {
	0, 0,
	1, 0, JAM1,
	8,
	GadgetDownBorderAXY,
	&GadgetUpDownBorderA
    };

/************************/
/* Gadget Down 3 (Year) */
/************************/

struct Gadget GadgetDown3 =
    {
	NULL,
	200, 62, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetDownBorderA,
	NULL,
	NULL
	0,
	0,
	22,
	NULL
    };

/*************************/
/* Gadget Down 2 (Month) */
/*************************/

struct Gadget GadgetDown2 =
    {
	&GadgetDown3,
	176, 62, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetDownBorderA,
	NULL,
	NULL
	0,
	0,
	21,
	NULL
    };

/***********************/
/* Gadget Down 1 (Day) */
/***********************/

struct Gadget GadgetDown1 =
    {
	&GadgetDown2,
	152, 62, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetDownBorderA,
	NULL,
	NULL
	0,
	0,
	20,
	NULL
    };

/**********************/
/* Gadget Up 3 (Year) */
/**********************/

struct Gadget GadgetUp3 =
    {
	&GadgetDown1,
	200, 41, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetUpBorderA,
	NULL,
	NULL
	0,
	0,
	12,
	NULL
    };

/***********************/
/* Gadget Up 2 (Month) */
/***********************/

struct Gadget GadgetUp2 =
    {
	&GadgetUp3,
	176, 41, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetUpBorderA,
	NULL,
	NULL
	0,
	0,
	11,
	NULL
    };

/*********************/
/* Gadget Up 1 (Day) */
/*********************/

struct Gadget GadgetUp1 =
    {
	&GadgetUp2,
	152, 41, 22, 12,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&GadgetUpBorderA,
	NULL,
	NULL
	0,
	0,
	10,
	NULL
    };

/******************/
/* Gadget 6 (New) */
/******************/

struct IntuiText Gadget6Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"New"
	NULL,
    };

SHORT Gadget6BorderBXY[] =
    {
	36, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	38, 14,
	38, 1,
	39, 0,
	39, 14
    };

struct Border Gadget6BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget6BorderBXY,
	NULL
    };

SHORT Gadget6BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	38, 0,
	36, 2,
	36, 13,
	37, 13,
	37, 0,
	37, 13,
	3, 13
    };

struct Border Gadget6BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget6BorderAXY,
	&Gadget6BorderB
    };

struct Gadget Gadget6 =
    {
	&GadgetUp1,
	308, 50, 40, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget6BorderA,
	NULL,
	&Gadget6Text,
	0,
	0,
	5,
	NULL
    };

/********************/
/* Gadget 5 (Other) */
/********************/

struct IntuiText Gadget5Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Other"
	NULL,
    };

SHORT Gadget5BorderBXY[] =
    {
	52, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	54, 14,
	54, 1,
	55, 0,
	55, 14
    };

struct Border Gadget5BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget5BorderBXY,
	NULL
    };

SHORT Gadget5BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	54, 0,
	52, 2,
	52, 13,
	53, 13,
	53, 0,
	53, 13,
	3, 13
    };

struct Border Gadget5BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget5BorderAXY,
	&Gadget5BorderB
    };

struct Gadget Gadget5 =
    {
	&Gadget6,
	244, 50, 56, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget5BorderA,
	NULL,
	&Gadget5Text,
	0,
	0,
	4,
	NULL
    };

/****************************/
/* Gadget 4 (Load old text) */
/****************************/

struct IntuiText Gadget4Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Load old Text"
	NULL,
    };

SHORT Gadget4BorderBXY[] =
    {
	116, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	118, 14,
	118, 1,
	119, 0,
	119, 14
    };

struct Border Gadget4BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget4BorderBXY,
	NULL
    };

SHORT Gadget4BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	118, 0,
	116, 2,
	116, 13,
	117, 13,
	117, 0,
	117, 13,
	3, 13
    };

struct Border Gadget4BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget4BorderAXY,
	&Gadget4BorderB
    };

struct Gadget Gadget4 =
    {
	&Gadget5,
	20, 50, 120, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget4BorderA,
	NULL,
	&Gadget4Text,
	0,
	0,
	3,
	NULL
    };

/**************************/
/* Gadget 3 (Edit config) */
/**************************/

struct IntuiText Gadget3Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Edit Config"
	NULL,
    };

SHORT Gadget3BorderBXY[] =
    {
	100, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	102, 14,
	102, 1,
	103, 0,
	103, 14
    };

struct Border Gadget3BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget3BorderBXY,
	NULL
    };

SHORT Gadget3BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	102, 0,
	100, 2,
	100, 13,
	101, 13,
	101, 0,
	101, 13,
	3, 13
    };

struct Border Gadget3BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget3BorderAXY,
	&Gadget3BorderB
    };

struct Gadget Gadget3 =
    {
	&Gadget4,
	244, 20, 104, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget3BorderA,
	NULL,
	&Gadget3Text,
	0,
	0,
	2,
	NULL
    };

/***************************/
/* Gadget 2 (New Password) */
/***************************/

struct IntuiText Gadget2Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"New Password"
	NULL,
    };

SHORT Gadget2BorderBXY[] =
    {
	108, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	110, 14,
	110, 1,
	111, 0,
	111, 14
    };

struct Border Gadget2BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget2BorderBXY,
	NULL
    };

SHORT Gadget2BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	110, 0,
	108, 2,
	108, 13,
	109, 13,
	109, 0,
	109, 13,
	3, 13
    };

struct Border Gadget2BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget2BorderAXY,
	&Gadget2BorderB
    };

struct Gadget Gadget2 =
    {
	&Gadget3,
	120, 20, 112, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget2BorderA,
	NULL,
	&Gadget2Text,
	0,
	0,
	1,
	NULL
    };

/************************/
/* Gadget 1 (Edit Text) */
/************************/

struct IntuiText Gadget1Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Edit Text"
	NULL,
    };

SHORT Gadget1BorderBXY[] =
    {
	84, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	86, 14,
	86, 1,
	87, 0,
	87, 14
    };

struct Border Gadget1BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	Gadget1BorderBXY,
	NULL
    };

SHORT Gadget1BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	86, 0,
	84, 2,
	84, 13,
	85, 13,
	85, 0,
	85, 13,
	3, 13
    };

struct Border Gadget1BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	Gadget1BorderAXY,
	&Gadget1BorderB
    };

struct Gadget Gadget1 =
    {
	&Gadget2,
	20, 20, 88, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&Gadget1BorderA,
	NULL,
	&Gadget1Text,
	0,
	0,
	0,
	NULL
    };

/****************************/
/* MainWindow Definition    */
/****************************/

char Title[40];

struct Window *window;
struct NewWindow nw =
    {
	100, 50, 368, 120,
	0, 1,
	GADGETUP | VANILLAKEY | CLOSEWINDOW,
	WINDOWCLOSE | WINDOWDRAG | WINDOWDEPTH | SMART_REFRESH | NOCAREREFRESH | RMBTRAP | ACTIVATE,
	&Gadget1,
	NULL,
	Title,
	NULL,
	NULL,
	0, 0, 0, 0,
	WBENCHSCREEN
    };

/*****************/
/* LGadget Down  */
/*****************/

struct Gadget LGadgetDown =
    {
	NULL,
	170, 103, 22, 12,
	GADGHCOMP,
	GADGIMMEDIATE | RELVERIFY,
	BOOLGADGET,
	&GadgetDownBorderA,
	NULL,
	NULL
	0,
	0,
	1,
	NULL
    };

/**************/
/* LGadget Up */
/**************/

struct Gadget LGadgetUp =
    {
	&LGadgetDown,
	170, 4, 22, 12,
	GADGHCOMP,
	GADGIMMEDIATE | RELVERIFY,
	BOOLGADGET,
	&GadgetUpBorderA,
	NULL,
	NULL
	0,
	0,
	0,
	NULL
    };

/****************************/
/* ListWindow Definition    */
/****************************/

struct NewWindow lnw =
    {
	325, 92, 200, 120,
	0, 1,
	MOUSEBUTTONS | GADGETDOWN | GADGETUP,
	BORDERLESS | SMART_REFRESH | NOCAREREFRESH | RMBTRAP | ACTIVATE,
	&LGadgetUp,
	NULL,
	NULL,
	NULL,
	NULL,
	0, 0, 0, 0,
	WBENCHSCREEN
    };

/*******************/
/* NGadget3 (Name) */
/*******************/

SHORT NGadget3BorderBXY[] =
    {
	166, 1,
	3, 1,
	3, 11,
	2, 1,
	2, 12,
	1, 13,
	168, 13,
	168, 1,
	169, 0,
	169, 13
    };

struct Border NGadget3BorderB =
    {
	-5, -3,
	2, 0, JAM1,
	10,
	NGadget3BorderBXY,
	NULL
    };

SHORT NGadget3BorderAXY[] =
    {
	0, 0,
	0, 13,
	1, 12,
	1, 0,
	168, 0,
	166, 2,
	166, 12,
	167, 12,
	167, 0,
	167, 12,
	3, 12
    };

struct Border NGadget3BorderA =
    {
	-5, -3,
	1, 0, JAM1,
	11,
	NGadget3BorderAXY,
	&NGadget3BorderB
    };

char NameBuffer[42];
char UndoBuffer[42];

struct StringInfo NGadget3Info =
    {
	NameBuffer,
	UndoBuffer,
	0,
	41,
	0,
	0, 0, 0, 0, 0,
	NULL, NULL, NULL
    };

struct Gadget NGadget3 =
    {
	NULL,
	14, 9, 160, 8,
	GADGHCOMP,
	RELVERIFY,
	STRGADGET,
	&NGadget3BorderA,
	NULL,
	NULL
	0,
	&NGadget3Info,
	2,
	NULL
    };

/*********************/
/* NGadget2 (Cancel) */
/*********************/

struct IntuiText NGadget2Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Cancel"
	NULL,
    };

SHORT NGadget2BorderBXY[] =
    {
	60, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	62, 14,
	62, 1,
	63, 0,
	63, 14
    };

struct Border NGadget2BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	NGadget2BorderBXY,
	NULL
    };

SHORT NGadget2BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	62, 0,
	60, 2,
	60, 13,
	61, 13,
	61, 0,
	61, 13,
	3, 13
    };

struct Border NGadget2BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	NGadget2BorderAXY,
	&NGadget2BorderB
    };

struct Gadget NGadget2 =
    {
	&NGadget3,
	115, 24, 64, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&NGadget2BorderA,
	NULL,
	&NGadget2Text,
	0,
	0,
	1,
	NULL
    };

/*****************/
/* NGadget1 (Ok) */
/*****************/

struct IntuiText NGadget1Text =
    {
	1, 0, JAM1,
	8, 4,
	&fontdef,
	"Ok"
	NULL,
    };

SHORT NGadget1BorderBXY[] =
    {
	28, 1,
	3, 1,
	3, 12,
	2, 1,
	2, 13,
	1, 14,
	30, 14,
	30, 1,
	31, 0,
	31, 14
    };

struct Border NGadget1BorderB =
    {
	0, 0,
	2, 0, JAM1,
	10,
	NGadget1BorderBXY,
	NULL
    };

SHORT NGadget1BorderAXY[] =
    {
	0, 0,
	0, 14,
	1, 13,
	1, 0,
	30, 0,
	28, 2,
	28, 13,
	29, 13,
	29, 0,
	29, 13,
	3, 13
    };

struct Border NGadget1BorderA =
    {
	0, 0,
	1, 0, JAM1,
	11,
	NGadget1BorderAXY,
	&NGadget1BorderB
    };

struct Gadget NGadget1 =
    {
	&NGadget2,
	8, 24, 32, 15,
	GADGHCOMP,
	RELVERIFY,
	BOOLGADGET,
	&NGadget1BorderA,
	NULL,
	&NGadget1Text,
	0,
	0,
	0,
	NULL
    };

/****************************/
/* NameWindow Definition    */
/****************************/

struct NewWindow nnw =
    {
	325, 92, 188, 43,
	0, 1,
	GADGETUP,
	BORDERLESS | SMART_REFRESH | NOCAREREFRESH | RMBTRAP | ACTIVATE,
	&NGadget1,
	NULL,
	NULL,
	NULL,
	NULL,
	0, 0, 0, 0,
	WBENCHSCREEN
    };


