home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 357.lha / intuisup_v1.15 / examples / smartreq / test.c < prev    next >
C/C++ Source or Header  |  1990-03-10  |  4KB  |  148 lines

  1. #include <intuition/intuisup.h>
  2. #include <clib/macros.h>
  3. #include <proto/all.h>
  4.  
  5. struct   GfxBase        *GfxBase;
  6. struct   IntuitionBase  *IntuitionBase;
  7. struct   Window         *sr_window;
  8.  
  9. #ifdef ISUP_RUNTIME
  10. struct   Library  *iSupBase;
  11. #else
  12. struct   Device   *ConsoleDevice;
  13. struct   IOStdReq  ConsoleMsg;
  14. #endif
  15.  
  16.  
  17. VOID   Resize();
  18.  
  19.  
  20. struct IntuiText  Body[3] =
  21.    {
  22.       { 0, 0, JAM1, 0,0, NULL, "This is requester One", &Body[1] },
  23.       { 2, 0, JAM1, 0,0, NULL, "It has 3 text lines", &Body[2] },
  24.       { 3, 0, JAM1, 0,0, NULL, "and 2 string gadgets", NULL }
  25.    };
  26.  
  27. UBYTE Buffer1[40] = "Hi!";
  28. UBYTE Buffer2[10] = "123456789";
  29. UBYTE UBuffer1[40], UBuffer2[10];
  30.  
  31. struct StringInfoList Gad[2] =
  32.    {
  33.       { &Gad[1], { Buffer1, UBuffer1, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  34.       { NULL,    { Buffer2, UBuffer2, 0, 10, 0, 0,0,0,0,0,NULL,0L,NULL } }
  35.    };
  36.  
  37. struct SmartReq   sm =
  38.    {
  39.    Body,
  40.    Gad,
  41.    "Ok", "Cancel",
  42.    NULL, NULL,
  43.    Resize,
  44.    NULL
  45.    };
  46.  
  47. struct IntuiText  BBody[5] =
  48.    {
  49.       { 0, 0, JAM1, 0,0, NULL, "This is the second one", &BBody[1] },
  50.       { 0, 0, JAM1, 0,0, NULL, "", &BBody[2] },
  51.       { 0, 0, JAM1, 0,0, NULL, "The text attributes can", &BBody[3] },
  52.       { 0, 0, JAM1, 0,0, NULL, "be controlled for each", &BBody[4] },
  53.       { 2, 0, JAM1, 0,0, NULL, "individual line", NULL }
  54.    };
  55.  
  56. UBYTE BBuffer0[40] = "This is Gadget 1";
  57. UBYTE BBuffer1[40] = "This is Gadget 2";
  58. UBYTE BBuffer2[40] = "This is Gadget 3";
  59. UBYTE BBuffer3[40] = "This is Gadget 4";
  60. UBYTE BBuffer4[40] = "This is Gadget 5";
  61. UBYTE UUBuffer0[40];
  62. UBYTE UUBuffer1[40];
  63. UBYTE UUBuffer2[40];
  64. UBYTE UUBuffer3[40];
  65. UBYTE UUBuffer4[40];
  66.  
  67. struct StringInfoList GGad[10] =
  68.    {
  69.       { &GGad[1], { BBuffer0, UUBuffer0, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  70.       { &GGad[2], { BBuffer1, UUBuffer1, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  71.       { &GGad[3], { BBuffer2, UUBuffer2, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  72.       { &GGad[4], { BBuffer3, UUBuffer3, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  73.       { NULL,     { BBuffer4, UUBuffer4, 0, 40, 0, 0,0,0,0,0,NULL,0L,NULL } },
  74.    };
  75.  
  76. struct SmartReq   ssm =
  77.    {
  78.    BBody,
  79.    GGad,
  80.    "Ok", NULL,
  81.    NULL, NULL,
  82.    Resize,
  83.    NULL
  84.    };
  85.  
  86.  
  87. UBYTE buf1[20] = "";
  88. UBYTE buf2[20] = "";
  89. UBYTE buf3[20] = "";
  90.  
  91.  
  92. VOID Resize()
  93. {
  94.    RemakeStdWindow(sr_window, "SmartReq Example", NULL);
  95. }
  96.  
  97. VOID
  98. Cleanup(err)
  99. BYTE  err;
  100. {
  101.  
  102.    if (sr_window)       CloseStdWindow(sr_window);
  103.  
  104. #ifdef ISUP_RUNTIME
  105.       if (iSupBase)      CloseLibrary(iSupBase);
  106. #else
  107.       if (ConsoleDevice) CloseDevice(&ConsoleMsg);
  108. #endif
  109.    if (GfxBase)         CloseLibrary(GfxBase);
  110.    if (IntuitionBase)   CloseLibrary(IntuitionBase);
  111.  
  112.    exit(err);
  113. }
  114.  
  115. VOID
  116. main()
  117. {
  118.    extern struct WIndow *DisplayWindow();
  119.  
  120.  
  121.    if (  !(GfxBase       = (struct Library *)OpenLibrary("graphics.library", 0))
  122.       || !(IntuitionBase = (struct Library *)OpenLibrary("intuition.library", 0))
  123. #ifdef ISUP_RUNTIME
  124.       || !(iSupBase      = (struct Library *)OpenLibrary("isup.library", 0))
  125. #else
  126.       || !(!OpenDevice("console.device", -1, &ConsoleMsg, 0) && (ConsoleDevice=ConsoleMsg.io_Device))
  127. #endif
  128.       ) Cleanup(10);
  129.  
  130.    if (!(sr_window = OpenStdWindow("SmartReq Example", 0x17, 10,15, 360,180, NULL))) Cleanup(15);
  131.  
  132.    SmartReq(sr_window, &sm);
  133.    SmartReq(sr_window, &ssm);
  134.  
  135.    AutoSmartRequest(sr_window, 2, "Simple text only", "example", 0,
  136.                         "Ok", NULL, Resize, NULL);
  137.    AutoSmartRequest(sr_window, 1, "Enter a file name:", 1, buf1, 20, "Ok", NULL, Resize, NULL);
  138.  
  139.    AutoSmartRequest(sr_window, 1, "Software Failure?", 0, "Nope", NULL, Resize, NULL);
  140.  
  141.    AutoSmartRequest(sr_window, 2, "Enter string to search,", "replacement, and wildcard",
  142.                          3, buf1, 20, buf2, 20, buf3, 20,
  143.                         "Replace", "Cancel", Resize, NULL);
  144.  
  145.    Cleanup(0);
  146. }
  147.  
  148.