home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / LISTMETH.VRM < prev    next >
Text File  |  1993-09-01  |  4KB  |  202 lines

  1. /* Custom mainline for macro */
  2.  
  3.     call RXFuncAdd "VRLoadFuncs", "VROBJ", "VRLoadFuncs"
  4.     call VRLoadFuncs
  5.  
  6.     _VREVersion = SubWord( VRVersion( "VRObj" ), 1, 1 )
  7.     if( _VREVersion < 1.01 )then do
  8.         call VRMessage "", "This program requires VX-REXX version 1.01 to run", "Error!"
  9.         _VREReturnValue = 32000
  10.         signal _VRELeaveMain
  11.     end
  12.  
  13.     signal on SYNTAX name _VRESyntax
  14.     signal _VREMain
  15.  
  16. _VRESyntax:
  17.     parse source . . _VRESourceSpec
  18.     call VRMessage "", "Syntax error in" _VRESourceSpec "line" SIGL, "Error!"
  19.     _VREReturnValue = 32000
  20.     signal _VRELeaveMain
  21.  
  22. _VREMain:
  23. /*:VRX         Main
  24. */
  25. /*  Main
  26. */
  27. Main:
  28. /*  Process the arguments.
  29.     Get the parent window.
  30. */
  31.     parse source . calledAs .
  32.     parent = ""
  33.     argCount = arg()
  34.     argOff = 0
  35.     if( calledAs \= "COMMAND" )then do
  36.         if argCount >= 1 then do
  37.             parent = arg(1)
  38.             argCount = argCount - 1
  39.             argOff = 1
  40.         end
  41.     end
  42.     InitArgs.0 = argCount
  43.     if( argCount > 0 )then do i = 1 to argCount
  44.         InitArgs.i = arg( i + argOff )
  45.     end
  46.     drop calledAs argCount argOff
  47.  
  48. /*  Load the windows
  49. */
  50.     call VRInit
  51.     parse source . . spec
  52.     _VREPrimaryWindowPath = ,
  53.         VRParseFileName( spec, "dpn" ) || ".VRW"
  54.     _VREPrimaryWindow = ,
  55.         VRLoad( parent, _VREPrimaryWindowPath )
  56.     drop parent spec
  57.     if( _VREPrimaryWindow == "" )then do
  58.         call VRMessage "", "Cannot load window:" VRError(), ,
  59.             "Error!"
  60.         _VREReturnValue = 32000
  61.         signal _VRELeaveMain
  62.     end
  63.  
  64. /*  Process events
  65. */
  66.     call Init
  67.     signal on halt
  68.     do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
  69.         _VREEvent = VREvent()
  70.         interpret _VREEvent
  71.     end
  72. _VREHalt:
  73.     _VREReturnValue = Fini()
  74.     call VRDestroy _VREPrimaryWindow
  75. _VRELeaveMain:
  76.     call VRFini
  77. exit _VREReturnValue
  78.  
  79. VRLoadSecondary: procedure
  80.     name = arg( 1 )
  81.  
  82.     window = VRLoad( VRWindow(), VRWindowPath(), name )
  83.     call VRMethod window, "CenterWindow"
  84.     call VRSet window, "Visible", 1
  85.     call VRMethod window, "Activate"
  86. return window
  87.  
  88. /*:VRX         Comments
  89. */
  90. Comments:
  91. /*  
  92.     ListMeth: Generate a prototype for the ...List methods
  93.  
  94.     Usage:  call DeleteL <Parent>, <Object>, <Method>
  95.  
  96.     Where:  Parent is the parent window for the dialog
  97.         
  98.             Object is the name or id of the object.
  99.  
  100.             Method is the name of the method that is using this macro.
  101. */
  102. return
  103.  
  104. /*:VRX         Error
  105. */
  106. Error: procedure
  107.     field = arg( 1 )
  108.     error = arg( 2 )
  109.     call VRMessage VRWindow(), error, "Error"
  110.     call VRMethod field, "SetFocus"
  111. return
  112.  
  113. /*:VRX         Fini
  114. */
  115. Fini:
  116.     window = VRWindow()
  117.     call VRSet window, "Visible", 0
  118.     drop window
  119. return Prototype
  120.  
  121. /*:VRX         Halt
  122. */
  123. Halt:
  124.     signal _VREHalt
  125. return
  126.  
  127. /*:VRX         Init
  128. */
  129. Init:
  130.  
  131.     Prototype = ""
  132.  
  133. /*  Assume 1 argument: object.  
  134. */
  135.     TargetObject = InitArgs.1
  136.     methname = InitArgs.2
  137.     call VRSet "Window1", "Caption", methname
  138.     call VRSet "PB_3", "HintText", "Help for the" methname "method."
  139.     name = TargetObject
  140.     call VRSet 'Object', 'Value', name
  141.  
  142.     window = VRWindow()
  143.     call VRMethod window, "CenterWindow"
  144.     call VRSet window, "Visible", 1
  145.     call VRMethod window, "Activate"
  146.     drop window
  147.  
  148. return
  149.  
  150. /*:VRX         PB_1_Click
  151. */
  152. PB_1_Click:
  153.     object = VRGet( 'Object', 'Value' )
  154.  
  155.     stem = VRGet( 'Stem', 'Value' )
  156.     if stem = '' then do
  157.         call Error 'Stem', 'You must specify a stem variable name.'
  158.         return
  159.     end
  160.     if LASTPOS( ".", stem ) \= LENGTH( stem ) then do
  161.         call Error 'Stem', 'The stem variable you specify must end in a ".".'
  162.         return
  163.     end
  164.  
  165.     Prototype = 'ok = VRMethod( "' || object ||,
  166.                               '", "' || methname || '"' ||,
  167.                               ', "' || stem ||,
  168.                               '" )'
  169.  
  170.     call Quit
  171.  
  172. return
  173.  
  174. /*:VRX         PB_2_Click
  175. */
  176. PB_2_Click:
  177.     rc = ""
  178.     call Quit
  179. return
  180.  
  181. /*:VRX         PB_3_Click
  182. */
  183. PB_3_Click:
  184.     "view a2z.inf" methname "method"
  185. return
  186.  
  187. /*:VRX         Quit
  188. */
  189. Quit:
  190.     window = VRWindow()
  191.     call VRSet window, "Shutdown", 1
  192.     drop window
  193. return
  194.  
  195. /*:VRX         Window1_Close
  196. */
  197. Window1_Close:
  198.     rc = ""
  199.     call Quit
  200. return
  201.  
  202.