home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 568b.lha / PowerSource_v3.0 / source.lzh / source / whatsrc.c < prev   
C/C++ Source or Header  |  1991-09-15  |  8KB  |  340 lines

  1. /*----------------------------------------------------------------------*
  2.     WhatScr.c version 3.0 - © Copyright 1991 Jaba Development
  3.  
  4.     Author : Jan van den Baard
  5.     Purpose: Selecting what source should be generated.
  6.  *----------------------------------------------------------------------*/
  7. /*---------------------------------------------------*
  8.   Gadgets created with PowerSource V3.0
  9.   which is (c) Copyright 1990-91 by Jaba Development
  10.   written by Jan van den Baard
  11.  *---------------------------------------------------*/
  12.  
  13. static SHORT Border0_pairs[] = {
  14.   -1,-1,294,-1,294,90,-1,90,-1,-1 };
  15. static SHORT Border1_pairs[] = {
  16.   -1,-1,294,-1,294,9,-1,9,-1,-1 };
  17.  
  18. static struct Border Border_bord[] = {
  19.   3,2,0,0,JAM1,5,(SHORT *)&Border0_pairs,&Border_bord[1],
  20.   3,2,0,0,JAM1,5,(SHORT *)&Border1_pairs,NULL };
  21.  
  22. static struct IntuiText Render_text = {
  23.   0,1,JAM1,90,3,NULL,(UBYTE *)"Generate Source",NULL };
  24.  
  25. static SHORT CANCEL_pairs0[] = {
  26.   -1,-1,66,-1,66,35,-1,35,-1,-1 };
  27.  
  28. static struct Border CANCEL_bord = {
  29.   0,0,0,0,JAM1,5,(SHORT *)&CANCEL_pairs0,NULL };
  30.  
  31. static struct IntuiText CANCEL_text = {
  32.   0,1,JAM1,9,14,NULL,(UBYTE *)"CANCEL",NULL };
  33.  
  34. #define CANCEL_ID    10
  35.  
  36. static struct Gadget CANCEL = {
  37.   NULL,226,54,66,35,
  38.   GADGHCOMP,
  39.   RELVERIFY,
  40.   BOOLGADGET,
  41.   (APTR)&CANCEL_bord,NULL,
  42.   &CANCEL_text,NULL,NULL,CANCEL_ID,NULL };
  43.  
  44. static SHORT OKIDOKI_pairs0[] = {
  45.   -1,-1,66,-1,66,35,-1,35,-1,-1 };
  46.  
  47. static struct Border OKIDOKI_bord = {
  48.   0,0,0,0,JAM1,5,(SHORT *)&OKIDOKI_pairs0,NULL };
  49.  
  50. static struct IntuiText OKIDOKI_text = {
  51.   0,1,JAM1,25,14,NULL,(UBYTE *)"OK",NULL };
  52.  
  53. #define OKIDOKI_ID    9
  54.  
  55. static struct Gadget OKIDOKI = {
  56.   &CANCEL,153,54,66,35,
  57.   GADGHCOMP,
  58.   RELVERIFY,
  59.   BOOLGADGET,
  60.   (APTR)&OKIDOKI_bord,NULL,
  61.   &OKIDOKI_text,NULL,NULL,OKIDOKI_ID,NULL };
  62.  
  63. static SHORT MN_pairs0[] = {
  64.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  65.  
  66. static struct Border MN_bord = {
  67.   0,0,0,0,JAM1,5,(SHORT *)&MN_pairs0,NULL };
  68.  
  69. static struct IntuiText MN_text = {
  70.   0,1,JAM1,49,1,NULL,(UBYTE *)"MENUS",NULL };
  71.  
  72. #define MN_ID    8
  73.  
  74. static struct Gadget MN = {
  75.   &OKIDOKI,153,41,139,9,
  76.   GADGHCOMP+SELECTED,
  77.   TOGGLESELECT+GADGIMMEDIATE,
  78.   BOOLGADGET,
  79.   (APTR)&MN_bord,NULL,
  80.   &MN_text,NULL,NULL,MN_ID,NULL };
  81.  
  82. static SHORT GD_pairs0[] = {
  83.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  84.  
  85. static struct Border GD_bord = {
  86.   0,0,0,0,JAM1,5,(SHORT *)&GD_pairs0,NULL };
  87.  
  88. static struct IntuiText GD_text = {
  89.   0,1,JAM1,41,1,NULL,(UBYTE *)"GADGETS",NULL };
  90.  
  91. #define GD_ID    7
  92.  
  93. static struct Gadget GD = {
  94.   &MN,153,28,139,9,
  95.   GADGHCOMP+SELECTED,
  96.   TOGGLESELECT+GADGIMMEDIATE,
  97.   BOOLGADGET,
  98.   (APTR)&GD_bord,NULL,
  99.   &GD_text,NULL,NULL,GD_ID,NULL };
  100.  
  101. static SHORT SG_pairs0[] = {
  102.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  103.  
  104. static struct Border SG_bord = {
  105.   0,0,0,0,JAM1,5,(SHORT *)&SG_pairs0,NULL };
  106.  
  107. static struct IntuiText SG_text = {
  108.   0,1,JAM1,13,1,NULL,(UBYTE *)"SPECIAL GADGET",NULL };
  109.  
  110. #define SG_ID    6
  111.  
  112. static struct Gadget SG = {
  113.   &GD,7,80,139,9,
  114.   GADGHCOMP+SELECTED,
  115.   TOGGLESELECT+GADGIMMEDIATE,
  116.   BOOLGADGET,
  117.   (APTR)&SG_bord,NULL,
  118.   &SG_text,NULL,NULL,SG_ID,NULL };
  119.  
  120. static SHORT BO_pairs0[] = {
  121.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  122.  
  123. static struct Border BO_bord = {
  124.   0,0,0,0,JAM1,5,(SHORT *)&BO_pairs0,NULL };
  125.  
  126. static struct IntuiText BO_text = {
  127.   0,1,JAM1,25,1,NULL,(UBYTE *)"BORDER ONLY",NULL };
  128.  
  129. #define BO_ID    5
  130.  
  131. static struct Gadget BO = {
  132.   &SG,7,67,139,9,
  133.   GADGHCOMP+SELECTED,
  134.   TOGGLESELECT+GADGIMMEDIATE,
  135.   BOOLGADGET,
  136.   (APTR)&BO_bord,NULL,
  137.   &BO_text,NULL,NULL,BO_ID,NULL };
  138.  
  139. static SHORT RT_pairs0[] = {
  140.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  141.  
  142. static struct Border RT_bord = {
  143.   0,0,0,0,JAM1,5,(SHORT *)&RT_pairs0,NULL };
  144.  
  145. static struct IntuiText RT_text = {
  146.   0,1,JAM1,21,1,NULL,(UBYTE *)"RENDER TEXTS",NULL };
  147.  
  148. #define RT_ID    4
  149.  
  150. static struct Gadget RT = {
  151.   &BO,7,54,139,9,
  152.   GADGHCOMP+SELECTED,
  153.   TOGGLESELECT+GADGIMMEDIATE,
  154.   BOOLGADGET,
  155.   (APTR)&RT_bord,NULL,
  156.   &RT_text,NULL,NULL,RT_ID,NULL };
  157.  
  158. static SHORT CL_pairs0[] = {
  159.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  160.  
  161. static struct Border CL_bord = {
  162.   0,0,0,0,JAM1,5,(SHORT *)&CL_pairs0,NULL };
  163.  
  164. static struct IntuiText CL_text = {
  165.   0,1,JAM1,45,1,NULL,(UBYTE *)"COLORS",NULL };
  166.  
  167. #define CL_ID    3
  168.  
  169. static struct Gadget CL = {
  170.   &RT,7,41,139,9,
  171.   GADGHCOMP+SELECTED,
  172.   TOGGLESELECT+GADGIMMEDIATE,
  173.   BOOLGADGET,
  174.   (APTR)&CL_bord,NULL,
  175.   &CL_text,NULL,NULL,CL_ID,NULL };
  176.  
  177. static SHORT SC_pairs0[] = {
  178.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  179.  
  180. static struct Border SC_bord = {
  181.   0,0,0,0,JAM1,5,(SHORT *)&SC_pairs0,NULL };
  182.  
  183. static struct IntuiText SC_text = {
  184.   0,1,JAM1,45,1,NULL,(UBYTE *)"SCREEN",NULL };
  185.  
  186. #define SC_ID    2
  187.  
  188. static struct Gadget SC = {
  189.   &CL,7,28,139,9,
  190.   GADGHCOMP+SELECTED,
  191.   TOGGLESELECT+GADGIMMEDIATE,
  192.   BOOLGADGET,
  193.   (APTR)&SC_bord,NULL,
  194.   &SC_text,NULL,NULL,SC_ID,NULL };
  195.  
  196. static SHORT SI_pairs0[] = {
  197.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  198.  
  199. static struct Border SI_bord = {
  200.   0,0,0,0,JAM1,5,(SHORT *)&SI_pairs0,NULL };
  201.  
  202. static struct IntuiText SI_text = {
  203.   0,1,JAM1,21,1,NULL,(UBYTE *)"SPECIAL INFO",NULL };
  204.  
  205. #define SI_ID    1
  206.  
  207. static struct Gadget SI = {
  208.   &SC,153,15,139,9,
  209.   GADGHCOMP+SELECTED,
  210.   TOGGLESELECT+GADGIMMEDIATE,
  211.   BOOLGADGET,
  212.   (APTR)&SI_bord,NULL,
  213.   &SI_text,NULL,NULL,SI_ID,NULL };
  214.  
  215. static SHORT WD_pairs0[] = {
  216.   -1,-1,139,-1,139,9,-1,9,-1,-1 };
  217.  
  218. static struct Border WD_bord = {
  219.   0,0,0,0,JAM1,5,(SHORT *)&WD_pairs0,NULL };
  220.  
  221. static struct IntuiText WD_text = {
  222.   0,1,JAM1,45,1,NULL,(UBYTE *)"WINDOW",NULL };
  223.  
  224. #define WD_ID    0
  225.  
  226. static struct Gadget WD = {
  227.   &SI,7,15,139,9,
  228.   GADGHCOMP+SELECTED,
  229.   TOGGLESELECT+GADGIMMEDIATE,
  230.   BOOLGADGET,
  231.   (APTR)&WD_bord,NULL,
  232.   &WD_text,NULL,NULL,WD_ID,NULL };
  233.  
  234. static struct NewScreen ns = {
  235.   0,0,640,256,2,-1,-1,HIRES,CUSTOMSCREEN,NULL,NULL,NULL,NULL };
  236.  
  237. static struct NewWindow nw_src = {
  238.   10,15,300,94,0,1,
  239.   GADGETDOWN+GADGETUP,
  240.   NOCAREREFRESH+SMART_REFRESH+ACTIVATE+RMBTRAP+BORDERLESS,
  241.   NULL,NULL,
  242.   NULL,NULL,NULL,
  243.   150,50,640,256,CUSTOMSCREEN };
  244.  
  245. extern struct Screen    *MainScreen;
  246. extern struct Window    *MainWindow;
  247. extern struct Gadget    *Gadget;
  248.  
  249. extern ULONG             Class;
  250.  
  251. BOOL    gen_wd = TRUE, gen_sc = TRUE, gen_cl = TRUE;
  252. BOOL    gen_bo = TRUE, gen_rt = TRUE, gen_sg = TRUE;
  253. BOOL    gen_gd = TRUE, gen_si = TRUE, gen_mn = TRUE;
  254.  
  255. struct Window           *WhatWindow;
  256.  
  257. void SetAll( void )
  258. {
  259.     register struct Gadget *g;
  260.  
  261.     for(g = &WD; g != &OKIDOKI; g = g->NextGadget)
  262.         g->Flags = SELECTED;
  263. }
  264.  
  265. ULONG Check( void )
  266. {
  267.     register struct Gadget *g;
  268.  
  269.     for(g = &WD; g != &OKIDOKI; g = g->NextGadget) {
  270.         if(SelectTest(g)) return(TRUE);
  271.     }
  272.     return(FALSE);
  273. }
  274.  
  275. void GenWhat( ULONG type )
  276. {
  277.     BOOL    running = TRUE;
  278.  
  279.     SetAll();
  280.  
  281.     nw_src.Screen = MainScreen;
  282.  
  283.     if(NOT(WhatWindow = (struct Window *)OpenWindow(&nw_src)))
  284.         return;
  285.  
  286.     disable_window();
  287.     buisy();
  288.  
  289.     draw(WhatWindow,&WD,&Border_bord[0],&Render_text);
  290.  
  291.     do {
  292.         WaitPort(WhatWindow->UserPort);
  293.         while(read_msg(WhatWindow)) {
  294.             switch(Class) {
  295.                 case GADGETUP:
  296.                     switch(Gadget->GadgetID) {
  297.                         case    OKIDOKI_ID:
  298.                         case    CANCEL_ID:
  299.                             running = FALSE;
  300.                             break;
  301.                     }
  302.             }
  303.         }
  304.     } while(running == TRUE);
  305.  
  306.     CloseWindow(WhatWindow);
  307.  
  308.     if(Gadget->GadgetID == OKIDOKI_ID) {
  309.         if(SelectTest(&CL))         gen_cl = TRUE;
  310.         else                        gen_cl = FALSE;
  311.         if(SelectTest(&BO))         gen_bo = TRUE;
  312.         else                        gen_bo = FALSE;
  313.         if(SelectTest(&RT))         gen_rt = TRUE;
  314.         else                        gen_rt = FALSE;
  315.         if(SelectTest(&SG))         gen_sg = TRUE;
  316.         else                        gen_sg = FALSE;
  317.         if(SelectTest(&GD))         gen_gd = TRUE;
  318.         else                        gen_gd = FALSE;
  319.         if(SelectTest(&WD))         gen_wd = TRUE;
  320.         else                        gen_wd = FALSE;
  321.         if(SelectTest(&SC))         gen_sc = TRUE;
  322.         else                        gen_sc = FALSE;
  323.         if(SelectTest(&SI))         gen_si = TRUE;
  324.         else                        gen_si = FALSE;
  325.         if(SelectTest(&MN))         gen_mn = TRUE;
  326.         else                        gen_mn = FALSE;
  327.  
  328.         enable_window();
  329.         ok();
  330.  
  331.         if(Check()) {
  332.             if(type)    WriteCGadgets();
  333.             else        WriteAsmGadgets();
  334.         }
  335.         return;
  336.     }
  337.     enable_window();
  338.     ok();
  339. }
  340.