/*
 * Key Map Editor File Requester
 *
 * by: Tim Friest
 * on: January 5, 1989
 * using: Power Windows 2.5
 */

struct Image NameGadImage = {
	0,0,	/* origin */
	174,8,	/* width and height */
	2,	/* number of bitplanes */
	NULL,	/* pointer to ImageData */
	0x0000,0x0000,	/* PlanePick and PlaneOnOff */
	NULL	/* next Image */
};

struct IntuiText Name6IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name6Gadget = {
	NULL,	/* next gadget */
	26,61,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name6IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x16,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name5IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name5Gadget = {
	&Name6Gadget,	/* next gadget */
	26,52,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name5IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x15,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name4IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name4Gadget = {
	&Name5Gadget,	/* next gadget */
	26,43,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name4IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x14,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name3IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name3Gadget = {
	&Name4Gadget,	/* next gadget */
	26,34,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name3IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x13,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name2IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name2Gadget = {
	&Name3Gadget,	/* next gadget */
	26,25,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name2IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x12,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name1IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name1Gadget = {
	&Name2Gadget,	/* next gadget */
	26,16,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name1IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x11,	/* GadgetID */
	NULL	/* user data */
};

struct IntuiText Name0IText = {
	1,0,JAM1,	/* FrontPen, BackPen, Draw Mode */
	1,0,	/* Left and Top Offsets */
	NULL,	/* Text Attribute */
	NULL,	/* text buffer */
	NULL,	/* Next IntuiText */
};

struct Gadget Name0Gadget = {
	&Name1Gadget,	/* next gadget */
	26,7,	/* origin of hit box */
	174,8,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&NameGadImage,	/* render image */
	NULL,	/* select image */
	&Name0IText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x10,	/* GadgetID */
	NULL	/* user data */
};

UBYTE FileNameBuff[30];
UBYTE UndoBuffer[30];

struct StringInfo NameStrGadSInfo = {
	FileNameBuff,	/* text buffer */
	UndoBuffer,	/* undo buffer */
	0,	/* character position in buffer */
	30,	/* maximum number of characters to allow */
	0,	/* first displayed character buffer position */
	0,0,0,0,0,	/* reserved to Intuition */
	0,	/* Rastport of gadget */
	0,	/* initial value for integer gadgets */
	NULL	/* alternate keymap */
};

SHORT NameStrGadBorderVectors[] = {
	0,0,
	192,0,
	192,10,
	0,10,
	0,0
};
struct Border NameStrGadBorder = {
	-1,-1,	/* origin */
	1,0,JAM1,	/* front pen, back pen and drawmode */
	5,	/* number of vectors */
	NameStrGadBorderVectors,	/* pointer to vectors */
	NULL	/* next border */
};

struct Gadget NameStrGadget = {
	&Name0Gadget,	/* next gadget */
	25,76,	/* origin of hit box */
	191,9,	/* hit box width and height */
	NULL,	/* flags */
	RELVERIFY|STRINGCENTER,	/* activation flags */
	STRGADGET|REQGADGET,	/* type flags */
	(APTR)&NameStrGadBorder,	/* render border */
	NULL,	/* select image */
	NULL,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	(APTR)&NameStrGadSInfo,	/* SpecialInfo */
	0x05,	/* GadgetID */
	NULL	/* user data */
};

USHORT chip UpSlideGadImageData[] = {
	0xFFFF,0x8000,0x8080,0x8000,0x81C0,0x8000,0x87F0,0x8000,
	0x9FFC,0x8000,0xBFFE,0x8000,0x83E0,0x8000,0x83E0,0x8000,
	0xFFFF,0x8000
};

struct Image UpSlideGadImage = {
	-1,-1,	/* origin */
	17,9,	/* width and height */
	2,	/* number of bitplanes */
	UpSlideGadImageData,	/* pointer to ImageData */
	0x0001,0x0000,	/* PlanePick and PlaneOnOff */
	NULL	/* next Image */
};

struct Gadget UpSlideGadget = {
	&NameStrGadget,	/* next gadget */
	202,4,	/* origin of hit box */
	15,7,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	GADGIMMEDIATE|RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&UpSlideGadImage,	/* border or render image */
	NULL,	/* select image */
	NULL,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x04,	/* GadgetID */
	NULL	/* user data */
};

USHORT chip DownSlideGadImageData[] = {
	0xFFFF,0x8000,0x83E0,0x8000,0x83E0,0x8000,0xBFFE,0x8000,
	0x9FFC,0x8000,0x87F0,0x8000,0x81C0,0x8000,0x8080,0x8000,
	0xFFFF,0x8000
};

struct Image DownSlideGadImage = {
	-1,-1,	/* origin */
	17,9,	/* width and height */
	2,	/* number of bitplanes */
	DownSlideGadImageData,	/* pointer to ImageData */
	0x0001,0x0000,	/* PlanePick and PlaneOnOff */
	NULL	/* next Image */
};

struct Gadget DownSlideGadget = {
	&UpSlideGadget,	/* next gadget */
	202,65,	/* origin of hit box */
	15,7,	/* hit box width and height */
	GADGHCOMP|GADGIMAGE,	/* flags */
	GADGIMMEDIATE|RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&DownSlideGadImage,	/* border or render image */
	NULL,	/* select image */
	NULL,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x03,	/* GadgetID */
	NULL	/* user data */
};

struct PropInfo SliderGadPInfo = {
	AUTOKNOB|FREEVERT,	/* PropInfo flags */
	-1,-1,	/* horizontal and vertical pot values */
	-1,-1,	/* horizontal and vertical body values */
};

struct Image SliderGadImage = {
	0,0,	/* origin */
	9,48,	/* width and height */
	0,	/* number of bitplanes */
	NULL,	/* pointer to ImageData */
	0x0000,0x0000,	/* PlanePick and PlaneOnOff */
	NULL	/* next Image */
};

struct Gadget SliderGadget = {
	&DownSlideGadget,	/* next gadget */
	201,12,	/* origin of hit box */
	17,52,	/* hit box width and height */
	GADGHCOMP,	/* flags */
	RELVERIFY,	/* activation flags */
	PROPGADGET|REQGADGET,	/* type flags */
	(APTR)&SliderGadImage,	/* border or render image */
	NULL,	/* select image */
	NULL,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	(APTR)&SliderGadPInfo,	/* SpecialInfo */
	0x02,	/* GadgetID */
	NULL	/* user data */
};

SHORT CancelGadBorderVectors[] = {
	0,0,
	59,0,
	59,12,
	0,12,
	0,0
};
struct Border CancelGadBorder = {
	-1,-1,	/* origin */
	1,0,JAM1,	/* front pen, back pen and drawmode */
	5,	/* number of vectors */
	CancelGadBorderVectors,	/* pointer to vectors */
	NULL	/* next border */
};

struct IntuiText CancelGadIText = {
	3,0,JAM2,	/* front and back text pens, drawmode and fill byte */
	6,2,	/* origin */
	NULL,	/* font pointer or NULL for default */
	"Cancel",	/* pointer to text */
	NULL	/* next IntuiText */
};

struct Gadget CancelGadget = {
	&SliderGadget,	/* next gadget */
	141,89,	/* origin of hit box */
	58,11,	/* hit box width and height */
	GADGHCOMP,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&CancelGadBorder,	/* border or render image */
	NULL,	/* select image */
	&CancelGadIText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x00,	/* GadgetID */
	NULL	/* user data */
};

SHORT ContinueGadBorderVectors[] = {
	0,0,
	57,0,
	57,12,
	0,12,
	0,0
};
struct Border ContinueGadBorder = {
	-1,-1,	/* origin */
	1,0,JAM1,	/* front pen, back pen and drawmode */
	5,	/* number of vectors */
	ContinueGadBorderVectors,	/* pointer to vectors */
	NULL	/* next border */
};

struct IntuiText ContinueGadIText = {
	3,0,JAM2,	/* front and back text pens, drawmode and fill byte */
	11,2,	/* origin */
	NULL,	/* font pointer or NULL for default */
	NULL,	/* pointer to text */
	NULL	/* next IntuiText */
};

struct Gadget ContinueGadget = {
	&CancelGadget,	/* next gadget */
	43,89,	/* origin of hit box */
	56,11,	/* hit box width and height */
	GADGHCOMP,	/* flags */
	RELVERIFY,	/* activation flags */
	BOOLGADGET|REQGADGET,	/* type flags */
	(APTR)&ContinueGadBorder,	/* border or render image */
	NULL,	/* select image */
	&ContinueGadIText,	/* first IntuiText */
	NULL,	/* mutual-exclude (unused) */
	NULL,	/* SpecialInfo */
	0x01,	/* GadgetID */
	NULL	/* user data */
};

USHORT FileBorderVectors[] = {
	175,0,
	0,0,
	0,69,
	175,69
};
struct Border FileBorder = {
	25,3,	/* origin */
	1,0,JAM1,	/* front pen, back pen and drawmode */
	4,	/* number of vectors */
	FileBorderVectors,	/* pointer to vectors */
	NULL	/* next border */
};

#define FileReqGadgetList &ContinueGadget

struct Requester FileRequester = {
	NULL,	/* previous requester (filled in by Intuition) */
	1,10,	/* origin */
	243,104,	/* width and height */
	0,0,	/* relative to these mouse offsets if POINTREL is set */
	FileReqGadgetList,	/* list */
	&FileBorder,	/* box's border */
	NULL,	/* text */
	NULL,	/* flags */
	0,	/* back-plane fill pen */
	NULL,	/* reserved */
	NULL,	/* custom bitmap if PREDRAWN is set */
	NULL	/* reserved */
};

#define	FRWLEFTEDGE	115
#define FRWTOPEDGE	25

struct NewWindow NewFileReqWindow = {
	FRWLEFTEDGE,FRWTOPEDGE,	/* origin */
	245,115,	/* width and height */
	0,1,	/* detail & block pens */
	REQSET|GADGETDOWN|GADGETUP,	/* IDCMP Flags */
	WINDOWDRAG|ACTIVATE|NOCAREREFRESH,	/* Flags */
	NULL,	/* list */
	NULL,	/* Checkmark Image */
	"Key Map Editor - Filer",	/* title */
	NULL,
	NULL,
	245,115,	/* Min width & height */
	-1,-1,	/* Max width & height */
	WBENCHSCREEN
};

#define NameGadgetList	&Name0Gadget
#define NameGadgetListLen	7
