home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / dirs / cross_464.lzh / Cross / txt / CPCGads.mod < prev    next >
Text File  |  1991-03-09  |  3KB  |  135 lines

  1. IMPLEMENTATION MODULE CPCGads;
  2.  
  3.  
  4. FROM CPCGlobal
  5.  IMPORT lstring,switch,search,show,window,rastport,msg,stat;
  6.  
  7. FROM Gadgets IMPORT noRequester,GadFlags,GadFlagSet,DrawBoolGadget,RemGadget;
  8.  
  9. FROM Graphics IMPORT RastPortPtr,SetAPen,RectFill;
  10.  
  11. FROM IntuiIO IMPORT WINDOW,GADGET;
  12.  
  13.  
  14. CONST
  15.  maxgadgets=10;
  16.  outergadwidth=639-((stat-1)*8);
  17.  gadgoff=639-outergadwidth;
  18.  innergadwidth=outergadwidth-6;
  19.  
  20.  
  21.  
  22. TYPE
  23.  ShowMode=(startup,allgads,justfinish,finishing,nogads);
  24.  
  25.  
  26.  
  27. VAR
  28.  gads: ARRAY [0..maxgadgets] OF GADGET;
  29.  gadpresent: ARRAY [0..maxgadgets] OF BOOLEAN;
  30.  loop: INTEGER;
  31.  mode: ShowMode;
  32.  
  33.  
  34. PROCEDURE mkGadget(x,y: INTEGER; text: lstring; id: INTEGER; gaddis: BOOLEAN);
  35.  VAR
  36.   t: lstring;
  37.  BEGIN
  38.   IF gadpresent[id] THEN
  39.    RemGadget(gads[id],window,FALSE);
  40.    gadpresent[id]:=FALSE;
  41.   END;
  42.   t:=text;
  43.   IF gaddis THEN
  44.    gads[id]:=DrawBoolGadget(window,noRequester,x,y,innergadwidth,12,
  45.                             GadFlagSet{border,disabled,selectUp},t,id);
  46.    gadpresent[id]:=TRUE;
  47.   ELSE
  48.    gads[id]:=DrawBoolGadget(window,noRequester,x,y,innergadwidth,12,
  49.                             GadFlagSet{border,selectUp},t,id);
  50.    gadpresent[id]:=TRUE;
  51.   END;
  52.  END mkGadget;
  53.  
  54.  
  55.  
  56. PROCEDURE ShowCommands;
  57.  BEGIN
  58.   IF (search=off) AND (show=on) AND (mode#allgads) THEN
  59.    SetAPen(rastport,0);
  60.    RectFill(rastport,gadgoff-2,38,639,200);
  61.    mkGadget(gadgoff, 40,msg[ 1],1,FALSE);
  62.    mkGadget(gadgoff, 56,msg[53],2,FALSE);
  63.    mkGadget(gadgoff, 72,msg[54],3,FALSE);
  64.    mkGadget(gadgoff, 88,msg[55],4,FALSE);
  65.    mkGadget(gadgoff,104,msg[56],5,FALSE);
  66.    mkGadget(gadgoff,120,msg[57],6,FALSE);
  67.    mkGadget(gadgoff,136,msg[58],7,FALSE);
  68.    mkGadget(gadgoff,152,msg[59],8,FALSE);
  69.    mkGadget(gadgoff,175,msg[60],0,FALSE);
  70.    mode:=allgads;
  71.   ELSIF (search=off) AND (show=off) AND (mode#finishing) THEN
  72.    SetAPen(rastport,0);
  73.    RectFill(rastport,gadgoff-2,38,639,200);
  74.    mkGadget(gadgoff, 40,msg[ 2],1,FALSE);
  75.    mkGadget(gadgoff, 56,msg[53],2,TRUE);
  76.    mkGadget(gadgoff, 72,msg[54],3,TRUE);
  77.    mkGadget(gadgoff, 88,msg[55],4,TRUE);
  78.    mkGadget(gadgoff,104,msg[56],5,TRUE);
  79.    mkGadget(gadgoff,120,msg[57],6,TRUE);
  80.    mkGadget(gadgoff,136,msg[58],7,TRUE);
  81.    mkGadget(gadgoff,152,msg[59],8,TRUE);
  82.    mkGadget(gadgoff,175,msg[60],0,FALSE);
  83.    mode:=finishing;
  84.   ELSIF (search=on) AND (mode#justfinish) THEN
  85.    SetAPen(rastport,0);
  86.    RectFill(rastport,gadgoff-2,38,639,200);
  87.    mkGadget(gadgoff, 40,msg[ 3],1,FALSE);
  88.    mkGadget(gadgoff, 56,msg[53],2,TRUE);
  89.    mkGadget(gadgoff, 72,msg[54],3,TRUE);
  90.    mkGadget(gadgoff, 88,msg[55],4,TRUE);
  91.    mkGadget(gadgoff,104,msg[56],5,TRUE);
  92.    mkGadget(gadgoff,120,msg[57],6,TRUE);
  93.    mkGadget(gadgoff,136,msg[58],7,TRUE);
  94.    mkGadget(gadgoff,152,msg[59],8,TRUE);
  95.    mkGadget(gadgoff,175,msg[60],0,FALSE);
  96.    mode:=justfinish;
  97.   END;
  98.  END ShowCommands;
  99.  
  100.  
  101.  
  102. PROCEDURE ForceShowCommands;
  103.  BEGIN
  104.   mode:=startup;
  105.   ShowCommands;
  106.  END ForceShowCommands;
  107.  
  108.  
  109.  
  110. PROCEDURE AllGadsOff;
  111.  BEGIN
  112.   IF mode#nogads THEN
  113.    SetAPen(rastport,0);
  114.    RectFill(rastport,gadgoff-2,38,639,200);
  115.    mkGadget(gadgoff, 40,"",1,TRUE);
  116.    mkGadget(gadgoff, 56,"",2,TRUE);
  117.    mkGadget(gadgoff, 72,"",3,TRUE);
  118.    mkGadget(gadgoff, 88,"",4,TRUE);
  119.    mkGadget(gadgoff,104,"",5,TRUE);
  120.    mkGadget(gadgoff,120,"",6,TRUE);
  121.    mkGadget(gadgoff,136,"",7,TRUE);
  122.    mkGadget(gadgoff,152,"",8,TRUE);
  123.    mkGadget(gadgoff,175,"",0,TRUE);
  124.    mode:=nogads;
  125.   END;
  126.  END AllGadsOff;
  127.  
  128.  
  129. BEGIN
  130.  FOR loop:=0 TO maxgadgets DO
  131.   gadpresent[loop]:=FALSE;
  132.  END;
  133.  mode:=startup;
  134. END CPCGads.
  135.