home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / MINMAX.VRM < prev    next >
Text File  |  1993-09-01  |  5KB  |  247 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.     MinMax: Generate a prototype for Min and Max functions
  93.  
  94.     Usage:  call MinMax <Parent>, <Function>
  95.  
  96.     Where:  Parent is the parent window for the dialog
  97.  
  98.             Function is the function that is using this macro.
  99. */
  100. return
  101.  
  102. /*:VRX         Error
  103. */
  104. Error: procedure
  105.     field = arg( 1 )
  106.     error = arg( 2 )
  107.     call VRMessage VRWindow(), error, "Error"
  108.     call VRMethod field, "SetFocus"
  109. return
  110.  
  111. /*:VRX         Fini
  112. */
  113. Fini:
  114.     window = VRWindow()
  115.     call VRSet window, "Visible", 0
  116.     drop window
  117. return Prototype
  118.  
  119. /*:VRX         Halt
  120. */
  121. Halt:
  122.     signal _VREHalt
  123. return
  124.  
  125. /*:VRX         Init
  126. */
  127. Init:
  128.  
  129.     Prototype = ""
  130.  
  131.     TargetObject = InitArgs.1
  132.     argument = InitArgs.2
  133.     parse var argument Funcname
  134.     call VRSet "Window1", "Caption", funcname
  135.     call VRSet "PB_3", "HintText", "Help for the" funcname "function."
  136.  
  137.     window = VRWindow()
  138.     call VRMethod window, "CenterWindow"
  139.     call VRSet window, "Visible", 1
  140.     call VRMethod window, "Activate"
  141.     drop window
  142.  
  143. return
  144.  
  145. /*:VRX         PB_1_Click
  146. */
  147. PB_1_Click:
  148.  
  149.     if VRGet( "Values", "Count" ) = 0 then do
  150.         call Error "Value", "You must enter at least one value."
  151.         return
  152.     end
  153.     else do
  154.         values = ''
  155.         do i = 1 to VRGet( "Values", "Count" )
  156.             string = VRMethod( "Values", "GetString", i )
  157.             if values \= "" then values = values || ', '
  158.             values = values || string
  159.         end
  160.     end
  161.  
  162.     if funcname = "Min" then retval = "min"
  163.     if funcname = "Max" then retval = "max"
  164.     Prototype = retval ' = ' || Funcname ||,
  165.                            '( ' || values || ' )'
  166.  
  167.     call Quit
  168.  
  169. return
  170.  
  171. /*:VRX         PB_2_Click
  172. */
  173. PB_2_Click:
  174.     rc = ""
  175.     call Quit
  176. return
  177.  
  178. /*:VRX         PB_3_Click
  179. */
  180. PB_3_Click:
  181.     "view rexx.inf" funcname
  182. return
  183.  
  184. /*:VRX         PB_4_Click
  185. */
  186. PB_4_Click:
  187.  
  188. value = VRGet( "Value", "Value" )
  189. ok = VRSet( "Value", "Value", "" )
  190. position = VRMethod( "Values", "AddString", value,  )
  191. ok = VRSet( "PB_4", "Enabled", 0 )
  192. ok = VRMethod( "Value", "SetFocus" )
  193.  
  194. return
  195.  
  196. /*:VRX         PB_5_Click
  197. */
  198. PB_5_Click:
  199.  
  200.     selected = VRGet( "Values", "Selected" )
  201.     ok = VRMethod( "Values", "Delete", selected )
  202.     call Values_Click
  203.  
  204. return
  205.  
  206. /*:VRX         Quit
  207. */
  208. Quit:
  209.     window = VRWindow()
  210.     call VRSet window, "Shutdown", 1
  211.     drop window
  212. return
  213.  
  214. /*:VRX         Value_Change
  215. */
  216. Value_Change:
  217.  
  218.     if VRGet( "Value", "Value" ) \= "" then do
  219.         ok = VRSet( "PB_4", "Enabled", 1 )
  220.     end
  221.     else do
  222.         ok = VRSet( "PB_4", "Enabled", 0 )
  223.     end
  224.  
  225. return
  226.  
  227. /*:VRX         Values_Click
  228. */
  229. Values_Click:
  230.  
  231.     if VRGet( "Values", "SelectedString" ) \= "" then do
  232.         ok = VRSet( "PB_5", "Enabled", 1 )
  233.     end
  234.     else do
  235.         ok = VRSet( "PB_5", "Enabled", 0 )
  236.     end
  237.  
  238. return
  239.  
  240. /*:VRX         Window1_Close
  241. */
  242. Window1_Close:
  243.     rc = ""
  244.     call Quit
  245. return
  246.  
  247.