home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / VRCREATS.VRM < prev    next >
Text File  |  1993-09-01  |  7KB  |  325 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.     VRCreatS: Generate a prototype for the VRCreateStem function
  116.  
  117.     Usage:  call VRCreatS <Parent>
  118.  
  119.     Where:  Parent is the parent window for the dialog
  120. */
  121. return
  122.  
  123. /*:VRX         Error
  124. */
  125. Error: procedure
  126.     field = arg( 1 )
  127.     error = arg( 2 )
  128.     call VRMessage VRWindow(), error, "Error"
  129.     call VRMethod field, "SetFocus"
  130. return
  131.  
  132. /*:VRX         Fini
  133. */
  134. Fini:
  135.     window = VRWindow()
  136.     call VRSet window, "Visible", 0
  137.     drop window
  138. return Prototype
  139.  
  140. /*:VRX         GenList_Click
  141. */
  142. GenList_Click:
  143.  
  144. set = VRGet( "GenList", "Set" )
  145. if set then do
  146.     call VRSet "DT_4", "Enabled", 0
  147.     call VRSet "StemName", "Enabled", 0
  148.     call VRSet "DT_3", "Enabled", 1
  149.     call VRSet "DT_5", "Enabled", 1
  150.     call VRSet "Quotes1", "Enabled", 1
  151.     call VRSet "Quotes2", "Enabled", 1
  152.     call VRSet "Info", "Enabled", 1
  153.     call VRSet "Value", "Enabled", 1
  154.     call Info_Change
  155.     call VRSet "LB_1", "Enabled", 1
  156. end
  157. else do
  158.     call VRSet "DT_4", "Enabled", 1
  159.     call VRSet "StemName", "Enabled", 1
  160.     call VRSet "DT_3", "Enabled", 0
  161.     call VRSet "DT_5", "Enabled", 0
  162.     call VRSet "Quotes1", "Enabled", 0
  163.     call VRSet "Quotes2", "Enabled", 0
  164.     call VRSet "Info", "Enabled", 0
  165.     call VRSet "Value", "Enabled", 0
  166.     call VRSet "Add_PB", "Enabled", 0
  167.     call VRSet "Remove_PB", "Enabled", 0
  168.     call VRSet "LB_1", "Enabled", 0
  169. end
  170.  
  171. return
  172.  
  173. /*:VRX         Halt
  174. */
  175. Halt:
  176.     signal _VREHalt
  177. return
  178.  
  179. /*:VRX         Info_Change
  180. */
  181. Info_Change:
  182.  
  183. info = VRGet( "Info", "Value" )
  184. value = VRGet( "Value", "Value" )
  185. if value \= "" & info \= "" then do
  186.     call VRSet "Add_PB", "Enabled", 1
  187. end
  188. else do
  189.     call VRSet "Add_PB", "Enabled", 0
  190. end
  191.  
  192. return
  193.  
  194. /*:VRX         Init
  195. */
  196. Init:
  197.  
  198.     Prototype = ""
  199.  
  200.     window = VRWindow()
  201.     call VRMethod window, "CenterWindow"
  202.     call VRSet window, "Visible", 1
  203.     call VRMethod window, "Activate"
  204.     drop window
  205. return
  206.  
  207. /*:VRX         LB_1_Click
  208. */
  209. LB_1_Click:
  210.  
  211. selected = VRGet( "LB_1", "SelectedString" )
  212. if selected \= "" then do
  213.     call VRSet "Remove_PB", "Enabled", 1
  214. end
  215. else do
  216.     call VRSet "Remove_PB", "Enabled", 0
  217. end
  218.  
  219. return
  220.  
  221. /*:VRX         PB_1_Click
  222. */
  223. PB_1_Click:
  224.     parent = VRGet( 'Object', 'Value' )
  225.     if parent = '' then do
  226.         call Error 'Parent', 'You must specify a parent object.'
  227.         return
  228.     end
  229.     if VRGet( "Quotes3", "Set" ) then do
  230.         parent = '"' || parent || '"'
  231.     end
  232.  
  233.     object = VRGet( 'ObjType', 'Value' )
  234.     if object = '' then do
  235.         call Error 'Object', 'You must specify an object type.'
  236.         return
  237.     end
  238.     if VRGet( "Quotes", "Set" ) then do
  239.         object = '"' || object || '"'
  240.     end
  241.  
  242.     pairs = ""
  243.     numpairs = VRGet( "LB_1", "Count" )
  244.     if numpairs > 0 then do
  245.         do i = 1 to numpairs
  246.             selected = VRMethod( "LB_1", "GetString", i )
  247.             parse var selected property ', ' value
  248.             Prototype = Prototype || "Props." || 2*i-1 "=",
  249.                         property || '0d0a'x
  250.             Prototype = Prototype || "Props." || 2*i "=",
  251.                         value || '0d0a'x
  252.         end
  253.         pairs = '"Props."'
  254.         Prototype = Prototype || "Props.0 =" 2*(i-1) ||,
  255.                     '0d0a'x || '0d0a'x
  256.     end
  257.  
  258.     Prototype = Prototype || 'object = VRCreateStem( ' || parent ||,
  259.                               ', ' || object ||,
  260.                               ', ' || pairs ||,
  261.                               ' )'
  262.  
  263.     call Quit
  264.  
  265. return
  266.  
  267. /*:VRX         PB_2_Click
  268. */
  269. PB_2_Click:
  270.     rc = ""
  271.     call Quit
  272. return
  273.  
  274. /*:VRX         PB_3_Click
  275. */
  276. PB_3_Click:
  277.     "view a2z.inf VRCreateStem function"
  278. return
  279.  
  280. /*:VRX         Quit
  281. */
  282. Quit:
  283.     window = VRWindow()
  284.     call VRSet window, "Shutdown", 1
  285.     drop window
  286. return
  287.  
  288. /*:VRX         Remove_PB_Click
  289. */
  290. Remove_PB_Click:
  291.  
  292. selected = VRGet( "LB_1", "Selected" )
  293. call VRMethod "LB_1", "Delete", selected
  294. selected = VRGet( "LB_1", "SelectedString" )
  295. if selected \= "" then do
  296.     call VRSet "Remove_PB", "Enabled", 1
  297. end
  298. else do
  299.     call VRSet "Remove_PB", "Enabled", 0
  300. end
  301. return
  302.  
  303. /*:VRX         Value_Change
  304. */
  305. Value_Change:
  306.  
  307. info = VRGet( "Info", "Value" )
  308. value = VRGet( "Value", "Value" )
  309. if value \= "" & info \= "" then do
  310.     call VRSet "Add_PB", "Enabled", 1
  311. end
  312. else do
  313.     call VRSet "Add_PB", "Enabled", 0
  314. end
  315.  
  316. return
  317.  
  318. /*:VRX         Window1_Close
  319. */
  320. Window1_Close:
  321.     rc = ""
  322.     call Quit
  323. return
  324.  
  325.