home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 600-699 / ff634.lha / APIG / apig33.lzh / gadtools4.rexx < prev    next >
OS/2 REXX Batch file  |  1992-03-11  |  3KB  |  115 lines

  1. /* Example of GadTools Functions */
  2.  
  3. x = addlib("apig.library",0,-30,0)          /* make the lib avaiable */
  4.  
  5. call SET_APIG_GLOBALS()
  6.  
  7.  
  8. scr          = LOCKPUBSCREEN("Workbench")   /* gonna put our window  */
  9.                                             /* Workbench screen      */
  10.  
  11. scrvinfo     = GETVISUALINFO(scr)           /* NewGadgets need this  */
  12.  
  13. scrfont      = GETVALUE(scr,40,4,'p')       /* NewGadgets need this  */
  14.                                             /* points to TextAttr    */
  15.  
  16. glistpointer = ALLOCVEC(4,MEMF_CLEAR)       /* a pointer for context */
  17.  
  18. conxgad      = CREATECONTEXT(glistpointer)  
  19.  
  20. previousgadget = conxgad
  21.  
  22. myid = 10
  23.  
  24.  
  25. /* we now create and initialize a NewGadget structure */
  26.  
  27. newgadx = MAKENEWGADGET(scrvinfo,scrfont,65,32,145,42,"YOUR COLOR PALETTE",
  28.                         ,PLACETEXT_ABOVE,myid,null())
  29.  
  30. /* we now create the gadget, a color PALETTE gadget */
  31. /* remember we cannot have more than 15 parms       */
  32.  
  33. previousgadget = CREATEGADGET(PALETTE_KIND,previousgadget,newgadx,
  34.                                  ,GTPA_DEPTH,3,
  35.                                  ,GTPA_COLOR,3,
  36.                                  ,GTPA_INDICATORWIDTH,20,
  37.                                  ,GTPA_INDICATORHEIGHT,20,
  38.                                  ,TAG_DONE,0)
  39.  
  40. wintitle = "APIG v3.1 GadTools PALETTE_KIND Gadget Example"
  41. winidcmp = CLOSEWINDOW+GADGETUP+GADGETDOWN+MOUSEMOVE
  42. winflags = WINDOWCLOSE+WINDOWDRAG+WINDOWSIZING+WINDOWDEPTH+GIMMEZEROZERO,
  43.            +ACTIVATE
  44.  
  45. portname = "apiggadt4_port"
  46.  
  47. p = openport(portname)
  48.  
  49.  
  50. /* open window, last parm in OPENWINDOW call points to our gadgets  */
  51. w1  = OPENWINDOW(portname,0,30,640,200,2,4,winidcmp,winflags,wintitle,
  52.                  ,scr,0,null(),null(),conxgad)
  53.  
  54. call GT_REFRESHWINDOW(w1,null())  /* need after opening window */
  55.  
  56. rpw1 = GETWINDOWRASTPORT(w1) 
  57.  
  58. exitme = 0
  59.  
  60. do while exitme = 0
  61.  
  62.      x = waitpkt(portname)
  63.      do forever 
  64.         msg = getpkt(portname)
  65.         if msg = '0000 0000'x then leave
  66.  
  67.         msgclass  = getarg(msg,0)
  68.         msgclass  = getarg(msg,0)
  69.         msgcode   = getarg(msg,1)
  70.         msgqual   = getarg(msg,2)
  71.         msgmx     = getarg(msg,3)
  72.         msgmy     = getarg(msg,4)
  73.         msgsecs   = getarg(msg,5)
  74.         msgmics   = getarg(msg,6)
  75.         msgwinadr = getarg(msg,7)
  76.         msggadadr = getarg(msg,8)
  77.         msggadid  = getarg(msg,9)
  78.  
  79.         x = reply(msg,0)  
  80.         /*
  81.         say "class  =" msgclass
  82.         say "code   =" msgcode 
  83.         say "qual   =" msgqual 
  84.         say "mx     =" msgmx   
  85.         say "my     =" msgmy   
  86.         say "secs   =" msgsecs 
  87.         say "mics   =" msgmics 
  88.         say "winadr =" c2x(msgwinadr)
  89.         say "gadadr =" c2x(msggadadr)
  90.         say "gadid  =" msggadid 
  91.         */
  92.         select
  93.            when msgclass = CLOSEWINDOW then exitme = 1
  94.            when msggadid = myid & msgclass = GADGETUP then 
  95.                 call pitext(rpw1,290,50,("You Selected Color" msgcode),1,2,JAM2,null())
  96.            otherwise nop
  97.         end
  98.      end
  99. end
  100.  
  101. call CLOSEWINDOW(w1)
  102.  
  103. call UNLOCKPUBSCREEN(null(),scr)
  104.  
  105. call FREEVISUALINFO(scrvinfo)
  106.  
  107. call FREEGADGETS(conxgad)
  108.  
  109. call FREETHIS(newgadx)
  110.  
  111. call FREEVEC(glistpointer)
  112.  
  113. exit
  114.  
  115.