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 / newmenus1.rexx < prev    next >
OS/2 REXX Batch file  |  1992-03-11  |  6KB  |  146 lines

  1.  
  2. /* Example Using New Menus  */
  3.  
  4.  x = addlib("apig.library",0,-30,0)
  5.  
  6.  portname = "nmex1_port"
  7.  p = openport(portname)
  8.  
  9.  call set_apig_globals()
  10.  
  11.  scrtitle    = "Hey Buddy, Yea You,  This is Your New Screen  !"
  12.  wintitle    = "APIG 3.1 Simple Menu Example"
  13.  winidcmp    = IDCMP_CLOSEWINDOW+IDCMP_MENUPICK
  14.  winflags    = WFLG_CLOSEGADGET+WFLG_DEPTHGADGET+WFLG_ACTIVATE
  15.  
  16.  scr = openscreen(0,0,640,400,4,4,5,LACE+HIRES,CUSTOMSCREEN,scrtitle)
  17.  
  18. scrvinfo     = GETVISUALINFO(scr)
  19. scrfont      = GETVALUE(scr,40,4,'p')
  20.  
  21.  /* open window */
  22. w1  = openwindow(portname,,,640,400,2,4,winidcmp,winflags,wintitle,scr,,,) 
  23. w1rptr = getwindowrastport(w1)
  24.  
  25. newmdata = MAKENEWMENU()   /* this is gonna allocate a NewMenu array  */
  26.                            /* initially with 20 (default) empty slots */
  27.                            /* MAKENEWMENU(50), would allocate 50      */
  28.  
  29. /* use ADDTO_NEWMENU to fill the NewMenu array */
  30. /* IF more than 20 (initial #slots) calls are  */
  31. /* made to ADDTO_NEWMENU, then ADDTO_NEWMENU   */
  32. /* will automatically re-allocate the array to */
  33. /* hold an additional 20 array entries.        */
  34.  
  35. call ADDTO_NEWMENU(newmdata,NM_TITLE,"Project","",0,0,null())
  36. call ADDTO_NEWMENU(newmdata,NM_ITEM,"New","N",0,0,null())
  37. call ADDTO_NEWMENU(newmdata,NM_ITEM,"Open","O",0,0,null())
  38. call ADDTO_NEWMENU(newmdata,NM_ITEM,"Close","C",0,0,null())
  39. call ADDTO_NEWMENU(newmdata,NM_ITEM,"Save","",0,0,null())
  40. call ADDTO_NEWMENU(newmdata,NM_SUB,"Save As New","W",0,0,null())
  41. call ADDTO_NEWMENU(newmdata,NM_SUB,"Save as Old","S",0,0,null())
  42. call ADDTO_NEWMENU(newmdata,NM_ITEM,NM_BARLABEL,"",0,0,null())
  43. call ADDTO_NEWMENU(newmdata,NM_ITEM,"Quit","Q",0,0,null())
  44.  
  45. call ADDTO_NEWMENU(newmdata,NM_TITLE,"Subject 1","",0,0,null())
  46. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 1","",0,0,null())
  47. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 2","",0,0,null())
  48. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 3","",0,0,null())
  49. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 4","",0,0,null())
  50. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 5","",0,0,null())
  51. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 6","",0,0,null())
  52. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 7","",0,0,null())
  53. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 8","",0,0,null())
  54. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 9","",0,0,null())
  55.  
  56. call ADDTO_NEWMENU(newmdata,NM_TITLE,"Subject 2","",0,0,null())
  57. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 1","",0,0,null())
  58. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 2","",0,0,null())
  59. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 3","",0,0,null())
  60. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 4","",0,0,null())
  61. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 5","",0,0,null())
  62. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 6","",0,0,null())
  63. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 7","",0,0,null())
  64. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 8","",0,0,null())
  65. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 9","",0,0,null())
  66. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 9","",0,0,null())
  67. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -10","",0,0,null())
  68. call ADDTO_NEWMENU(newmdata,NM_ITEM,NM_BARLABEL,"",0,0,null())
  69. call ADDTO_NEWMENU(newmdata,NM_ITEM,NM_BARLABEL,"",0,0,null())
  70. call ADDTO_NEWMENU(newmdata,NM_ITEM,NM_BARLABEL,"",0,0,null())
  71. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -11","",0,0,null())
  72. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -12","",0,0,null())
  73. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -13","",0,0,null())
  74. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -14","",0,0,null())
  75. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -15","",0,0,null())
  76. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -16","",0,0,null())
  77. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -17","",0,0,null())
  78. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -18","",0,0,null())
  79. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -19","",0,0,null())
  80. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM -20","",0,0,null())
  81.  
  82. call ADDTO_NEWMENU(newmdata,NM_TITLE,"Subject 3","",0,0,null())
  83. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 1","",0,0,null())
  84. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 2","",0,0,null())
  85. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 3","",0,0,null())
  86. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 4","",0,0,null())
  87. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 5","",0,0,null())
  88. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 6","",0,0,null())
  89. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 7","",0,0,null())
  90. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 8","",0,0,null())
  91. call ADDTO_NEWMENU(newmdata,NM_ITEM,"ITEM - 9","",0,0,null())
  92.  
  93. call ADDTO_NEWMENU(newmdata,NM_END,"","",0,0,null())
  94.  
  95.  
  96. /* NOTE: newmdata really does not point to the NewMenu array   */
  97. /*       CREATEMENUSA() will try and validate newmdata. If it  */
  98. /*       fails CREATEMENUSA will assume that newmdata points   */
  99. /*       to a 'real' NewMenu structure array and use it as-is. */
  100. /*       (see doc file section on APIG pointers)               */
  101.  
  102. realmenu = CREATEMENUSA(newmdata,null())
  103.  
  104. call LAYOUTMENUSA(realmenu,scrvinfo,null())
  105.  
  106. x = SETMENUSTRIP(w1,realmenu)
  107.  
  108. exitme = 0
  109.  
  110. z = pitext(w1rptr,200,80,"A Simple Menu Example",1,0,JAM2,0)
  111.  
  112. do forever
  113.      x = waitpkt(portname)
  114.   
  115.      do forever 
  116.   
  117.         msg = '0000 0000'x
  118.         msg = getpkt(portname)
  119.  
  120.         if msg = '0000 0000'x then leave
  121.  
  122.         class = getarg(msg,0)
  123.       
  124.         if class = IDCMP_CLOSEWINDOW then exitme = 1
  125.  
  126.         x = reply(msg,0)  
  127.      end  
  128.  
  129.    if exitme = 1 then leave
  130.    
  131. end
  132.  
  133.  
  134. z = CLOSEWINDOW(w1)
  135.  
  136. z = FREEMENUS(realmenu)
  137.  
  138. call FREEVISUALINFO(scrvinfo)
  139.  
  140. z = CLOSESCREEN(scr)
  141.  
  142. z = FREETHIS(newmdata)
  143.  
  144. exit
  145.  
  146.