/*----------------------------------------------------------------------* setmenus.c Version 2.0 - © Copyright 1990 Jaba Development Author : jan van den Baard Purpose: set the menus according to the screen depth and edit type in the main window *----------------------------------------------------------------------*/ static struct IntuiText fpen_text[32]; static struct IntuiText bpen_text[32]; static struct MenuItem fpen_item[32]; static struct MenuItem bpen_item[32]; static struct IntuiText pen_text = { 0,0,JAM2,20,1,NULL,(UBYTE *)" ",NULL }; static struct MenuItem pen_item = { NULL,4,0,68,10,HIGHBOX+CHECKIT+ITEMENABLED+ITEMTEXT, NULL,NULL,NULL,0,NULL,NULL }; UBYTE wbb[20]; static struct IntuiText SubText[] = { 0,1,JAM1,0,1,NULL,(UBYTE *)"C", NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Assembler",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Add a text F6",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Modify a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Delete a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Move a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Load Gadget Image F7",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Load Select Image F8",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Delete Images", NULL }; static struct IntuiText ItemText[] = { 0,1,JAM1,0,1,NULL,(UBYTE *)"About",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"New", NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Load",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Save",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Generate Source",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Preferences",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)&wbb,NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Quit",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Move a gadget F1",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Size a gadget F2",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Copy a gadget F3",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Delete a gadget F4",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Edit a gadget F5",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Gadget text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"IFF Image render",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Load (IFF) ColorMap F9",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Edit ColorMap F10",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Refresh all gadgets HELP",NULL }; static struct MenuItem SubItems[] = { &SubItems[1],150,0,108,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&SubText[0],NULL,'C',NULL,NULL, NULL,150,10,108,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&SubText[1],NULL,'A',NULL,NULL, &SubItems[3],110,0,132,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[2],NULL,NULL,NULL,NULL, &SubItems[4],110,10,132,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[3],NULL,NULL,NULL,NULL, &SubItems[5],110,20,132,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[4],NULL,NULL,NULL,NULL, NULL,110,30,132,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[5],NULL,NULL,NULL,NULL, &SubItems[7],80,0,164,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[6],NULL,NULL,NULL,NULL, &SubItems[8],80,10,164,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[7],NULL,NULL,NULL,NULL, NULL,80,20,164,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&SubText[8],NULL,NULL,NULL,NULL }; static struct MenuItem Items[] = { &Items[1],0,0,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[0],NULL,'?',NULL,NULL, &Items[2],0,10,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[1],NULL,'N',NULL,NULL, &Items[3],0,20,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[2],NULL,'L',NULL,NULL, &Items[4],0,30,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[3],NULL,'S',NULL,NULL, &Items[5],0,40,151,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[4],NULL,NULL,&SubItems[0],NULL, &Items[6],0,50,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[5],NULL,'P',NULL,NULL, &Items[7],0,60,151,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[6],NULL,NULL,NULL,NULL, NULL,0,70,151,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ItemText[7],NULL,'Q',NULL,NULL, &Items[9],0,0,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[8],NULL,NULL,NULL,NULL, &Items[10],0,10,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[9],NULL,NULL,NULL,NULL, &Items[11],0,20,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[10],NULL,NULL,NULL,NULL, &Items[12],0,30,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[11],NULL,NULL,NULL,NULL, &Items[13],0,40,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[12],NULL,NULL,NULL,NULL, &Items[14],0,50,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[13],NULL,NULL,&SubItems[2],NULL, &Items[15],0,60,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[14],NULL,NULL,&SubItems[6],NULL, &Items[16],0,70,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[15],NULL,NULL,NULL,NULL, &Items[17],0,80,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[16],NULL,NULL,NULL,NULL, NULL,0,90,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ItemText[17],NULL,NULL,NULL,NULL }; struct Menu Titles[] = { &Titles[1],0,0,60,10,MENUENABLED,(BYTE *)"Project",&Items[0],0,0,0,0, &Titles[2],60,0,60,10,MENUENABLED,(BYTE *)"Gadgets",&Items[8],0,0,0,0, &Titles[3],120,0,36,10,MENUENABLED,(BYTE *)"FPen",NULL,0,0,0,0, NULL,156,0,36,10,MENUENABLED,(BYTE *)"BPen",NULL,0,0,0,0 }; static struct IntuiText TTT[] = { 0,1,JAM1,0,1,NULL,(UBYTE *)"Add a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Modify a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Delete a text",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Move a text",NULL }; static struct IntuiText WindowText[] = { 0,1,JAM1,0,1,NULL,(UBYTE *)"Window",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Edit Flags",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Edit IDCMP",NULL }; static struct MenuItem WindowSubs[] = { &WindowSubs[1],110,0,142,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&WindowText[1],NULL,'F',NULL,NULL, &WindowSubs[2],110,10,142,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&WindowText[2],NULL,'I',NULL,NULL, &WindowSubs[3],110,20,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[0],NULL,NULL,NULL,NULL, &WindowSubs[4],110,30,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[1],NULL,NULL,NULL,NULL, &WindowSubs[5],110,40,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[2],NULL,NULL,NULL,NULL, NULL,110,50,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[3],NULL,NULL,NULL,NULL }; static struct MenuItem WindowItem = { NULL,0,100,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&WindowText[0],NULL,NULL,&WindowSubs[0],NULL }; static struct IntuiText ReqText[] = { 0,1,JAM1,0,1,NULL,(UBYTE *)"Requester",NULL, 0,1,JAM1,0,1,NULL,(UBYTE *)"Set BackFill",NULL }; static struct MenuItem ReqSubs[] = { &ReqSubs[1],110,0,142,10,ITEMENABLED+ITEMTEXT+COMMSEQ+HIGHCOMP, 0,(APTR)&ReqText[1],NULL,'B',NULL,NULL, &ReqSubs[2],110,10,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[0],NULL,NULL,NULL,NULL, &ReqSubs[3],110,20,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[1],NULL,NULL,NULL,NULL, &ReqSubs[4],110,30,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[2],NULL,NULL,NULL,NULL, NULL,110,40,142,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&TTT[3],NULL,NULL,NULL,NULL }; static struct MenuItem ReqItem = { NULL,0,100,196,10,ITEMENABLED+ITEMTEXT+HIGHCOMP, 0,(APTR)&ReqText[0],NULL,NULL,&ReqSubs[0],NULL }; extern BOOL REQUESTER, WORKBENCH, WBSCREEN; extern USHORT FrontPen, BackPen; /* * set the extra window or requester items */ VOID set_extra_items(w) struct Window *w; { ClearMenuStrip(w); if(REQUESTER == TRUE) Items[17].NextItem = &ReqItem; else Items[17].NextItem = &WindowItem; SetMenuStrip(w,&Titles[0]); } /* * set up the menu strip for the edit window */ VOID SetMenu(window) struct Window *window; { register COUNT i; SHORT am_col = (1 << window->WScreen->BitMap.Depth); LONG mutexf = NULL, mutexb = NULL; for(i=0;i