home *** CD-ROM | disk | FTP | other *** search
- /* modengine1.h
- * Copyright (C) 1990 Commodore-Amiga, Inc.
- * written by David N. Junod
- *
- * header file for modengine1.c
- * application-specific arrays & definitions
- *
- */
-
- /* Modular Function ID's */
- enum
- {
- NewID = 1,
- OpenID,
- SaveID,
- SaveAsID,
- AboutID,
- QuitID,
- ChooseID,
- DefineID,
- UndoID,
- HelpID,
- ArrowID,
- ShellID,
- Macro1ID,
- WindowID,
- AbortID,
- LAST_ID
- };
-
- /* Modular Function Table */
- struct Funcs FTable[] =
- {
- {NULL, NO_FUNCTION}, /* padding, for alignment */
- {"NEW", NewFunc},
- {"OPEN", OpenFunc},
- {"SAVE", SaveFunc},
- {"SAVEAS", SaveAsFunc},
- {"ABOUT", AboutFunc},
- {"QUIT", QuitFunc},
- {"CHOOSE", ChooseFunc},
- {"DEFINE", DefineFunc},
- {"UNDO", UndoFunc},
- {"HELP", HelpFunc},
- {"ARROW", ArrowFunc},
- {"SHELL", ShellFunc},
- {"MACRO1", NO_FUNCTION}, /* calls an ARexx macro */
- {"WINDOW", WindowFunc},
- {"ABORT", AbortFunc},
- {NULL, NO_FUNCTION} /* end of array */
- };
-
- /* Text attribute to use for our text */
- struct TextAttr Topaz80 = {"topaz.font", 8, NULL, NULL};
-
- /* The menu structures for our 'application' */
- struct IntuiText UserT[] =
- {
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "Command Shell", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "ARexx Macro 1", NULL}
- };
-
- /* MenuItem structure using our extended structure */
- struct EMenuItem UserI[] =
- {
- {NULL, 0, 0, 168, 9,
- ITEMTEXT | COMMSEQ | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & UserT[0], NULL, 'E', NULL, MENUNULL, ShellID, NULL},
-
- {&UserI[0].emi_Item, 0, 9, 168, 9,
- ITEMTEXT | COMMSEQ | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & UserT[1], NULL, '1', NULL, MENUNULL, Macro1ID, NULL}
- };
-
- /* Text for our Menu Items */
- struct IntuiText ProjT[] =
- {
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "New", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "Open...", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "Save", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "Save As...", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "About...", NULL},
- {2, 1, COMPLEMENT, 2, 1, &Topaz80, "Quit", NULL}
- };
-
- /* Extended Menu Item structures for our Application */
- struct EMenuItem ProjI[] =
- {
- {NULL, 0, 51, 148, 9,
- ITEMTEXT | COMMSEQ | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[5], NULL, 'Q', NULL, MENUNULL, QuitID, NULL},
- {&ProjI[0].emi_Item, 0, 40, 148, 9,
- ITEMTEXT | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[4], NULL, NULL, NULL, MENUNULL, AboutID, NULL},
- {&ProjI[1].emi_Item, 0, 29, 148, 9,
- ITEMTEXT | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[3], NULL, NULL, NULL, MENUNULL, SaveAsID, NULL},
- {&ProjI[2].emi_Item, 0, 20, 148, 9,
- ITEMTEXT | COMMSEQ | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[2], NULL, 'S', NULL, MENUNULL, SaveID, NULL},
- {&ProjI[3].emi_Item, 0, 9, 148, 9,
- ITEMTEXT | COMMSEQ | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[1], NULL, 'O', NULL, MENUNULL, OpenID, NULL},
- {&ProjI[4].emi_Item, 0, 0, 148, 9,
- ITEMTEXT | ITEMENABLED | HIGHCOMP,
- 0, (APTR) & ProjT[0], NULL, NULL, NULL, MENUNULL, NewID, NULL}
- };
-
- /* Menu structure */
- struct Menu Menu2 =
- {NULL, 70, 0, 87, 0, MENUENABLED, "User", &UserI[1].emi_Item};
- struct Menu Menu1 =
- {&Menu2, 0, 0, 63, 0, MENUENABLED, "Project", &ProjI[5].emi_Item};
-
- /* Text for our Gadgets */
- struct IntuiText GadgT[] =
- {
- {2, 1, JAM2, 2, 1, &Topaz80, " DownPress ", NULL},
- {2, 1, JAM2, 2, 1, &Topaz80, " Hold (Drag) ", NULL},
- {2, 1, JAM2, 2, 1, &Topaz80, " Release ", NULL},
- {2, 1, JAM2, 2, 1, &Topaz80, " Double-Click ", NULL},
- {2, 1, JAM2, 2, 1, &Topaz80, " ARexx Macro ", NULL}
- };
-
- /* extended Gadgets structures for our application */
- struct EGadget Gadg[] =
- {
- {NULL, 67, 15, 115, 10, NULL, GADGIMMEDIATE | RELVERIFY,
- BOOLGADGET, NULL, NULL, &GadgT[0], NULL, NULL, NULL, NULL,
- ChooseID, NO_FUNCTION, NO_FUNCTION, NO_FUNCTION, NO_FUNCTION},
-
- {&Gadg[0].eg_Gadget, 67, 29, 115, 10, NULL, GADGIMMEDIATE | RELVERIFY,
- BOOLGADGET, NULL, NULL, &GadgT[1], NULL, NULL, NULL, NULL,
- ArrowID, ArrowID, NO_FUNCTION, NO_FUNCTION, AbortID},
-
- {&Gadg[1].eg_Gadget, 67, 43, 115, 10, NULL, GADGIMMEDIATE | RELVERIFY,
- BOOLGADGET, NULL, NULL, &GadgT[2], NULL, NULL, NULL, NULL,
- NO_FUNCTION, NO_FUNCTION, UndoID, NO_FUNCTION, NO_FUNCTION},
-
- {&Gadg[2].eg_Gadget, 67, 58, 115, 10, NULL, GADGIMMEDIATE | RELVERIFY,
- BOOLGADGET, NULL, NULL, &GadgT[3], NULL, NULL, NULL, NULL,
- ChooseID, NO_FUNCTION, NO_FUNCTION, DefineID, NO_FUNCTION},
-
- {&Gadg[3].eg_Gadget, 67, 73, 115, 10, NULL, GADGIMMEDIATE | RELVERIFY,
- BOOLGADGET, NULL, NULL, &GadgT[4], NULL, NULL, NULL, NULL,
- NO_FUNCTION, NO_FUNCTION, Macro1ID, NO_FUNCTION, NO_FUNCTION}
- };
-
- /* Set up the keyboard function map. If you are a word processor,
- * then you could set up all the text-related keys to the same
- * function. */
- struct KeyboardCMD KeyArray[] =
- {
- {'u', UndoID}, /* u will call the Undo function */
- {ESC, QuitID}, /* ESC to quit */
- {HELP, HelpID}, /* HELP to call the help function */
- {UP, ArrowID}, /* Up arrow */
- {DOWN, ArrowID}, /* Down arrow */
- {FUNC1,Macro1ID}, /* Call an ARexx macro */
- {NULL, NO_FUNCTION} /* end of array */
- };
-
- /* NewWindow structure */
- struct NewWindow NewWindow =
- {
- 0, 10, 250, 90, 2, 1,
- NULL,
- WINDOWDRAG | WINDOWDEPTH | WINDOWCLOSE | ACTIVATE | NOCAREREFRESH
- | REPORTMOUSE,
- &Gadg[4].eg_Gadget, NULL, APPNAME, NULL, NULL,
- 60, 30, 1024, 1024, WBENCHSCREEN,
- };
-