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 / slab.c < prev    next >
Text File  |  1991-09-15  |  13KB  |  498 lines

  1. /*----------------------------------------------------------------------*
  2.     slab.c Version 3.0 - © Copyright 1991 Jaba Development
  3.  
  4.     Author : Jan van den Baard
  5.     Purpose: Setting the source labels.
  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 RenderBordersPairs0[] = {
  14.   -1,-1,315,-1,315,168,-1,168,-1,-1 };
  15. static SHORT RenderBordersPairs1[] = {
  16.   -1,-1,314,-1,314,10,-1,10,-1,-1 };
  17.  
  18. static struct Border RenderBorders[] = {
  19.   3,2,0,0,JAM1,5,(SHORT *)&RenderBordersPairs0[0],&RenderBorders[1],
  20.   3,2,0,0,JAM1,5,(SHORT *)&RenderBordersPairs1[0],NULL };
  21.  
  22. static struct IntuiText RenderTexts = {
  23.   0,1,JAM1,60,3,NULL,(UBYTE *)"PowerSource Source Labels",NULL };
  24.  
  25. static UBYTE SBL_buf[32];
  26.  
  27. static UBYTE SBL_ubuf[32];
  28.  
  29. static struct StringInfo SBL_info = {
  30.   (UBYTE *)&SBL_buf,(UBYTE *)&SBL_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  31.  
  32. static SHORT SBL_pairs0[] = {
  33.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  34.  
  35. static struct Border SBL_bord = {
  36.   0,0,2,0,JAM1,5,(SHORT *)&SBL_pairs0[0],NULL };
  37.  
  38. static struct IntuiText SBL_text = {
  39.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Sh. Border :",NULL };
  40.  
  41. #define SBL_ID    12
  42.  
  43. static struct Gadget SBL = {
  44.   NULL,105,136,208,8,
  45.   GADGHCOMP,
  46.   RELVERIFY+STRINGCENTER,
  47.   STRGADGET,
  48.   (APTR)&SBL_bord,NULL,
  49.   &SBL_text,NULL,(APTR)&SBL_info,SBL_ID,NULL };
  50.  
  51. static UBYTE IMG_buf[32];
  52.  
  53. static UBYTE IMG_ubuf[32];
  54.  
  55. static struct StringInfo IMG_info = {
  56.   (UBYTE *)&IMG_buf,(UBYTE *)&IMG_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  57.  
  58. static SHORT IMG_pairs0[] = {
  59.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  60.  
  61. static struct Border IMG_bord = {
  62.   0,0,2,0,JAM1,5,(SHORT *)&IMG_pairs0[0],NULL };
  63.  
  64. static struct IntuiText IMG_text = {
  65.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Images     :",NULL };
  66.  
  67. #define IMG_ID    11
  68.  
  69. static struct Gadget IMG = {
  70.   &SBL,105,124,208,8,
  71.   GADGHCOMP,
  72.   RELVERIFY+STRINGCENTER,
  73.   STRGADGET,
  74.   (APTR)&IMG_bord,NULL,
  75.   &IMG_text,NULL,(APTR)&IMG_info,IMG_ID,NULL };
  76.  
  77. static UBYTE CLR_buf[32];
  78.  
  79. static UBYTE CLR_ubuf[32];
  80.  
  81. static struct StringInfo CLR_info = {
  82.   (UBYTE *)&CLR_buf,(UBYTE *)&CLR_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  83.  
  84. static SHORT CLR_pairs0[] = {
  85.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  86.  
  87. static struct Border CLR_bord = {
  88.   0,0,2,0,JAM1,5,(SHORT *)&CLR_pairs0[0],NULL };
  89.  
  90. static struct IntuiText CLR_text = {
  91.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Colors     :",NULL };
  92.  
  93. #define CLR_ID    10
  94.  
  95. static struct Gadget CLR = {
  96.   &IMG,105,112,208,8,
  97.   GADGHCOMP,
  98.   RELVERIFY+STRINGCENTER,
  99.   STRGADGET,
  100.   (APTR)&CLR_bord,NULL,
  101.   &CLR_text,NULL,(APTR)&CLR_info,CLR_ID,NULL };
  102.  
  103. static UBYTE RQS_buf[32];
  104.  
  105. static UBYTE RQS_ubuf[32];
  106.  
  107. static struct StringInfo RQS_info = {
  108.   (UBYTE *)&RQS_buf,(UBYTE *)&RQS_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  109.  
  110. static SHORT RQS_pairs0[] = {
  111.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  112.  
  113. static struct Border RQS_bord = {
  114.   0,0,2,0,JAM1,5,(SHORT *)&RQS_pairs0[0],NULL };
  115.  
  116. static struct IntuiText RQS_text = {
  117.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Requester  :",NULL };
  118.  
  119. #define RQS_ID    9
  120.  
  121. static struct Gadget RQS = {
  122.   &CLR,105,100,208,8,
  123.   GADGHCOMP,
  124.   RELVERIFY+STRINGCENTER,
  125.   STRGADGET,
  126.   (APTR)&RQS_bord,NULL,
  127.   &RQS_text,NULL,(APTR)&RQS_info,RQS_ID,NULL };
  128.  
  129. static UBYTE NWS_buf[32];
  130.  
  131. static UBYTE NWS_ubuf[32];
  132.  
  133. static struct StringInfo NWS_info = {
  134.   (UBYTE *)&NWS_buf,(UBYTE *)&NWS_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  135.  
  136. static SHORT NWS_pairs0[] = {
  137.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  138.  
  139. static struct Border NWS_bord = {
  140.   0,0,2,0,JAM1,5,(SHORT *)&NWS_pairs0[0],NULL };
  141.  
  142. static struct IntuiText NWS_text = {
  143.   0,1,JAM1,-98,0,NULL,(UBYTE *)"NewScreen  :",NULL };
  144.  
  145. #define NWS_ID    8
  146.  
  147. static struct Gadget NWS = {
  148.   &RQS,105,88,208,8,
  149.   GADGHCOMP,
  150.   RELVERIFY+STRINGCENTER,
  151.   STRGADGET,
  152.   (APTR)&NWS_bord,NULL,
  153.   &NWS_text,NULL,(APTR)&NWS_info,NWS_ID,NULL };
  154.  
  155. static UBYTE SPG_buf[32];
  156.  
  157. static UBYTE SPG_ubuf[32];
  158.  
  159. static struct StringInfo SPG_info = {
  160.   (UBYTE *)&SPG_buf,(UBYTE *)&SPG_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  161.  
  162. static SHORT SPG_pairs0[] = {
  163.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  164.  
  165. static struct Border SPG_bord = {
  166.   0,0,2,0,JAM1,5,(SHORT *)&SPG_pairs0[0],NULL };
  167.  
  168. static struct IntuiText SPG_text = {
  169.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Sp. Gadget :",NULL };
  170.  
  171. #define SPG_ID    7
  172.  
  173. static struct Gadget SPG = {
  174.   &NWS,105,76,208,8,
  175.   GADGHCOMP,
  176.   RELVERIFY+STRINGCENTER,
  177.   STRGADGET,
  178.   (APTR)&SPG_bord,NULL,
  179.   &SPG_text,NULL,(APTR)&SPG_info,SPG_ID,NULL };
  180.  
  181. static SHORT CNC_pairs0[] = {
  182.   -1,-1,147,-1,147,19,-1,19,-1,-1 };
  183.  
  184. static struct Border CNC_bord = {
  185.   0,0,0,0,JAM1,5,(SHORT *)&CNC_pairs0[0],NULL };
  186.  
  187. static struct IntuiText CNC_text = {
  188.   0,1,JAM1,49,6,NULL,(UBYTE *)"CANCEL",NULL };
  189.  
  190. #define CNC_ID    6
  191.  
  192. static struct Gadget CNC = {
  193.   &SPG,163,148,147,19,
  194.   GADGHCOMP,
  195.   RELVERIFY,
  196.   BOOLGADGET,
  197.   (APTR)&CNC_bord,NULL,
  198.   &CNC_text,NULL,NULL,CNC_ID,NULL };
  199.  
  200. static SHORT OKIDOKI_pairs0[] = {
  201.   -1,-1,147,-1,147,19,-1,19,-1,-1 };
  202.  
  203. static struct Border OKIDOKI_bord = {
  204.   0,0,0,0,JAM1,5,(SHORT *)&OKIDOKI_pairs0[0],NULL };
  205.  
  206. static struct IntuiText OKIDOKI_text = {
  207.   0,1,JAM1,65,6,NULL,(UBYTE *)"OK",NULL };
  208.  
  209. #define OKIDOKI_ID    5
  210.  
  211. static struct Gadget OKIDOKI = {
  212.   &CNC,8,148,147,19,
  213.   GADGHCOMP,
  214.   RELVERIFY,
  215.   BOOLGADGET,
  216.   (APTR)&OKIDOKI_bord,NULL,
  217.   &OKIDOKI_text,NULL,NULL,OKIDOKI_ID,NULL };
  218.  
  219. static UBYTE ITE_buf[32];
  220.  
  221. static UBYTE ITE_ubuf[32];
  222.  
  223. static struct StringInfo ITE_info = {
  224.   (UBYTE *)&ITE_buf,(UBYTE *)&ITE_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  225.  
  226. static SHORT ITE_pairs0[] = {
  227.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  228.  
  229. static struct Border ITE_bord = {
  230.   0,0,2,0,JAM1,5,(SHORT *)&ITE_pairs0[0],NULL };
  231.  
  232. static struct IntuiText ITE_text = {
  233.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Items      :",NULL };
  234.  
  235. #define ITE_ID    4
  236.  
  237. static struct Gadget ITE = {
  238.   &OKIDOKI,105,52,208,8,
  239.   GADGHCOMP,
  240.   RELVERIFY+STRINGCENTER,
  241.   STRGADGET,
  242.   (APTR)&ITE_bord,NULL,
  243.   &ITE_text,NULL,(APTR)&ITE_info,ITE_ID,NULL };
  244.  
  245. static UBYTE SBI_buf[32];
  246.  
  247. static UBYTE SBI_ubuf[32];
  248.  
  249. static struct StringInfo SBI_info = {
  250.   (UBYTE *)&SBI_buf,(UBYTE *)&SBI_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  251.  
  252. static SHORT SBI_pairs0[] = {
  253.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  254.  
  255. static struct Border SBI_bord = {
  256.   0,0,2,0,JAM1,5,(SHORT *)&SBI_pairs0[0],NULL };
  257.  
  258. static struct IntuiText SBI_text = {
  259.   0,1,JAM1,-98,0,NULL,(UBYTE *)"SubItems   :",NULL };
  260.  
  261. #define SBI_ID    3
  262.  
  263. static struct Gadget SBI = {
  264.   &ITE,105,64,208,8,
  265.   GADGHCOMP,
  266.   RELVERIFY+STRINGCENTER,
  267.   STRGADGET,
  268.   (APTR)&SBI_bord,NULL,
  269.   &SBI_text,NULL,(APTR)&SBI_info,SBI_ID,NULL };
  270.  
  271. static UBYTE MNU_buf[32];
  272.  
  273. static UBYTE MNU_ubuf[32];
  274.  
  275. static struct StringInfo MNU_info = {
  276.   (UBYTE *)&MNU_buf,(UBYTE *)&MNU_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  277.  
  278. static SHORT MNU_pairs0[] = {
  279.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  280.  
  281. static struct Border MNU_bord = {
  282.   0,0,2,0,JAM1,5,(SHORT *)&MNU_pairs0[0],NULL };
  283.  
  284. static struct IntuiText MNU_text = {
  285.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Menus      :",NULL };
  286.  
  287. #define MNU_ID    2
  288.  
  289. static struct Gadget MNU = {
  290.   &SBI,105,40,208,8,
  291.   GADGHCOMP,
  292.   RELVERIFY+STRINGCENTER,
  293.   STRGADGET,
  294.   (APTR)&MNU_bord,NULL,
  295.   &MNU_text,NULL,(APTR)&MNU_info,MNU_ID,NULL };
  296.  
  297. static UBYTE BRD_buf[32];
  298.  
  299. static UBYTE BRD_ubuf[32];
  300.  
  301. static struct StringInfo BRD_info = {
  302.   (UBYTE *)&BRD_buf,(UBYTE *)&BRD_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  303.  
  304. static SHORT BRD_pairs0[] = {
  305.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  306.  
  307. static struct Border BRD_bord = {
  308.   0,0,2,0,JAM1,5,(SHORT *)&BRD_pairs0[0],NULL };
  309.  
  310. static struct IntuiText BRD_text = {
  311.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Borders    :",NULL };
  312.  
  313. #define BRD_ID    1
  314.  
  315. static struct Gadget BRD = {
  316.   &MNU,105,28,208,8,
  317.   GADGHCOMP,
  318.   RELVERIFY+STRINGCENTER,
  319.   STRGADGET,
  320.   (APTR)&BRD_bord,NULL,
  321.   &BRD_text,NULL,(APTR)&BRD_info,BRD_ID,NULL };
  322.  
  323. static UBYTE TXT_buf[32];
  324.  
  325. static UBYTE TXT_ubuf[32];
  326.  
  327. static struct StringInfo TXT_info = {
  328.   (UBYTE *)&TXT_buf,(UBYTE *)&TXT_ubuf,0,32,0,0,0,0,0,0,NULL,NULL,NULL };
  329.  
  330. static SHORT TXT_pairs0[] = {
  331.   -1,-1,208,-1,208,8,-1,8,-1,-1 };
  332.  
  333. static struct Border TXT_bord = {
  334.   0,0,2,0,JAM1,5,(SHORT *)&TXT_pairs0[0],NULL };
  335.  
  336. static struct IntuiText TXT_text = {
  337.   0,1,JAM1,-98,0,NULL,(UBYTE *)"Texts      :",NULL };
  338.  
  339. #define TXT_ID    0
  340.  
  341. static struct Gadget TXT = {
  342.   &BRD,105,16,208,8,
  343.   GADGHCOMP,
  344.   RELVERIFY+STRINGCENTER,
  345.   STRGADGET,
  346.   (APTR)&TXT_bord,NULL,
  347.   &TXT_text,NULL,(APTR)&TXT_info,TXT_ID,NULL };
  348.  
  349. static struct NewWindow nw_label = {
  350.   0,15,320,172,0,1,GADGETUP,NOCAREREFRESH+SMART_REFRESH+BORDERLESS+ACTIVATE+RMBTRAP,
  351.   NULL,NULL,NULL,NULL,NULL,150,50,320,256,CUSTOMSCREEN };
  352.  
  353. extern struct Screen    *MainScreen;
  354. extern struct Gadget    *Gadget;
  355. extern ULONG             Class;
  356. extern BOOL              Saved;
  357.  
  358. static struct Window    *wds;
  359.  
  360. UBYTE   TextLabel[32]    = "RenderTexts";
  361. UBYTE   BorderLabel[32]  = "RenderBorders";
  362. UBYTE   MenuLabel[32]    = "MenuStrip";
  363. UBYTE   ItemLabel[32]    = "Items";
  364. UBYTE   SubLabel[32]     = "SubItems";
  365. UBYTE   SpecialLabel[32] = "SpecialGadget";
  366. UBYTE   ScreenLabel[32]  = "NewScreen";
  367. UBYTE   ReqLabel[32]     = "Requester";
  368. UBYTE   ColorLabel[32]   = "ColorMap";
  369. UBYTE   ImageLabel[32]   = "Images";
  370. UBYTE   SharedLabel[32]  = "SharedBorders";
  371.  
  372. void CheckLabel( UBYTE *buffer , UBYTE *old)
  373. {
  374.     UWORD   i;
  375.  
  376.     if(strlen(buffer)) {
  377.         for( i = 0; i < strlen(buffer); i++ ) {
  378.             if(buffer[i] == ' ')
  379.                 buffer[i] = '_';
  380.         }
  381.     } else
  382.         strcpy(buffer,old);
  383.  
  384.     RefreshGList(Gadget,wds,NULL,1L);
  385. }
  386.  
  387. void SetLabels( void )
  388. {
  389.     BOOL    running = TRUE;
  390.     UWORD   i;
  391.  
  392.     strcpy(&TXT_buf[0],&TextLabel[0]);
  393.     strcpy(&BRD_buf[0],&BorderLabel[0]);
  394.     strcpy(&MNU_buf[0],&MenuLabel[0]);
  395.     strcpy(&SBI_buf[0],&SubLabel[0]);
  396.     strcpy(&ITE_buf[0],&ItemLabel[0]);
  397.     strcpy(&SPG_buf[0],&SpecialLabel[0]);
  398.     strcpy(&NWS_buf[0],&ScreenLabel[0]);
  399.     strcpy(&RQS_buf[0],&ReqLabel[0]);
  400.     strcpy(&CLR_buf[0],&ColorLabel[0]);
  401.     strcpy(&IMG_buf[0],&ImageLabel[0]);
  402.     strcpy(&SBL_buf[0],&SharedLabel[0]);
  403.  
  404.     redisplay(&SBL);
  405.     redisplay(&IMG);
  406.     redisplay(&CLR);
  407.     redisplay(&RQS);
  408.     redisplay(&NWS);
  409.     redisplay(&SPG);
  410.     redisplay(&ITE);
  411.     redisplay(&SBI);
  412.     redisplay(&MNU);
  413.     redisplay(&BRD);
  414.     redisplay(&TXT);
  415.  
  416.     nw_label.Screen = MainScreen;
  417.  
  418.     if(NOT(wds = (struct Window *)OpenWindow(&nw_label)))
  419.         return;
  420.  
  421.     draw(wds,&TXT,&RenderBorders[0],&RenderTexts);
  422.  
  423.     ActivateGadget(&TXT,wds,NULL);
  424.  
  425.     do {
  426.         WaitPort(wds->UserPort);
  427.         while(read_msg(wds)) {
  428.             switch(Gadget->GadgetID) {
  429.                 case    TXT_ID:
  430.                     CheckLabel(&TXT_buf[0],&TextLabel[0]);
  431.                     ActivateGadget(&BRD,wds,NULL);
  432.                     break;
  433.                 case    BRD_ID:
  434.                     CheckLabel(&BRD_buf[0],&BorderLabel[0]);
  435.                     ActivateGadget(&MNU,wds,NULL);
  436.                     break;
  437.                 case    MNU_ID:
  438.                     CheckLabel(&MNU_buf[0],&MenuLabel[0]);
  439.                     ActivateGadget(&ITE,wds,NULL);
  440.                     break;
  441.                 case    ITE_ID:
  442.                     CheckLabel(&ITE_buf[0],&ItemLabel[0]);
  443.                     ActivateGadget(&SBI,wds,NULL);
  444.                     break;
  445.                 case    SBI_ID:
  446.                     CheckLabel(&SBI_buf[0],&SubLabel[0]);
  447.                     ActivateGadget(&SPG,wds,NULL);
  448.                     break;
  449.                 case    SPG_ID:
  450.                     CheckLabel(&SPG_buf[0],&SpecialLabel[0]);
  451.                     ActivateGadget(&NWS,wds,NULL);
  452.                     break;
  453.                 case    NWS_ID:
  454.                     CheckLabel(&NWS_buf[0],&ScreenLabel[0]);
  455.                     ActivateGadget(&RQS,wds,NULL);
  456.                     break;
  457.                 case    RQS_ID:
  458.                     CheckLabel(&RQS_buf[0],&ReqLabel[0]);
  459.                     ActivateGadget(&CLR,wds,NULL);
  460.                     break;
  461.                 case    CLR_ID:
  462.                     CheckLabel(&CLR_buf[0],&ColorLabel[0]);
  463.                     ActivateGadget(&IMG,wds,NULL);
  464.                     break;
  465.                 case    IMG_ID:
  466.                     CheckLabel(&IMG_buf[0],&ImageLabel[0]);
  467.                     ActivateGadget(&SBL,wds,NULL);
  468.                     break;
  469.                 case    SBL_ID:
  470.                     CheckLabel(&SBL_buf[0],&SharedLabel[0]);
  471.                     ActivateGadget(&TXT,wds,NULL);
  472.                     break;
  473.                 case    OKIDOKI_ID:
  474.                 case    CNC_ID:
  475.                     running = FALSE;
  476.                     break;
  477.             }
  478.         }
  479.     } while(running == TRUE);
  480.     CloseWindow(wds);
  481.  
  482.     if(Gadget->GadgetID == OKIDOKI_ID) {
  483.         strcpy(&TextLabel[0],&TXT_buf[0]);
  484.         strcpy(&BorderLabel[0],&BRD_buf[0]);
  485.         strcpy(&MenuLabel[0],&MNU_buf[0]);
  486.         strcpy(&SubLabel[0],&SBI_buf[0]);
  487.         strcpy(&ItemLabel[0],&ITE_buf[0]);
  488.         strcpy(&SpecialLabel[0],&SPG_buf[0]);
  489.         strcpy(&ScreenLabel[0],&NWS_buf[0]);
  490.         strcpy(&ReqLabel[0],&RQS_buf[0]);
  491.         strcpy(&ColorLabel[0],&CLR_buf[0]);
  492.         strcpy(&ImageLabel[0],&IMG_buf[0]);
  493.         strcpy(&SharedLabel[0],&SBL_buf[0]);
  494.  
  495.         Saved = FALSE;
  496.     }
  497. }
  498.