
/* filereq.c */

/* created with PowerWindows 2.0 for use as a general purpose file
   name requester */

UBYTE DrWFileNameGadSIBuff[33];

struct StringInfo DrWFileNameGadSInfo = {
    DrWFileNameGadSIBuff,
    NULL,
    0,
    33,
    0,
    0,0,0,0,0,
    0,
    0,
    NULL
};

SHORT DrWBorderVectors1[] = {
    -2,-2,
    242,-2,
    242,9,
    -2,9,
    -2,-2
};
struct Border DrWBorder1 = {
    0,0,
    1,0,JAM1,
    5,
    DrWBorderVectors1,
    NULL
};

struct IntuiText DrWIText1 = {
    1,0,JAM1,
    -40,0,
    NULL,
    (UBYTE *)"file",
    NULL
};

struct Gadget DrWFileNameGad = {
    NULL,
    60,85,
    240,10,
    NULL,
    RELVERIFY,
    STRGADGET,
    (APTR)&DrWBorder1,
    NULL,
    &DrWIText1,
    NULL,
    (APTR)&DrWFileNameGadSInfo,
    FILENAME,
    NULL
};

struct IntuiText DrWIText2 = {
    2,1,JAM2,
    0,1,
    NULL,
    (UBYTE *)"",
    NULL
};

struct Gadget DrWDE5Gad = {
    &DrWFileNameGad,
    10,70,
    270,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    NULL,
    NULL,
    &DrWIText2,
    NULL,
    NULL,
    DIR_ENT5,
    NULL
};

struct IntuiText DrWIText3 = {
    2,1,JAM2,
    0,1,
    NULL,
    (UBYTE *)"",
    NULL
};

struct Gadget DrWDE4Gad = {
    &DrWDE5Gad,
    10,60,
    270,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    NULL,
    NULL,
    &DrWIText3,
    NULL,
    NULL,
    DIR_ENT4,
    NULL
};

struct IntuiText DrWIText4 = {
    2,1,JAM2,
    0,1,
    NULL,
    (UBYTE *)"",
    NULL
};

struct Gadget DrWDE3Gad = {
    &DrWDE4Gad,
    10,50,
    270,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    NULL,
    NULL,
    &DrWIText4,
    NULL,
    NULL,
    DIR_ENT3,
    NULL
};

struct IntuiText DrWIText5 = {
    2,1,JAM2,
    0,1,
    NULL,
    (UBYTE *)"",
    NULL
};

struct Gadget DrWDE2Gad = {
    &DrWDE3Gad,
    10,40,
    270,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    NULL,
    NULL,
    &DrWIText5,
    NULL,
    NULL,
    DIR_ENT2,
    NULL
};

struct IntuiText DrWIText6 = {
    2,1,JAM2,
    0,1,
    NULL,
    (UBYTE *)"",
    NULL
};

struct Gadget DrWDE1Gad = {
    &DrWDE2Gad,
    10,30,
    270,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    NULL,
    NULL,
    &DrWIText6,
    NULL,
    NULL,
    DIR_ENT1,
    NULL
};

UBYTE DrWPathGadSIBuff[50] =
    "df0:";
struct StringInfo DrWPathGadSInfo = {
    DrWPathGadSIBuff,
    NULL,
    0,
    50,
    0,
    0,0,0,0,0,
    0,
    0,
    NULL
};

struct IntuiText DrWIText7 = {
    2,0,JAM1,
    -60,0,
    NULL,
    (UBYTE *)"Drawer",
    NULL
};

struct Gadget DrWPathGad = {
    &DrWDE1Gad,
    80,19,
    190,10,
    NULL,
    RELVERIFY,
    STRGADGET,
    NULL,
    NULL,
    &DrWIText7,
    NULL,
    (APTR)&DrWPathGadSInfo,
    PATH,
    NULL
};

struct PropInfo DrWDirPropGadSInfo = {
    AUTOKNOB+FREEVERT,
    0,23093,
    1,4369
};

struct Image DrWImage1 = {
    0,18,
    12,4,
    0,
    NULL,
    0x0000,0x0000,
    NULL
};

struct Gadget DrWDirPropGad = {
    &DrWPathGad,
    281,20,
    20,60,
    NULL,
    GADGIMMEDIATE+FOLLOWMOUSE,
    PROPGADGET,
    (APTR)&DrWImage1,
    NULL,
    NULL,
    NULL,
    (APTR)&DrWDirPropGadSInfo,
    DIR_PROP,
    NULL
};


SHORT DH0BVects[] = {
    0,0,
    42,0,
    42,12,
    0,12,
    0,0
};
struct Border DH0Border = {
    -2,-1,    /* XY origin relative to container TopLeft */
    2,0,JAM1,    /* front pen, back pen and drawmode */
    5,    /* number of XY vectors */
    DH0BVects,    /* pointer to XY vectors */
    NULL    /* next border in list */
};

struct IntuiText DH0IText = {
    2,0,JAM1,    /* front and back text pens, drawmode and fill byte */
    5,2,    /* XY origin relative to container TopLeft */
    NULL,    /* font pointer or NULL for default */
    (UBYTE *)"dh0:",    /* pointer to text */
    NULL    /* next IntuiText structure */
};

struct Gadget DrWDH0Gad = {
    &DrWDirPropGad,
    191,100,    /* origin XY of hit box relative to window TopLeft */
    39,11,    /* hit box width and height */
    NULL,    /* gadget flags */
    RELVERIFY,    /* activation flags */
    BOOLGADGET,    /* gadget type flags */
    (APTR)&DH0Border,    /* gadget border or image to be rendered */
    NULL,    /* alternate imagery for selection */
    &DH0IText,    /* first IntuiText structure */
    NULL,    /* gadget mutual-exclude long word */
    NULL,    /* SpecialInfo structure */
    DH0_GAD,    /* user-definable data */
    NULL    /* pointer to user-definable data */
};

SHORT DF1BVects[] = {
    0,0,
    42,0,
    42,12,
    0,12,
    0,0
};

struct Border DF1Border = {
    -2,-1,    /* XY origin relative to container TopLeft */
    2,0,JAM1,    /* front pen, back pen and drawmode */
    5,    /* number of XY vectors */
    DF1BVects,    /* pointer to XY vectors */
    NULL    /* next border in list */
};

struct IntuiText DF1IText = {
    2,0,JAM1,    /* front and back text pens, drawmode and fill byte */
    5,2,    /* XY origin relative to container TopLeft */
    NULL,    /* font pointer or NULL for default */
    (UBYTE *)"df1:",    /* pointer to text */
    NULL    /* next IntuiText structure */
};

struct Gadget DrWDF1Gad = {
    &DrWDH0Gad,    /* next gadget */
    140,100,    /* origin XY of hit box relative to window TopLeft */
    39,11,    /* hit box width and height */
    NULL,    /* gadget flags */
    RELVERIFY,    /* activation flags */
    BOOLGADGET,    /* gadget type flags */
    (APTR)&DF1Border,    /* gadget border or image to be rendered */
    NULL,    /* alternate imagery for selection */
    &DF1IText,    /* first IntuiText structure */
    NULL,    /* gadget mutual-exclude long word */
    NULL,    /* SpecialInfo structure */
    DF1_GAD,    /* user-definable data */
    NULL    /* pointer to user-definable data */
};

SHORT DF0BVects[] = {
    0,0,
    42,0,
    42,12,
    0,12,
    0,0
};

struct Border DF0Border = {
    -2,-1,    /* XY origin relative to container TopLeft */
    2,0,JAM1,    /* front pen, back pen and drawmode */
    5,    /* number of XY vectors */
    DF0BVects,    /* pointer to XY vectors */
    NULL    /* next border in list */
};

struct IntuiText DF0IText = {
    2,0,JAM1,    /* front and back text pens, drawmode and fill byte */
    5,2,    /* XY origin relative to container TopLeft */
    NULL,    /* font pointer or NULL for default */
    (UBYTE *)"df0:",    /* pointer to text */
    NULL    /* next IntuiText structure */
};

struct Gadget DrWDF0Gad = {
    &DrWDF1Gad,    /* next gadget */
    91,100,    /* origin XY of hit box relative to window TopLeft */
    39,11,    /* hit box width and height */
    NULL,    /* gadget flags */
    RELVERIFY,    /* activation flags */
    BOOLGADGET,    /* gadget type flags */
    (APTR)&DF0Border,    /* gadget border or image to be rendered */
    NULL,    /* alternate imagery for selection */
    &DF0IText,    /* first IntuiText structure */
    NULL,    /* gadget mutual-exclude long word */
    NULL,    /* SpecialInfo structure */
    DF0_GAD,    /* user-definable data */
    NULL    /* pointer to user-definable data */
};

SHORT DrWBorderVectors3[] = {
    2,-2,
    48,-2,
    52,2,
    52,7,
    48,11,
    2,11,
    -2,7,
    -2,2,
    2,-2
};

struct Border DrWBorder3 = {
    0,0,
    2,3,JAM1,
    9,
    DrWBorderVectors3,
    NULL
};

SHORT DrWBorderVectors2[] = {
    0,0,
    50,0,
    50,9,
    0,9,
    0,0
};

struct Border DrWBorder2 = {
    0,0,
    3,3,JAM1,
    5,
    DrWBorderVectors2,
    &DrWBorder3
};

struct IntuiText DrWIText8 = {
    2,0,JAM1,
    1,1,
    NULL,
    (UBYTE *)"Cancel",
    NULL
};

struct Gadget DrWCancelGad = {
    &DrWDF0Gad,
    250,100,
    50,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    (APTR)&DrWBorder2,
    NULL,
    &DrWIText8,
    NULL,
    NULL,
    CANCEL,
    NULL
};

SHORT DrWBorderVectors5[] = {
    2,-2,
    48,-2,
    52,2,
    52,7,
    48,11,
    2,11,
    -2,7,
    -2,2,
    2,-2
};
struct Border DrWBorder5 = {
    0,0,
    2,3,JAM1,
    9,
    DrWBorderVectors5,
    NULL
};

SHORT DrWBorderVectors4[] = {
    0,0,
    50,0,
    50,9,
    0,9,
    0,0
};
struct Border DrWBorder4 = {
    0,0,
    3,3,JAM1,
    5,
    DrWBorderVectors4,
    &DrWBorder5
};

struct IntuiText DrWIText9 = {
    2,0,JAM1,
    1,1,
    NULL,
    (UBYTE *)"  OK",
    NULL
};

struct Gadget DrWOKGad = {
    &DrWCancelGad,
    20,100,
    50,10,
    NULL,
    RELVERIFY,
    BOOLGADGET,
    (APTR)&DrWBorder4,
    NULL,
    &DrWIText9,
    NULL,
    NULL,
    OK_GAD,
    NULL
};

#define DrWGadgetList1 DrWOKGad

struct NewWindow DrWNewWindowStructure1 = {
    160,30,
    320,120,
    0,1,
    MOUSEBUTTONS+MOUSEMOVE+GADGETDOWN+GADGETUP,
    WINDOWDRAG+ACTIVATE+RMBTRAP,
    &DrWOKGad,
    NULL,
    (UBYTE *)"DirWindow",
    NULL,
    NULL,
    320,120,
    320,120,
    WBENCHSCREEN
};


void HandleEvent(object)
APTR object;
{
  if (object == (APTR)&DrWDF0Gad) { DF0Hit(object); return; }
  if (object == (APTR)&DrWDF1Gad) { DF1Hit(object); return; }
  if (object == (APTR)&DrWDH0Gad) { DH0Hit(object); return; }
  if (object == (APTR)&DrWOKGad) { OKHit(object); return; }
  if (object == (APTR)&DrWCancelGad) { CancelHit(object); return; }
  if (object == (APTR)&DrWDirPropGad) { DirProp(object); return; }
  if (object == (APTR)&DrWPathGad) { Path(object); return; }
  if (object == (APTR)&DrWDE1Gad) { DirEnt(object); return; }
  if (object == (APTR)&DrWDE2Gad) { DirEnt(object); return; }
  if (object == (APTR)&DrWDE3Gad) { DirEnt(object); return; }
  if (object == (APTR)&DrWDE4Gad) { DirEnt(object); return; }
  if (object == (APTR)&DrWDE5Gad) { DirEnt(object); return; }
  if (object == (APTR)&DrWFileNameGad) { FileName(object); return; }
}
#define HANDLEEVENT HandleEvent

/* end of PowerWindows source generation */
