
/* Include File fuer das Command Programm,
   hier werden die Gadgets initialisiert. */


/* AuswahlGadgets fuer die einzellnen Menuepunkte */

 /* RamDisk Gadget */

  SHORT RamDiskVectors[]={
   0, 0,  69, 0,  69, 11,  0, 11,  0, 1
  };
  struct Border RamDiskBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)RamDiskVectors,
   NULL
  };
  struct IntuiText RamDiskText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"RAM Disk",
   NULL,
  };
  struct Gadget RamDiskGadget={
   NULL,
   333, 14, 64, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE | TOGGLESELECT,
   BOOLGADGET,
   (APTR)&RamDiskBorder,
   NULL,
   &RamDiskText,
   0, NULL, 0, NULL
  };
  
 /* Execute Gadget */

  SHORT ExecuteVectors[]={
   0, 0,  61, 0,  61, 11,  0, 11,  0, 1
  };
  struct Border ExecuteBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)ExecuteVectors,
   NULL
  };
  struct IntuiText ExecuteText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Execute",
   NULL,
  };
  struct Gadget ExecuteGadget={
   &RamDiskGadget,
   267, 14, 56, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&ExecuteBorder,
   NULL,
   &ExecuteText,
   0, NULL, 0, NULL
  };
  
 /* Link Gadget */

  SHORT LinkVectors[]={
   0, 0, 37, 0, 37, 11, 0, 11, 0, 1
  };
  struct Border LinkBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)LinkVectors,
   NULL
  };
  struct IntuiText LinkText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Link",
   NULL,
  };
  struct Gadget LinkGadget={
   &ExecuteGadget,
   225, 14, 32, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&LinkBorder,
   NULL,
   &LinkText,
   0, NULL, 0, NULL
  };
  
 /* Assemble Gadget */

  struct IntuiText AssembleText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Assemble",
   NULL,
  };
  struct Gadget AssembleGadget={
   &LinkGadget,
   151, 14, 64, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&RamDiskBorder,
   NULL,
   &AssembleText,
   0, NULL, 0, NULL
  };
  
 /* Compile Gadget */

  struct IntuiText CompileText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Compile",
   NULL,
  };
  struct Gadget CompileGadget={
   &AssembleGadget,
   85, 14, 56, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&ExecuteBorder,
   NULL,
   &CompileText,
   0, NULL, 0, NULL
  };
  
 /* Running Gadget */

  SHORT RunningVectors[]={
   0, 0,  29, 0,  29, 11,  0, 11,  0, 1
  };
  struct Border RunningBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)RunningVectors,
   NULL
  };
  struct IntuiText RunningText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Run",
   NULL,
  };
  struct Gadget RunningGadget={
   &CompileGadget,
   51, 14, 24, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&RunningBorder,
   NULL,
   &RunningText,
   0, NULL, 0, NULL
  };
  
 /* Edit Gadget */

  struct IntuiText EditText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Edit",
   NULL,
  };
  struct Gadget EditGadget={
   &RunningGadget,
   9, 14, 32, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&LinkBorder,
   NULL,
   &EditText,
   0, NULL, 0, NULL
  };
  
 /* Save Gadget */

  SHORT SaveLoadVectors[]={
   0, 0,  85, 0,  85, 11,  0, 11,  0, 1
  };
  struct Border SaveLoadBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)SaveLoadVectors,
   NULL
  };
  struct IntuiText SaveText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Save Opts.",
   NULL,
  };
  struct Gadget SaveGadget={
   &EditGadget,
   315, 30, 80, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&SaveLoadBorder,
   NULL,
   &SaveText,
   0, NULL, 0, NULL
  };
  
 /* Load Gadget */

  struct IntuiText LoadText={
   3, 2,
   JAM2,
   0, 0,
   &MyFont,
   (UBYTE *)"Load Opts.",
   NULL,
  };
  struct Gadget LoadGadget={
   &SaveGadget,
   315, 44, 80, 8,
   GADGHCOMP,
   RELVERIFY | GADGIMMEDIATE,
   BOOLGADGET,
   (APTR)&SaveLoadBorder,
   NULL,
   &LoadText,
   0, NULL, 0, NULL
  };
  

/* Undo Buffer fuer die StringGadgets */

#define MAXSTRSIZE 300
UBYTE UndoBuffer[MAXSTRSIZE];

/* String Gadget Definitionen */

 /* Border fuer Work- und MainfileGadget */

  SHORT WMfileVectors[]={
   0, 0,  222, 0,  222, 11,  0, 11,  0, 1
  };
  struct Border WMBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)WMfileVectors,
   NULL
  };

 /* WorkfileGadget */

  UBYTE WorkfileBuffer[MAXSTRSIZE];
  struct StringInfo WorkfileInfo={
   WorkfileBuffer,
   UndoBuffer,
   0,
   MAXSTRSIZE,
   0, 0, 0, 0, 0, 0, NULL, 0, NULL
  };
  struct IntuiText WorkfileText={
   3, 0,
   JAM1,
   -77, 0,
   &MyFont,
   (UBYTE *)"Workfile:",
   NULL
  };
  struct Gadget WorkfileGadget={
   &LoadGadget,
   86, 30, 220, 10,
   GADGHCOMP,
   RELVERIFY,
   STRGADGET,
   (APTR)&WMBorder,
   NULL,
   &WorkfileText,
   0,
   (APTR)&WorkfileInfo,
   0, NULL
  };

 /* MainfileGadget */

  UBYTE MainfileBuffer[MAXSTRSIZE];
  struct StringInfo MainfileInfo={
   MainfileBuffer,
   UndoBuffer,
   0,
   MAXSTRSIZE,
   0, 0, 0, 0, 0, 0, NULL, 0, NULL
  };
  struct IntuiText MainfileText={
   3, 0,
   JAM1,
   -77, 0,
   &MyFont,
   (UBYTE *)"Mainfile:",
   NULL
  };
  struct Gadget MainfileGadget={
   &WorkfileGadget,
   86, 44, 220, 10,
   GADGHCOMP,
   RELVERIFY,
   STRGADGET,
   (APTR)&WMBorder,
   NULL,
   &MainfileText,
   0,
   (APTR)&MainfileInfo,
   0, NULL
  };

 /* Border Definitionen fuer die Optionen, die hinter den Namen beim Comp-
    ilieren,Linken und Assemblieren stehen */

  SHORT CALVectors[]={
   0, 0,  205, 0,  205, 11,  0, 11,  0, 1
  };
  struct Border CALBorder={
   -3, -2,
   1, 0, JAM1,
   5,
   (SHORT *)CALVectors,
   NULL
  };

 /* Compiler Options Gadget */

  UBYTE CompOptBuffer[MAXSTRSIZE]={"-a"};
  struct StringInfo CompOptInfo={
   CompOptBuffer,
   UndoBuffer,
   0,
   MAXSTRSIZE,
   0, 0, 0, 0, 0, 0, NULL, 0, NULL
  };
  struct IntuiText CompOptText={
   3, 0,
   JAM1,
   -157, 0,
   &MyFont,
   (UBYTE *)"Compiler Optionen:",
   NULL
  };
  struct Gadget CompOptGadget={
   &MainfileGadget,
   166, 58, 200, 10,
   GADGHCOMP,
   RELVERIFY,
   STRGADGET,
   (APTR)&CALBorder,
   NULL,
   &CompOptText,
   0,
   (APTR)&CompOptInfo,
   0, NULL
  };

 /* Assembler Options Gadget */

  UBYTE AssOptBuffer[MAXSTRSIZE]={""};
  struct StringInfo AssOptInfo={
   AssOptBuffer,
   UndoBuffer,
   0,
   MAXSTRSIZE,
   0, 0, 0, 0, 0, 0, NULL, 0, NULL
  };
  struct IntuiText AssOptText={
   3, 0,
   JAM1,
   -157, 0,
   &MyFont,
   (UBYTE *)"Assembler Optionen:",
   NULL
  };
  struct Gadget AssOptGadget={
   &CompOptGadget,
   166, 72, 200, 10,
   GADGHCOMP,
   RELVERIFY,
   STRGADGET,
   (APTR)&CALBorder,
   NULL,
   &AssOptText,
   0,
   (APTR)&AssOptInfo,
   0, NULL
  };

 /* Link Options Gadget */

  UBYTE LinkOptBuffer[MAXSTRSIZE]={"-lc"};
  struct StringInfo LinkOptInfo={
   LinkOptBuffer,
   UndoBuffer,
   0,
   MAXSTRSIZE,
   0, 0, 0, 0, 0, 0, NULL, 0, NULL
  };
  struct IntuiText LinkOptText={
   3, 0,
   JAM1,
   -157, 0,
   &MyFont,
   (UBYTE *)"Linker Optionen:",
   NULL
  };
  struct Gadget LinkOptGadget={
   &AssOptGadget,
   166, 86, 200, 10,
   GADGHCOMP,
   RELVERIFY,
   STRGADGET,
   (APTR)&CALBorder,
   NULL,
   &LinkOptText,
   0,
   (APTR)&LinkOptInfo,
   0, NULL
  };

