#include #include #include struct GfxBase *GfxBase; struct IntuitionBase *IntuitionBase; struct Window *sr_window; #ifdef ISUP_RUNTIME struct Library *iSupBase; #else struct Device *ConsoleDevice; struct IOStdReq ConsoleMsg; #endif VOID Resize(); struct IntuiText Body[3] = { { 0, 0, JAM1, 0,0, NULL, "This is requester One", &Body[1] }, { 2, 0, JAM1, 0,0, NULL, "It has 3 text lines", &Body[2] }, { 3, 0, JAM1, 0,0, NULL, "and 2 string gadgets", NULL } }; UBYTE Buffer1[40] = "Hi!"; UBYTE Buffer2[10] = "123456789"; UBYTE UBuffer1[40], UBuffer2[10]; struct StringInfoList Gad[2] = { { &Gad[1], { Buffer1, UBuffer1, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, { NULL, { Buffer2, UBuffer2, 0, 10, 0, 0,0,0,0,0,NULL,0L,NULL } } }; struct SmartReq sm = { Body, Gad, "Ok", "Cancel", NULL, NULL, Resize, NULL }; struct IntuiText BBody[5] = { { 0, 0, JAM1, 0,0, NULL, "This is the second one", &BBody[1] }, { 0, 0, JAM1, 0,0, NULL, "", &BBody[2] }, { 0, 0, JAM1, 0,0, NULL, "The text attributes can", &BBody[3] }, { 0, 0, JAM1, 0,0, NULL, "be controlled for each", &BBody[4] }, { 2, 0, JAM1, 0,0, NULL, "individual line", NULL } }; UBYTE BBuffer0[40] = "This is Gadget 1"; UBYTE BBuffer1[40] = "This is Gadget 2"; UBYTE BBuffer2[40] = "This is Gadget 3"; UBYTE BBuffer3[40] = "This is Gadget 4"; UBYTE BBuffer4[40] = "This is Gadget 5"; UBYTE UUBuffer0[40]; UBYTE UUBuffer1[40]; UBYTE UUBuffer2[40]; UBYTE UUBuffer3[40]; UBYTE UUBuffer4[40]; struct StringInfoList GGad[10] = { { &GGad[1], { BBuffer0, UUBuffer0, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, { &GGad[2], { BBuffer1, UUBuffer1, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, { &GGad[3], { BBuffer2, UUBuffer2, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, { &GGad[4], { BBuffer3, UUBuffer3, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, { NULL, { BBuffer4, UUBuffer4, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } }, }; struct SmartReq ssm = { BBody, GGad, "Ok", NULL, NULL, NULL, Resize, NULL }; UBYTE buf1[20] = ""; UBYTE buf2[20] = ""; UBYTE buf3[20] = ""; VOID Resize() { RemakeStdWindow(sr_window, "SmartReq Example", NULL); } VOID Cleanup(err) BYTE err; { if (sr_window) CloseStdWindow(sr_window); #ifdef ISUP_RUNTIME if (iSupBase) CloseLibrary(iSupBase); #else if (ConsoleDevice) CloseDevice(&ConsoleMsg); #endif if (GfxBase) CloseLibrary(GfxBase); if (IntuitionBase) CloseLibrary(IntuitionBase); exit(err); } VOID main() { extern struct WIndow *DisplayWindow(); if ( !(GfxBase = (struct Library *)OpenLibrary("graphics.library", 0)) || !(IntuitionBase = (struct Library *)OpenLibrary("intuition.library", 0)) #ifdef ISUP_RUNTIME || !(iSupBase = (struct Library *)OpenLibrary("isup.library", 0)) #else || !(!OpenDevice("console.device", -1, &ConsoleMsg, 0) && (ConsoleDevice=ConsoleMsg.io_Device)) #endif ) Cleanup(10); if (!(sr_window = OpenStdWindow("SmartReq Example", 0x17, 10,15, 360,180, NULL))) Cleanup(15); SmartReq(sr_window, &sm); SmartReq(sr_window, &ssm); AutoSmartRequest(sr_window, 2, "Simple text only", "example", 0, "Ok", NULL, Resize, NULL); AutoSmartRequest(sr_window, 1, "Enter a file name:", 1, buf1, 20, "Ok", NULL, Resize, NULL); AutoSmartRequest(sr_window, 1, "Software Failure?", 0, "Nope", NULL, Resize, NULL); AutoSmartRequest(sr_window, 2, "Enter string to search,", "replacement, and wildcard", 3, buf1, 20, buf2, 20, buf3, 20, "Replace", "Cancel", Resize, NULL); Cleanup(0); }