home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / SPKEYS.VRM < prev    next >
Text File  |  1993-09-01  |  5KB  |  207 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.     SPKeys: Generate a prototype for the Send/PostKeyString methods
  93.  
  94.     Usage:  call SPKeys <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.  
  141.     window = VRWindow()
  142.     call VRMethod window, "CenterWindow"
  143.     call VRSet window, "Visible", 1
  144.     call VRMethod window, "Activate"
  145.     drop window
  146.  
  147. return
  148.  
  149. /*:VRX         PB_1_Click
  150. */
  151. PB_1_Click:
  152.     object = "Application"
  153.  
  154.     window = VRGet( 'Window', 'Value' )
  155.     if window = '' then do
  156.         call Error 'Window', 'You must specify a window handle.'
  157.         return
  158.     end
  159.  
  160.     keystr = VRGet( "KeyStr", "Value" )
  161.     if keystr = "" then do
  162.         call Error "KeyStr", "You must specify a key string to pass."
  163.         return
  164.     end
  165.     if VRGet( "Quotes", "Set" ) then do
  166.         keystr = '"' || keystr || '"'
  167.     end
  168.  
  169.     Prototype = 'ok = VRMethod( "' || object ||,
  170.                               '", "' || methname || '"' ||,
  171.                               ', ' || window ||,
  172.                               ', ' || keystr ||,
  173.                               ' )'
  174.  
  175.     call Quit
  176.  
  177. return
  178.  
  179. /*:VRX         PB_2_Click
  180. */
  181. PB_2_Click:
  182.     rc = ""
  183.     call Quit
  184. return
  185.  
  186. /*:VRX         PB_3_Click
  187. */
  188. PB_3_Click:
  189.     "view a2z.inf" methname "method"
  190. return
  191.  
  192. /*:VRX         Quit
  193. */
  194. Quit:
  195.     window = VRWindow()
  196.     call VRSet window, "Shutdown", 1
  197.     drop window
  198. return
  199.  
  200. /*:VRX         Window1_Close
  201. */
  202. Window1_Close:
  203.     rc = ""
  204.     call Quit
  205. return
  206.  
  207.