home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / POST.VRM < prev    next >
Text File  |  1993-09-01  |  6KB  |  293 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         Add_PB_Click
  89. */
  90. Add_PB_Click:
  91.  
  92. info = VRGet( "Info", "Value" )
  93. value = VRGet( "Value", "Value" )
  94. if value \= "" & info \= "" then do
  95.     call VRSet "Add_PB", "Enabled", 0
  96.     call VRSet "Info", "Value", ""
  97.     call VRSet "Value", "Value", ""
  98.     iquoted = VRGet( "Quotes1", "Set" )
  99.     vquoted = VRGet( "Quotes2", "Set" )
  100.     if iquoted then info = '"' || info || '"'
  101.     if vquoted then value = '"' || value || '"'
  102.     string = info || ', ' || value
  103.     call VRMethod "LB_1", "AddString", string
  104. end
  105. else do
  106.     call VRSet "Add_PB", "Enabled", 0
  107. end
  108.  
  109. return
  110.  
  111. /*:VRX         Comments
  112. */
  113. Comments:
  114. /*  
  115.     Post: Generate a prototype for the Post method
  116.  
  117.     Usage:  call Post <Parent>, <Object>
  118.  
  119.     Where:  Parent is the parent window for the dialog
  120.         
  121.             Object is the name or id of object posting the event string.
  122. */
  123. return
  124.  
  125. /*:VRX         Error
  126. */
  127. Error: procedure
  128.     field = arg( 1 )
  129.     error = arg( 2 )
  130.     call VRMessage VRWindow(), error, "Error"
  131.     call VRMethod field, "SetFocus"
  132. return
  133.  
  134. /*:VRX         Fini
  135. */
  136. Fini:
  137.     window = VRWindow()
  138.     call VRSet window, "Visible", 0
  139.     drop window
  140. return Prototype
  141.  
  142. /*:VRX         Halt
  143. */
  144. Halt:
  145.     signal _VREHalt
  146. return
  147.  
  148. /*:VRX         Info_Change
  149. */
  150. Info_Change:
  151.  
  152. info = VRGet( "Info", "Value" )
  153. value = VRGet( "Value", "Value" )
  154. if value \= "" & info \= "" then do
  155.     call VRSet "Add_PB", "Enabled", 1
  156. end
  157. else do
  158.     call VRSet "Add_PB", "Enabled", 0
  159. end
  160.  
  161. return
  162.  
  163. /*:VRX         Init
  164. */
  165. Init:
  166.  
  167.     Prototype = ""
  168.  
  169. /*  Assume 1 argument: object.  
  170. */
  171.     TargetObject = InitArgs.1
  172.     name = TargetObject
  173.  
  174.     window = VRWindow()
  175.     call VRMethod window, "CenterWindow"
  176.     call VRSet window, "Visible", 1
  177.     call VRMethod window, "Activate"
  178.     drop window
  179. return
  180.  
  181. /*:VRX         LB_1_Click
  182. */
  183. LB_1_Click:
  184.  
  185. selected = VRGet( "LB_1", "SelectedString" )
  186. if selected \= "" then do
  187.     call VRSet "Remove_PB", "Enabled", 1
  188. end
  189. else do
  190.     call VRSet "Remove_PB", "Enabled", 0
  191. end
  192.  
  193. return
  194.  
  195. /*:VRX         PB_1_Click
  196. */
  197. PB_1_Click:
  198.     object = "Application"
  199.  
  200.     threadid = VRGet( 'ThreadID', 'Value' )
  201.     if threadid = '' then do
  202.         call Error 'Thread ID', 'You must specify a thread ID.'
  203.         return
  204.     end
  205.  
  206.     event = VRGet( 'Event', 'Value' )
  207.     if event = '' then do
  208.         call Error 'Event', 'You must specify an event string.'
  209.         return
  210.     end
  211.     if VRGet( "Quotes", "Set" ) then do
  212.         event = '"' || event || '"'
  213.     end
  214.  
  215.     pairs = ""
  216.     numpairs = VRGet( "LB_1", "Count" )
  217.     if numpairs > 0 then do
  218.         do i = 1 to numpairs
  219.             selected = VRMethod( "LB_1", "GetString", i )
  220.             pairs = pairs || ', ' || selected
  221.         end
  222.     end
  223.  
  224.     Prototype = 'ok = VRMethod( "' || object ||,
  225.                               '", "Post"' ||,
  226.                               ', ' || threadid ||,
  227.                               ', ' || event ||,
  228.                               pairs ||,
  229.                               ' )'
  230.  
  231.     call Quit
  232.  
  233. return
  234.  
  235. /*:VRX         PB_2_Click
  236. */
  237. PB_2_Click:
  238.     rc = ""
  239.     call Quit
  240. return
  241.  
  242. /*:VRX         PB_3_Click
  243. */
  244. PB_3_Click:
  245.     "view a2z.inf Post method"
  246. return
  247.  
  248. /*:VRX         Quit
  249. */
  250. Quit:
  251.     window = VRWindow()
  252.     call VRSet window, "Shutdown", 1
  253.     drop window
  254. return
  255.  
  256. /*:VRX         Remove_PB_Click
  257. */
  258. Remove_PB_Click:
  259.  
  260. selected = VRGet( "LB_1", "Selected" )
  261. call VRMethod "LB_1", "Delete", selected
  262. selected = VRGet( "LB_1", "SelectedString" )
  263. if selected \= "" then do
  264.     call VRSet "Remove_PB", "Enabled", 1
  265. end
  266. else do
  267.     call VRSet "Remove_PB", "Enabled", 0
  268. end
  269. return
  270.  
  271. /*:VRX         Value_Change
  272. */
  273. Value_Change:
  274.  
  275. info = VRGet( "Info", "Value" )
  276. value = VRGet( "Value", "Value" )
  277. if value \= "" & info \= "" then do
  278.     call VRSet "Add_PB", "Enabled", 1
  279. end
  280. else do
  281.     call VRSet "Add_PB", "Enabled", 0
  282. end
  283.  
  284. return
  285.  
  286. /*:VRX         Window1_Close
  287. */
  288. Window1_Close:
  289.     rc = ""
  290.     call Quit
  291. return
  292.  
  293.