home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vrextras.zip / vrextras.VRX < prev    next >
Text File  |  1995-08-25  |  7KB  |  309 lines

  1. /*:VRX         Main
  2. */
  3. /*  Main
  4. */
  5. Main:
  6. /*  Process the arguments.
  7.     Get the parent window.
  8. */
  9.     parse source . calledAs .
  10.     parent = ""
  11.     argCount = arg()
  12.     argOff = 0
  13.     if( calledAs \= "COMMAND" )then do
  14.         if argCount >= 1 then do
  15.             parent = arg(1)
  16.             argCount = argCount - 1
  17.             argOff = 1
  18.         end
  19.     end; else do
  20.         call VROptions 'ImplicitNames'
  21.         call VROptions 'NoEchoQuit'
  22.     end
  23.     InitArgs.0 = argCount
  24.     if( argCount > 0 )then do i = 1 to argCount
  25.         InitArgs.i = arg( i + argOff )
  26.     end
  27.     drop calledAs argCount argOff
  28.  
  29. /*  Load the windows
  30. */
  31.     call VRInit
  32.     parse source . . spec
  33.     _VREPrimaryWindowPath = ,
  34.         VRParseFileName( spec, "dpn" ) || ".VRW"
  35.     _VREPrimaryWindow = ,
  36.         VRLoad( parent, _VREPrimaryWindowPath )
  37.     drop parent spec
  38.     if( _VREPrimaryWindow == "" )then do
  39.         call VRMessage "", "Cannot load window:" VRError(), ,
  40.             "Error!"
  41.         _VREReturnValue = 32000
  42.         signal _VRELeaveMain
  43.     end
  44.  
  45. /*  Process events
  46. */
  47.     call Init
  48.     signal on halt
  49.     do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
  50.         _VREEvent = VREvent()
  51.         interpret _VREEvent
  52.     end
  53. _VREHalt:
  54.     _VREReturnValue = Fini()
  55.     call VRDestroy _VREPrimaryWindow
  56. _VRELeaveMain:
  57.     call VRFini
  58. exit _VREReturnValue
  59.  
  60. VRLoadSecondary:
  61.     __vrlsWait = abbrev( 'WAIT', translate(arg(2)), 1 )
  62.     if __vrlsWait then do
  63.         call VRFlush
  64.     end
  65.     __vrlsHWnd = VRLoad( VRWindow(), VRWindowPath(), arg(1) )
  66.     if __vrlsHWnd = '' then signal __vrlsDone
  67.     if __vrlsWait \= 1 then signal __vrlsDone
  68.     call VRSet __vrlsHWnd, 'WindowMode', 'Modal' 
  69.     __vrlsTmp = __vrlsWindows.0
  70.     if( DataType(__vrlsTmp) \= 'NUM' ) then do
  71.         __vrlsTmp = 1
  72.     end
  73.     else do
  74.         __vrlsTmp = __vrlsTmp + 1
  75.     end
  76.     __vrlsWindows.__vrlsTmp = VRWindow( __vrlsHWnd )
  77.     __vrlsWindows.0 = __vrlsTmp
  78.     do while( VRIsValidObject( VRWindow() ) = 1 )
  79.         __vrlsEvent = VREvent()
  80.         interpret __vrlsEvent
  81.     end
  82.     __vrlsTmp = __vrlsWindows.0
  83.     __vrlsWindows.0 = __vrlsTmp - 1
  84.     call VRWindow __vrlsWindows.__vrlsTmp 
  85.     __vrlsHWnd = ''
  86. __vrlsDone:
  87. return __vrlsHWnd
  88.  
  89. /*:VRX         Fini
  90. */
  91. Fini:
  92.     window = VRWindow()
  93.     call VRSet window, "Visible", 0
  94.     drop window
  95. return 0
  96.  
  97. /*:VRX         Halt
  98. */
  99. Halt:
  100.     signal _VREHalt
  101. return
  102.  
  103. /*:VRX         idm_center_Click
  104. */
  105. idm_center_Click: 
  106.     call VRSet TTm, "Justification", "Centered"
  107. return
  108.  
  109. /*:VRX         idm_left_Click
  110. */
  111. idm_left_Click: 
  112.     call VRSet TTm, "Justification", "Left"
  113. return
  114.  
  115. /*:VRX         idm_right_Click
  116. */
  117. idm_right_Click: 
  118.     call VRSet TTm, "Justification", "Right"
  119. return
  120.  
  121. /*:VRX         Init
  122. */
  123. Init:
  124.     call VRRedirectStdIO "off"
  125.     window = VRWindow()
  126.     call VRMethod window, "CenterWindow"
  127.     call VRSet window, "Visible", 1
  128.     call VRMethod window, "Activate"
  129.  
  130.     TTm = 'TT_3';
  131.     Left = VRGet( "GB_1", "Left");
  132.     Top = VRGet( "GB_1", "Top");
  133.     vinc = format( VRGet( window, "InteriorHeight") / 100,,0);
  134.     hinc = format( VRGet( window, "InteriorWidth") / 100,,0);
  135.  
  136.     horz_pos = 100;
  137.     vert_pos = 100;
  138.  
  139.     drop window
  140. return
  141.  
  142. /*:VRX         LI_1_Click
  143. */
  144. LI_1_Click: 
  145.     TTm = VRInfo( "Object");
  146.     call Reset_scroll
  147. return
  148.  
  149. /*:VRX         LI_2_Click
  150. */
  151. LI_2_Click: 
  152.     TTm = VRInfo( "Object");
  153.     call Reset_scroll
  154. return
  155.  
  156. /*:VRX         LI_3_Click
  157. */
  158. LI_3_Click: 
  159.     TTm = VRInfo( "Object");
  160.     call Reset_scroll
  161. return
  162.  
  163. /*:VRX         LI_4_Click
  164. */
  165. LI_4_Click: 
  166.     TTm = VRInfo( "Object");
  167.     call Reset_scroll
  168. return
  169.  
  170. /*:VRX         PB_1_Click
  171. */
  172. PB_1_Click: 
  173.     call Quit
  174. return
  175.  
  176. /*:VRX         PB_1_ContextMenu
  177. */
  178. PB_1_ContextMenu: 
  179.     TTm = VRInfo( "Object");
  180.     call Reset_scroll
  181. return
  182.  
  183. /*:VRX         Quit
  184. */
  185. Quit:
  186.     window = VRWindow()
  187.     call VRSet window, "Shutdown", 1
  188.     drop window
  189. return
  190.  
  191. /*:VRX         Reset_Scroll
  192. */
  193. Reset_Scroll: 
  194.     ok = VRSet( "SCR_3", "Value", 100 )
  195.     ok = VRSet( "SCR_4", "Value", 100 )
  196.     horz_pos = 100;
  197.     vert_pos = 100;
  198. return
  199.  
  200. /*:VRX         SCR_1_Change
  201. */
  202. SCR_1_Change: 
  203.     pos = (VRGet( "SCR_1", "value") - 50) * vinc;
  204.     ok = VRSet( "GB_1", "Top", top - pos);
  205. return
  206.  
  207. /*:VRX         SCR_1_Track
  208. */
  209. SCR_1_Track: 
  210.     pos = (VRGet( "SCR_1", "value") - 50) * vinc;
  211.     ok = VRSet( "GB_1", "Top", top - pos);
  212. return
  213.  
  214. /*:VRX         SCR_2_Change
  215. */
  216. SCR_2_Change: 
  217.     pos = (VRGet( "SCR_2", "value") - 50) * hinc;
  218.     ok = VRSet( "GB_1", "Left", left - pos);
  219. return
  220.  
  221. /*:VRX         SCR_2_Track
  222. */
  223. SCR_2_Track: 
  224.     pos = (VRGet( "SCR_2", "value") - 50) * hinc;
  225.     ok = VRSet( "GB_1", "Left", left - pos);
  226. return
  227.  
  228. /*:VRX         SCR_3_Change
  229. */
  230. SCR_3_Change: procedure expose vert_pos TTm
  231.     pos = VRGet( "SCR_3", "value")
  232.     inc = (pos - vert_pos) * 10;
  233.     x = VRGet( TTm, "Top");
  234.     call VRSet TTm, "Top", x + inc
  235.     vert_pos = pos
  236. return
  237.  
  238. /*:VRX         SCR_3_Track
  239. */
  240. SCR_3_Track: procedure expose vert_pos TTm
  241.     pos = VRGet( "SCR_3", "value")
  242.     inc = (pos - vert_pos) * 10;
  243.     x = VRGet( TTm, "Top");
  244.     call VRSet TTm, "Top", x + inc
  245.     vert_pos = pos
  246. return
  247.  
  248. /*:VRX         SCR_4_Change
  249. */
  250. SCR_4_Change: procedure expose horz_pos TTm
  251.     pos = VRGet( "SCR_4", "value")
  252.     inc = (pos - horz_pos) * 10;
  253.     x = VRGet( TTm, "Left");
  254.     call VRSet TTm, "Left", x + inc
  255.     horz_pos = pos
  256. return
  257.  
  258. /*:VRX         SCR_4_Track
  259. */
  260. SCR_4_Track: procedure expose horz_pos TTm
  261.     pos = VRGet( "SCR_4", "value")
  262.     inc = (pos - horz_pos) * 10;
  263.     x = VRGet( TTm, "Left");
  264.     call VRSet TTm, "Left", x + inc
  265.     horz_pos = pos
  266. return
  267.  
  268. /*:VRX         TT_2_Click
  269. */
  270. TT_2_Click: 
  271.     TTm = VRInfo( "Object");
  272.     call Reset_scroll
  273. return
  274.  
  275. /*:VRX         TT_2_ContextMenu
  276. */
  277. TT_2_ContextMenu: 
  278.     ok = VRMethod( "Menu1", "Popup")
  279.     TTm = VRInfo( "Source");
  280. return
  281.  
  282. /*:VRX         TT_3_Click
  283. */
  284. TT_3_Click: 
  285.     TTm = VRInfo( "Object");
  286.     call Reset_scroll
  287. return
  288.  
  289. /*:VRX         TT_3_ContextMenu
  290. */
  291. TT_3_ContextMenu: 
  292.     ok = VRMethod( "Menu1", "Popup")
  293.     TTm = VRInfo( "Source");
  294. return
  295.  
  296. /*:VRX         Window1_Close
  297. */
  298. Window1_Close:
  299.     call Quit
  300. return
  301.  
  302. /*:VRX         Window1_Resize
  303. */
  304. Window1_Resize: 
  305.     ok = VRMethod( "TT_2", "Refresh" )
  306.     ok = VRMethod( "TT_3", "Refresh" )
  307. return
  308.  
  309.