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 / gadtools1.rexx < prev    next >
OS/2 REXX Batch file  |  1992-03-11  |  3KB  |  120 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,12,"STRING GADGET 1",
  28.                         ,PLACETEXT_ABOVE,myid,null())
  29.  
  30. /* we now create the gadget, a STRING gadget */
  31.  
  32. previousgadget = CREATEGADGET(STRING_KIND,previousgadget,newgadx,
  33.                                  ,GTST_MAXCHARS,20,TAG_DONE,0)
  34.  
  35. /* SETNEWGADGET re-uses the NewGadget structure 'newgadx'   */
  36. /* resetting the values for the creation of our next gadget */
  37.  
  38. call SETNEWGADGET(newgadx,scrvinfo,scrfont,65,62,145,12,"STRING GADGET 2",
  39.                   ,PLACETEXT_ABOVE,myid+10,null())
  40.  
  41. /* and we create another gadget */
  42.  
  43. previousgadget = CREATEGADGET(STRING_KIND,previousgadget,newgadx,
  44.                                  ,GTST_MAXCHARS,20,TAG_DONE,0)
  45.  
  46. /* and another ... get the idea  */
  47. call SETNEWGADGET(newgadx,scrvinfo,scrfont,65,92,145,12,"BUTTON KIND",
  48.                   ,PLACETEXT_ABOVE,myid+20,null())
  49.  
  50. previousgadget = CREATEGADGET(BUTTON_KIND,previousgadget,newgadx,TAG_DONE,0)
  51.  
  52.  
  53. call SETNEWGADGET(newgadx,scrvinfo,scrfont,265,62,145,12,"TEXT KIND 0",
  54.                   ,PLACETEXT_ABOVE,myid+30,null())
  55.  
  56. previousgadget = CREATEGADGET(TEXT_KIND,previousgadget,newgadx,
  57.                               ,GTTX_TEXT,"Ronnie E. Kelly",
  58.                               ,TAG_DONE,0)
  59.  
  60.  
  61. call SETNEWGADGET(newgadx,scrvinfo,scrfont,265,102,145,12,"TEXT KIND 1",
  62.                   ,PLACETEXT_ABOVE,myid+40,null())
  63.  
  64. previousgadget = CREATEGADGET(TEXT_KIND,previousgadget,newgadx,
  65.                               ,GTTX_TEXT,"Ronnie E. Kelly",
  66.                               ,GTTX_BORDER,1,
  67.                               ,TAG_DONE,0)
  68.  
  69.  
  70.  
  71. wintitle = "APIG v3.1 GadTools VARIOUS KINDs Example"
  72. winidcmp = CLOSEWINDOW+GADGETUP+GADGETDOWN+MOUSEMOVE
  73. winflags = WINDOWCLOSE+WINDOWDRAG+WINDOWSIZING+WINDOWDEPTH+GIMMEZEROZERO,
  74.            +ACTIVATE
  75.  
  76. portname = "apiggadt1_port"
  77.  
  78. p = openport(portname)
  79.  
  80.  
  81. /* open window, last parm in OPENWINDOW call points to our gadgets  */
  82. w1  = OPENWINDOW(portname,0,30,640,200,2,4,winidcmp,winflags,wintitle,
  83.                  ,scr,0,null(),null(),conxgad)
  84.  
  85. call GT_REFRESHWINDOW(w1,null())  /* need after opening window */
  86.  
  87. rpw1 = GETWINDOWRASTPORT(w1) 
  88.  
  89. exitme = 0
  90. do while exitme = 0
  91.  
  92.      x = waitpkt(portname)
  93.      do forever 
  94.         msg = getpkt(portname)
  95.         if msg = '0000 0000'x then leave
  96.  
  97.         msgclass  = getarg(msg,0)
  98.         x = reply(msg,0)  
  99.         select
  100.            when msgclass = CLOSEWINDOW then exitme = 1
  101.            otherwise nop
  102.         end
  103.      end
  104. end
  105.  
  106. call CLOSEWINDOW(w1)
  107.  
  108. call UNLOCKPUBSCREEN(null(),scr)
  109.  
  110. call FREEVISUALINFO(scrvinfo)
  111.  
  112. call FREEGADGETS(conxgad)
  113.  
  114. call FREETHIS(newgadx)
  115.  
  116. call FREEVEC(glistpointer)
  117.  
  118. exit
  119.  
  120.