home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / NUMPROPS.VRM < prev    next >
Text File  |  1993-09-01  |  4KB  |  194 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.     NUMProps: Generate a prototype for numerical value properties
  93.  
  94.     Usage:  call NUMProps <Parent>, <Object>, <Property>
  95.  
  96.     Where:  Parent is the parent window for the dialog
  97.         
  98.             Object is the name or id of the object.
  99.  
  100.             Property is the property 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 2 arguments: object, property.  
  134. */
  135.     TargetObject = InitArgs.1
  136.     propname = InitArgs.2
  137.     call VRSet "Window1", "Caption", propname
  138.     call VRSet "PB_3", "HintText", "Help for the" propname "property."
  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.     value = VRGet( "Number", "Value" )
  156.  
  157.     Prototype = 'ok = VRSet( "' || object ||,
  158.                               '", "' || propname || '"' ||,
  159.                               ', ' || value ||,
  160.                               ' )'
  161.  
  162.     call Quit
  163.  
  164. return
  165.  
  166. /*:VRX         PB_2_Click
  167. */
  168. PB_2_Click:
  169.     rc = ""
  170.     call Quit
  171. return
  172.  
  173. /*:VRX         PB_3_Click
  174. */
  175. PB_3_Click:
  176.     "view a2z.inf" propname "property"
  177. return
  178.  
  179. /*:VRX         Quit
  180. */
  181. Quit:
  182.     window = VRWindow()
  183.     call VRSet window, "Shutdown", 1
  184.     drop window
  185. return
  186.  
  187. /*:VRX         Window1_Close
  188. */
  189. Window1_Close:
  190.     rc = ""
  191.     call Quit
  192. return
  193.  
  194.