home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 13
/
AACD13.ISO
/
AACD
/
Resources
/
System
/
BoingBag1
/
Contributions
/
Workbench
/
RexxArpLib3p6
/
src
/
sreq
/
vtmenutest.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-17
|
9KB
|
298 lines
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <graphics/gfx.h>
#include <functions.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <simpmenu.h>
TestRoutine(w)
struct Window *w;
{
struct Menu *menu = NULL;
printf("Start\n");
menu = SMenu(NULL, " VLT ");
SItem(menu, " Capture Session", 'O', 0L);
SItem(menu, " End Capture", 'E', 0L);
SItem(menu, " Open Console", 0 , 0L);
SItem(menu, " History Buffer", 0 , 0L);
SSItem(menu, " View", 'V', 0L);
SSItem(menu, " Edit / Send", ')', 0L);
SItem(menu, " Save Configuration", 0 , 0L);
SItem(menu, " Version", 0 , 0L);
SItem(menu, " Exit", 0 , 0L);
SMenu(menu, "Comm ");
SItem(menu, " Select Device", 0 , 0L);
SItem(menu, " Select Unit", 0 , 0L);
SItem(menu, " Baud", 0 , 0L);
SSItem(menu, " 110", 0 , 0x7eL);
SSItem(menu, " 300", 0 , 0x7dL);
SSItem(menu, " 1200", 0 , 0x7bL);
SSItem(menu, " 2400", 0 , 0x77L);
SSItem(menu, " 4800", 0 , 0x6fL);
SSItem(menu, " 9600", 0 , 0x5fL);
SSItem(menu, " 19200", 0 , 0x3fL);
SItem(menu, " Parity", 0 , 0L);
SSItem(menu, " 8N1", 0 , 0x7ffeL);
SSItemB(menu, " 8N2", 0 , 0x7ffdL);
SSItemB(menu, " 7N2", 0 , 0x7ffbL);
SSItem(menu, " 8M1", 0 , 0x7ff7L);
SSItemB(menu, " 7M1", 0 , 0x7fefL);
SSItemB(menu, " 7M2", 0 , 0x7fdfL);
SSItem(menu, " 8S1", 0 , 0x7fbfL);
SSItemB(menu, " 7S1", 0 , 0x7f7fL);
SSItemB(menu, " 7S2", 0 , 0x7effL);
SSItem(menu, " 8E1", 0 , 0x7dffL);
SSItemB(menu, " 7E1", 0 , 0x7bffL);
SSItemB(menu, " 7E2", 0 , 0x77ffL);
SSItem(menu, " 8O1", 0 , 0x6fffL);
SSItemB(menu, " 7O1", 0 , 0x5fffL);
SSItemB(menu, " 7O2", 0 , 0x3fffL);
SItem(menu, " Protocol", 0 , 0L);
SSItem(menu, " None", 0 , 0xeL);
SSItem(menu, " Xon/Xoff", 0 , 0xdL);
SSItem(menu, " 7-Wire", 0 , 0xbL);
SSItem(menu, " 7-Wire/X", 0 , 0x7L);
SItem(menu, " Send Break", 'B', 0L);
SItem(menu, " Hangup", 'H', 0L);
SItem(menu, " Echo", 0 , 0L);
SSItem(menu, " Off", '*', 0x2L);
SSItem(menu, " On", '+', 0x1L);
SItem(menu, " Strip Bit 8", 0 , 0L);
SSItem(menu, " Off", 0 , 0x2L);
SSItem(menu, " On", 0 , 0x1L);
SItem(menu, " Set Break Time", 0 , 0L);
SItem(menu, " Set Buffer Size", 0 , 0L);
SMenu(menu, "Transfer ");
SItem(menu, " Send File", 'S', 0L);
SItem(menu, " Receive File", 'R', 0L);
SItem(menu, " Change Directory", 'D', 0L);
SItem(menu, " Protocol", 0 , 0L);
SSItem(menu, " External", 'T', 0x6L);
SSItem(menu, " Kermit", 'K', 0x5L);
SSItem(menu, " XMODEM", 'X', 0x3L);
SItem(menu, " Kermit Options", 0 , 0L);
SSItem(menu, " Send / Receive", '-', 0x2L);
SSItem(menu, " Host is Server", '=', 0x1L);
SSItem(menu, " Kermit Bye", 'Y', 0L);
SSItem(menu, " Set Packet Size", 0 , 0L);
SItem(menu, " XMODEM Options", 0 , 0L);
SSItem(menu, " Check Sum", '[', 0xeL);
SSItem(menu, " Check Sum / 1K Blocks", 0 , 0xdL);
SSItem(menu, " CRC", 0 , 0xbL);
SSItem(menu, " CRC / 1K Blocks", ']', 0x7L);
SItem(menu, " External Options", 0 , 0L);
SItem(menu, " Translate Options", 0 , 0L);
SSItem(menu, " No Translation", ',', 0x2L);
SSItem(menu, " CR/LF -> LF", '.', 0x1L);
SSItem(menu, " Downcase File Names", '/', -1L);
SMenu(menu, "Macros ");
SItem(menu, " ARexx Macro", 'A', 0L);
SItem(menu, " VLT Macro", 'M', 0L);
SItem(menu, " Abort VLT Macro (esc)", -1, 0L);
SItem(menu, " Keyboard Macros", 0 , 0L);
SSItem(menu, " ", '1', 0L);
SSItemB(menu, " ", '2', 0L);
SSItem(menu, " ", '3', 0L);
SSItemB(menu, " ", '4', 0L);
SSItem(menu, " ", '5', 0L);
SSItemB(menu, " ", '6', 0L);
SSItem(menu, " ", '7', 0L);
SSItemB(menu, " ", '8', 0L);
SSItem(menu, " ", '9', 0L);
SSItemB(menu, " ", '0', 0L);
SItem(menu, " Program Mode", 0 , 0L);
SSItem(menu, " On", '(', 0x2L);
SSItem(menu, " Off", ')', 0x1L);
SMenu(menu, "Screen ");
SItem(menu, " Clear Screen", 'C', 0L);
SItem(menu, " Screen to Back", 'J', 0L);
SItem(menu, " Select Screen Type", 0 , 0L);
SSItem(menu, " Custom Screen", 0 , 0x2L);
SSItem(menu, " Workbench", 0 , 0x1L);
SSItem(menu, " Interlaced", 0 , 0x8L);
SSItem(menu, " Non-Interlaced", 0 , 0x4L);
SItem(menu, " Number of Colors", 0 , 0L);
SSItem(menu, " 2", 0 , 0x6L);
SSItem(menu, " 4", 0 , 0x5L);
SSItem(menu, " 8", 0 , 0x3L);
SItem(menu, " Select Colors", 'U', 0L);
SItem(menu, " Number of Lines", 'L', 0L);
SItem(menu, " Number of Columns", 'Z', 0L);
SItem(menu, " Amount of Prescroll", 0 , 0L);
SItem(menu, " Rendering Mode", 0 , 0L);
SItem(menu, " Cursor Height", 0 , 0L);
SSItem(menu, " Quick", 'Q', 0x6L);
SSItem(menu, " Normal", 'N', 0x5L);
SSItem(menu, " Color", 'G', 0x3L);
SSItem(menu, " ANSI Color", 0 , 0x3L);
SMenu(menu, "Operation ");
SItem(menu, " Wrap", 'W', -1L);
SItem(menu, " Key Repeat", 0 , -1L);
SItem(menu, " Numeric Keypad", 0 , -1L);
SItem(menu, " Application Cursor", 0 , -1L);
SItem(menu, " Swap BS <-> Delete", 'I', -1L);
SItem(menu, " Destructive BS", 0 , -1L);
SItem(menu, " Help Key = LF", 0 , -1L);
SItem(menu, " Shift-Tab = ESC TAB", 0 , -1L);
SItem(menu, " Function Key Gadgets", 'P', -1L);
SItem(menu, " Mouse Support", '\\',-1L);
SItem(menu, " Beep Volume", 0 , -1L);
SItem(menu, " CR Key: Echo CR/LF", 0 , -1L);
SItem(menu, " CR Key: Send CR/LF", 0 , -1L);
SItem(menu, " Auto-Screen to Back", 0 , -1L);
SMenu(menu, "Graphics ");
SItem(menu, " Lock Graphics", ';', -1L);
SItem(menu, " To Graphics", 'F', 0L);
AdjustItems(menu);
printf("Stop\n");
if (menu)
{
SetMenuStrip(w, menu);
WaitForClose(w);
ClearMenuStrip(w);
FreeSMenu(menu);
}
return;
}
/**
*
* Generalized Intuition test routine. Opens a window.
*
***/
static struct NewWindow nw =
{
0,0,
640, 200,
0,1,
CLOSEWINDOW+MOUSEBUTTONS+GADGETUP+GADGETDOWN+INTUITICKS,
WINDOWDRAG+WINDOWDEPTH+WINDOWCLOSE+ACTIVATE,
NULL,
NULL,
(UBYTE *)"MBRTest",
NULL,
NULL,
5,5,
700,300,
WBENCHSCREEN
};
struct IntuitionBase *IntuitionBase = NULL;
struct GfxBase *GfxBase = NULL;
struct Library *ArpBase = NULL;
struct ExpansionBase *ExpansionBase = NULL;
main(argc, argv)
int argc;
char **argv;
{
struct Window *w = NULL, *old_pr_WindowPtr = NULL;
struct IntuiMessage *message = NULL;
struct TextFont *font = NULL;
/*
* Libraries
*/
IntuitionBase = (struct IntuitionBase *) OpenLibrary("intuition.library", 0L);
if (IntuitionBase == NULL)
goto cleanup;
GfxBase = (struct GfxBase *) OpenLibrary("graphics.library", 0L);
if (GfxBase == NULL)
goto cleanup;
/*
* Open window and set font
*/
w = OpenWindow(&nw);
if (w == NULL)
goto cleanup;
font = (struct TextFont *) OpenFont(Topaz80Equiv());
if (font == NULL)
goto cleanup;
SetFont(w->RPort, font);
/*
* Test begins here.
*/
TestRoutine(w);
WaitForClose(w);
cleanup:
if (font)
CloseFont(font);
if (w)
{
while (message = (struct IntuiMessage *)
GetMsg(w->UserPort)) ReplyMsg(message);
CloseWindow(w);
}
if (GfxBase)
CloseLibrary((struct library *) GfxBase);
if (IntuitionBase)
CloseLibrary((struct library *) IntuitionBase);
exit(0);
}
/**
*
* Wait for a close message
*
**/
WaitForClose(w)
struct Window *w;
{
int quit_flag = FALSE;
UWORD code;
ULONG class;
APTR object;
struct IntuiMessage *message;
while (quit_flag == FALSE)
{
Wait(1L << w->UserPort->mp_SigBit);
/*
* Handle messages from the window
*/
while ( message = (struct IntuiMessage *) GetMsg(w->UserPort) )
{
class = message->Class;
ReplyMsg(message);
if (class == CLOSEWINDOW)
quit_flag = TRUE;
}
}
return(quit_flag);
}