/***************************************************** * Menu Definitions * * * * Created with Menu Creator * * by * * David Pehrson * * * * Copyright (C) 1986 David Pehrson * * Mantis Development * * * * Modified for Comm program Djj * *****************************************************/ /* Comm menu handler routines */ #define MENUS 1 #include "globals.h" #define SYSMAX 6 #define MAXMENU 6 static USHORT editphone; struct IntuiText PhoneText[] = { { 3, 1, JAM1, 0, 1, 0, (UBYTE *)"Hang up", NULL }, { 3, 1, JAM1, 0, 1, 0, (UBYTE *)" Alt Service", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[0].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[1].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[2].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[3].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[4].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[5].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[6].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[7].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[8].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[9].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[10].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[11].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[12].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[13].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[14].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[15].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[16].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[17].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[18].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[19].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[20].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[21].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[22].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[23].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[24].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[25].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[26].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[27].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[28].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[29].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[30].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[31].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[32].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[33].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[34].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[35].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[36].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[37].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[38].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[39].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[40].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[41].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[42].name, NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)&pdir[43].name, NULL } }; struct IntuiText EolText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" TX EOL = CR", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" TX EOL = CR/LF", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" RX EOL = CR", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" RX EOL = CR/LF", NULL } }; struct IntuiText BaudText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 300", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 1200", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 2400", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 4800", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 9600", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 19200", NULL } }; struct IntuiText ParityText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" None", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Odd", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Even", NULL } }; struct IntuiText LengthText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 8 bits", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 7 bits", NULL } }; struct IntuiText StopText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 1 bit", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" 2 bits", NULL } }; struct IntuiText DuplexText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Full", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Half", NULL } }; struct IntuiText KeyText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Load file ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Save file ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Edit Macro ", NULL } }; struct IntuiText PlibText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Load file ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Save file ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Edit file ", NULL } }; struct IntuiText AltFiletxt[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Start ASCII Capture", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Start ASCII Send", NULL }, { 3, 1, JAM1, 0, 1, 0, (UBYTE *)" Stop ASCII Capture", NULL }, { 3, 1, JAM1, 0, 1, 0, (UBYTE *)" Stop ASCII Send", NULL }, }; struct IntuiText FileText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" XMODEM Receive", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"WXMODEM Receive", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" XMODEM Transmit", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" XMODEM Text Send", NULL }, { 3, 1, JAM1, 0, 1, 0, (UBYTE *)" QUIT Comm", NULL }, }; struct IntuiText SysText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Split Screen", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" View Transfers", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Chop Files", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" End of Line", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Key Macro", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Phone Dir", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Title Bar", NULL } }; struct IntuiText ModeText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Checksum", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" CRC", NULL } }; struct IntuiText SerialText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Baud Rate", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Parity", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Data Length", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Stop Bits", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Duplex", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"XON / XOFF", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)"Send Break", NULL } }; struct IntuiText XonText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Turned off", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Automatic", NULL }, }; struct IntuiText TitleText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Off", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" On" , NULL }, }; struct IntuiText DebugText[] = { { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Don't mask parity", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Show HEX chars", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" ", NULL }, { 0, 1, JAM1, 0, 1, 0, (UBYTE *)" Show Protocol chars", NULL } }; struct MenuItem PhoneItem[ MAXPHONE+2 ] = { { &PhoneItem[1], 0, 1, 116, 8, ITEMENABLED | ITEMTEXT | HIGHBOX, 0, (APTR)&PhoneText[0], NULL, 'H', NULL, NULL }, { &PhoneItem[2], 121, 1, 164, 8, ITEMENABLED | ITEMTEXT | HIGHBOX | CHECKIT, 0, (APTR)&PhoneText[1], NULL, 'A', NULL, NULL }, { &PhoneItem[3], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[2], NULL, '1', NULL, NULL }, { &PhoneItem[4], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[3], NULL, '2', NULL, NULL }, { &PhoneItem[5], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[4], NULL, '3', NULL, NULL }, { &PhoneItem[6], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[5], NULL, '4', NULL, NULL }, { &PhoneItem[7], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[6], NULL, '5', NULL, NULL }, { &PhoneItem[8], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[7], NULL, '6', NULL, NULL }, { &PhoneItem[9], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[8], NULL, '7', NULL, NULL }, { &PhoneItem[10], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[9], NULL, '8', NULL, NULL }, { &PhoneItem[11], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[10], NULL, '9', NULL, NULL }, { &PhoneItem[12], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[11], NULL, '0', NULL, NULL }, { &PhoneItem[13], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[12], NULL, NULL, NULL, NULL }, { &PhoneItem[14], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[13], NULL, NULL, NULL, NULL }, { &PhoneItem[15], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[14], NULL, NULL, NULL, NULL }, { &PhoneItem[16], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[15], NULL, NULL, NULL, NULL }, { &PhoneItem[17], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[16], NULL, NULL, NULL, NULL }, { &PhoneItem[18], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[17], NULL, NULL, NULL, NULL }, { &PhoneItem[19], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[18], NULL, NULL, NULL, NULL }, { &PhoneItem[20], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[19], NULL, NULL, NULL, NULL }, { &PhoneItem[21], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[20], NULL, NULL, NULL, NULL }, { &PhoneItem[22], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[21], NULL, NULL, NULL, NULL }, { &PhoneItem[23], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[22], NULL, NULL, NULL, NULL }, { &PhoneItem[24], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[23], NULL, NULL, NULL, NULL }, { &PhoneItem[25], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[24], NULL, NULL, NULL, NULL }, { &PhoneItem[26], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[25], NULL, NULL, NULL, NULL }, { &PhoneItem[27], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[26], NULL, NULL, NULL, NULL }, { &PhoneItem[28], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[27], NULL, NULL, NULL, NULL }, { &PhoneItem[29], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[28], NULL, NULL, NULL, NULL }, { &PhoneItem[30], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[29], NULL, NULL, NULL, NULL }, { &PhoneItem[31], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[30], NULL, NULL, NULL, NULL }, { &PhoneItem[32], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[31], NULL, NULL, NULL, NULL }, { &PhoneItem[33], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[32], NULL, NULL, NULL, NULL }, { &PhoneItem[34], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[33], NULL, NULL, NULL, NULL }, { &PhoneItem[35], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[34], NULL, NULL, NULL, NULL }, { &PhoneItem[36], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[35], NULL, NULL, NULL, NULL }, { &PhoneItem[37], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[36], NULL, NULL, NULL, NULL }, { &PhoneItem[38], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[37], NULL, NULL, NULL, NULL }, { &PhoneItem[39], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[38], NULL, NULL, NULL, NULL }, { &PhoneItem[40], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[39], NULL, NULL, NULL, NULL }, { &PhoneItem[41], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[40], NULL, NULL, NULL, NULL }, { &PhoneItem[42], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[41], NULL, NULL, NULL, NULL }, { &PhoneItem[43], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[42], NULL, NULL, NULL, NULL }, { &PhoneItem[44], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[43], NULL, NULL, NULL, NULL }, { &PhoneItem[45], 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[44], NULL, NULL, NULL, NULL }, { NULL, 0, 0, 140, 8, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PhoneText[45], NULL, NULL, NULL, NULL } }; struct MenuItem EolItems[] = { { &EolItems[1], 140, 0, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&EolText[0], NULL, NULL, NULL, NULL }, { &EolItems[2], 140, 10, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&EolText[1], NULL, NULL, NULL, NULL }, { &EolItems[3], 140, 20, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 8, (APTR)&EolText[2], NULL, NULL, NULL, NULL }, { NULL, 140, 30, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 4, (APTR)&EolText[3], NULL, NULL, NULL, NULL }, }; struct MenuItem BaudItems[] = { { &BaudItems[1], 92, 0, 80, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 62, (APTR)&BaudText[0], NULL, NULL, NULL, NULL }, { &BaudItems[2], 92, 10, 80, 10, CHECKED | ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 61, (APTR)&BaudText[1], NULL, NULL, NULL, NULL }, { &BaudItems[3], 92, 20, 80, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 59, (APTR)&BaudText[2], NULL, NULL, NULL, NULL }, { &BaudItems[4], 92, 30, 80, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 55, (APTR)&BaudText[3], NULL, NULL, NULL, NULL }, { &BaudItems[5], 92, 40, 80, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 47, (APTR)&BaudText[4], NULL, NULL, NULL, NULL }, { NULL, 92, 50, 80, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 31, (APTR)&BaudText[5], NULL, NULL, NULL, NULL }, }; struct MenuItem ParityItems[] = { { &ParityItems[1], 92, 0, 72, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 6, (APTR)&ParityText[0], NULL, NULL, NULL, NULL }, { &ParityItems[2], 92, 10, 72, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 5, (APTR)&ParityText[1], NULL, NULL, NULL, NULL }, { NULL, 92, 20, 72, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 3, (APTR)&ParityText[2], NULL, NULL, NULL, NULL }, }; struct MenuItem KeyItems[] = { { &KeyItems[1], 140, 0, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&KeyText[0], NULL, NULL, NULL, NULL }, { &KeyItems[2], 140, 10, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&KeyText[1], NULL, NULL, NULL, NULL }, { NULL, 140, 20, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&KeyText[2], NULL, NULL, NULL, NULL }, }; struct MenuItem PlibItems[] = { { &PlibItems[1], 140, 0, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PlibText[0], NULL, NULL, NULL, NULL }, { &PlibItems[2], 140, 10, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PlibText[1], NULL, NULL, NULL, NULL }, { NULL, 140, 20, 96, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&PlibText[2], NULL, NULL, NULL, NULL }, }; struct MenuItem LengthItems[] = { { &LengthItems[1], 92, 0, 88, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&LengthText[0], NULL, NULL, NULL, NULL }, { NULL, 92, 10, 88, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&LengthText[1], NULL, NULL, NULL, NULL }, }; struct MenuItem XonItems[] = { { &XonItems[1], 92, 0, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&XonText[0], NULL, NULL, NULL, NULL }, { NULL, 92, 10, 112, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&XonText[1], NULL, NULL, NULL, NULL } }; struct MenuItem TitleItems[] = { { &TitleItems[1], 92, 0, 54, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&TitleText[0], NULL, NULL, NULL, NULL }, { NULL, 92, 10, 54, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&TitleText[1], NULL, NULL, NULL, NULL } }; struct MenuItem StopItems[] = { { &StopItems[1], 92, 0, 88, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&StopText[0], NULL, NULL, NULL, NULL }, { NULL, 92, 10, 88, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&StopText[1], NULL, NULL, NULL, NULL }, }; struct MenuItem DuplexItems[] = { { &DuplexItems[1], 92, 0, 72, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&DuplexText[0], NULL, NULL, NULL, NULL }, { NULL, 92, 10, 72, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&DuplexText[1], NULL, NULL, NULL, NULL }, }; struct MenuItem FileItems[] = { { &FileItems[1], 0, 0, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[0], NULL, 'C', NULL, NULL }, { &FileItems[2], 0, 10, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[1], NULL, 'S', NULL, NULL }, { &FileItems[3], 0, 22, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[2], NULL, 'D', NULL, NULL }, { &FileItems[4], 0, 32, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[3], NULL, 'W', NULL, NULL }, { &FileItems[5], 0, 44, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[4], NULL, 'U', NULL, NULL }, { &FileItems[6], 0, 54, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHCOMP, 0, (APTR)&FileText[5], NULL, 'T', NULL, NULL }, { NULL, 0, 66, 195, 10, ITEMENABLED | ITEMTEXT | COMMSEQ | HIGHBOX, 0, (APTR)&FileText[6], NULL, 'Q', NULL, NULL }, }; struct MenuItem SysItems[] = { { &SysItems[1], 0, 0, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&SysText[0], NULL, NULL, NULL, NULL }, { &SysItems[2], 0, 10, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&SysText[1], NULL, NULL, NULL, NULL }, { &SysItems[3], 0, 20, 152, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&SysText[2], NULL, NULL, NULL, NULL }, { &SysItems[4], 0, 30, 152, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SysText[3], NULL, NULL, &EolItems[0], NULL }, { &SysItems[5], 0, 40, 152, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SysText[4], NULL, NULL, &KeyItems[0], NULL }, { &SysItems[6], 0, 50, 152, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SysText[5], NULL, NULL, &PlibItems[0], NULL }, { 0, 0, 60, 152, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SysText[6], NULL, NULL, &TitleItems[0], NULL }, }; struct MenuItem ModeItems[] = { { &ModeItems[1], 0, 0, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 2, (APTR)&ModeText[0], NULL, NULL, NULL, NULL }, { NULL, 0, 10, 104, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 1, (APTR)&ModeText[1], NULL, NULL, NULL, NULL }, }; struct MenuItem SerialItems[] = { { &SerialItems[1], 0, 0, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[0], NULL, NULL, &BaudItems[0], NULL }, { &SerialItems[2], 0, 10, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[1], NULL, NULL, &ParityItems[0], NULL }, { &SerialItems[3], 0, 20, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[2], NULL, NULL, &LengthItems[0], NULL }, { &SerialItems[4], 0, 30, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[3], NULL, NULL, &StopItems[0], NULL }, { &SerialItems[5], 0, 40, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[4], NULL, NULL, &DuplexItems[0], NULL }, { &SerialItems[6], 0, 50, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[5], NULL, NULL, &XonItems[0], NULL }, { NULL, 0, 60, 104, 10, ITEMENABLED | ITEMTEXT | HIGHCOMP, 0, (APTR)&SerialText[6], NULL, 'B', NULL, NULL } }; struct MenuItem DebugItems[] = { { &DebugItems[1], 0, 0, 192, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&DebugText[0], NULL, NULL, NULL, NULL }, { &DebugItems[2], 0, 10, 192, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&DebugText[1], NULL, NULL, NULL, NULL }, { &DebugItems[3], 0, 20, 192, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&DebugText[2], NULL, NULL, NULL, NULL }, { &DebugItems[4], 0, 30, 192, 10, ITEMENABLED | CHECKIT | ITEMTEXT | HIGHCOMP, 0, (APTR)&DebugText[3], NULL, NULL, NULL, NULL }, { 0, 0, 40, 192, 10, ITEMENABLED | ITEMTEXT | CHECKIT | HIGHCOMP, 0, (APTR)&DebugText[4], NULL, NULL, NULL, NULL } }; struct Menu menu[] = { { &menu[1], 5, 0, 54, 8, MENUENABLED, (BYTE *)" File", &FileItems[0] }, { &menu[2], 56, 0, 70, 8, MENUENABLED, (BYTE *)" System",&SysItems[0] }, { &menu[3], 125, 0, 54, 8, MENUENABLED, (BYTE *)" Mode", &ModeItems[0] }, { &menu[4], 178, 0, 70, 8, MENUENABLED, (BYTE *)" Serial",&SerialItems[0] }, { &menu[5], 247, 0,302, 8, MENUENABLED, (BYTE *)" Phone", &PhoneItem[0] }, { NULL, 3, 0, 1, 0, MENUENABLED, (BYTE *)"", &DebugItems[0] }, }; /*****************************************************************/ /* The following function initializes the structure arrays */ /* needed to provide the phone library. */ /*****************************************************************/ void InitPhoneItem() { SHORT n; /* initialize each menu item and IntuiText with loop */ for( n = 2; n < MAXPHONE+2; n++ ) { if( n & 1 ) PhoneItem[n].LeftEdge = 145; else PhoneItem[n].LeftEdge = 0; PhoneItem[n].TopEdge = ((SHORT)((n-2)/2) * 8) + 9; } } /* Change the text message in the ASCII Capture and ASCII Send menu entries */ Swap_capture(which,flag) int flag,which; { if(which == ASCCAPT) { if(flag == START) /* Start ASCII Capture */ { FileText[0] = AltFiletxt[0]; FileItems[0].Flags &= ~HIGHBOX; FileItems[0].Flags |= HIGHCOMP; } else /* Stop ASCII Capture */ { FileText[0] = AltFiletxt[2]; FileItems[0].Flags &= ~HIGHCOMP; FileItems[0].Flags |= HIGHBOX; } } else if(which == ASCSEND) { if(flag == START) /* Start ASCII Send */ { FileText[1] = AltFiletxt[1]; FileItems[1].Flags &= ~HIGHBOX; FileItems[1].Flags |= HIGHCOMP; } else /* Stop ASCII Send */ { FileText[1] = AltFiletxt[3]; FileItems[1].Flags &= ~HIGHCOMP; FileItems[1].Flags |= HIGHBOX; } } } /* The following function initializes the Menu structure array with appropriate values */ InitMenus() { InitPhoneItem(); ModeItems[1].Flags |= CHECKED; /* CRC */ /* BaudItems[1].Flags |= CHECKED; */ /* 1200 baud */ SysItems[2].Flags |= CHECKED; /* CHOP mode */ ParityItems[0].Flags |= CHECKED; /* no parity */ LengthItems[0].Flags |= CHECKED; /* 8 bits */ StopItems[0].Flags |= CHECKED; /* 1 stop bit */ EolItems[0].Flags |= CHECKED; /* TX EOL = CR */ EolItems[2].Flags |= CHECKED; /* RX EOL = CR */ DuplexItems[0].Flags |= CHECKED; /* Full Duplex */ PlibItems[1].Flags &= ~ITEMENABLED; /* Save Phone Dir */ XonItems[0].Flags |= CHECKED; /* XON / XOFF off */ TitleItems[0].Flags |= CHECKED; /* Title bar off */ FileText[0] = AltFiletxt[0]; FileText[1] = AltFiletxt[1]; } Set_Menus(val) int val; { if(val) { set_menus_on(tx_window); if(rx_window) set_menus_on(rx_window); } else { set_menus_off(tx_window); if(rx_window) set_menus_off(rx_window); } } /* enable menus after an XMODEM transfer */ set_menus_on(window) struct Window *window; { ULONG n; OnMenu(window,SHIFTITEM( NOITEM ) | 0); /* File menu */ OnMenu(window,SHIFTITEM( NOITEM ) | 2); /* Mode menu */ OnMenu(window,SHIFTITEM( NOITEM ) | 3); /* Serial menu */ OnMenu(window,SHIFTITEM( NOITEM ) | 4); /* Phone menu */ for( n = 3; n < SYSMAX; n++) OnMenu(window,SHIFTSUB( NOSUB ) | SHIFTITEM( n ) | 1 ); PlibItems[2].Flags = editphone; } /* Disable menus during an XMODEM transfer */ set_menus_off(window) struct Window *window; { ULONG n; editphone = PlibItems[2].Flags; OffMenu(window,SHIFTITEM( NOITEM ) | 0); /* File menu */ OffMenu(window,SHIFTITEM( NOITEM ) | 2); /* Mode menu */ OffMenu(window,SHIFTITEM( NOITEM ) | 3); /* Serial menu */ OffMenu(window,SHIFTITEM( NOITEM ) | 4); /* Phone menu */ for(n = 3; n < SYSMAX; n++) /* disable some of System menu */ OffMenu(window, SHIFTSUB( NOSUB) | SHIFTITEM( n ) | 1 ); }