home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 1996 July / AMIGA_1996_7.BIN / patches / pagestream / 3.0cfupdate / macros.lha / SendtoBME.rexx < prev    next >
OS/2 REXX Batch file  |  1994-11-17  |  4KB  |  124 lines

  1. /* $VER: SendtoBME.rexx 1.0c (17.11.94)
  2.    Copyright 1994 Soft-Logik Publishing Corporation
  3.    May not be distributed without Soft-Logik Publishing Corporation's express written permission */
  4.  
  5. OPTIONS RESULTS
  6. TRACE OFF
  7.  
  8. /* Make sure rexx support is opened */
  9. IF ~SHOW('L','rexxsupport.library') THEN
  10.    CALL ADDLIB('rexxsupport.library',0,-30)
  11.  
  12. ADDRESS 'PAGESTREAM'
  13.  
  14. /* Check and see if one picture is selected */
  15. getobject type objtype
  16. if objtype~=12 then do
  17.     ADDRESS 'PAGESTREAM'
  18.     allocarexxrequester '"Send to Editor Error!"' 368 59
  19.     reqhandle=result
  20.     addarexxgadget reqhandle EXIT 286 42 70 label "_Exit"
  21.         Exithandle=result
  22.     addarexxgadget reqhandle TEXT 8 10 352 border none string "'One picture must be selected to edit in BME.'"
  23.     addarexxgadget reqhandle TEXT 8 20 352 border none string "'Select only one picture and try again.'"
  24.     doarexxrequester reqhandle
  25.     freearexxrequester reqhandle
  26.     EXIT
  27. end
  28.  
  29. /* Export the picture to a temp file */
  30. 'lockinterface true'
  31. 'exportgraphic file t:HotLinkedPicture filter iffilbm status force'
  32. /* Eventually will just make picture external, but not this version */
  33. /* 'editpicture external file t:HotLinkedPicture' */
  34. 'refresh wait'
  35.  
  36. /* set the default BME path */
  37. bmepath='PageStream3:BME'
  38. preffile='PageStream3:SendtoBME.prefs'
  39.  
  40. /* If BME doesn't exist in the default path, check SendtoBME.prefs */
  41. if ~exists(bmepath) then do
  42.     if open(.ifile, preffile, 'R') then do
  43.         bmepath=readln(.ifile)
  44.         call close(.ifile)
  45.         askuser='no'
  46.         end
  47.     else do
  48.         askuser='yes'
  49.     end
  50.     /* If BME doesn't exist in the set pref path, ask the user where it is */
  51.     if ~exists(bmepath) | askuser='yes' then do
  52.         getfile TITLE "'Please locate BME'" load path "'PageStream3:'" file BME posbutton 'Ok' negbutton 'Cancel'
  53.         if RC=10 then signal cancel
  54.         bmepath=result
  55.         if open(.ifile, preffile, 'W') then do
  56.             call writeln(.ifile, bmepath)
  57.             call close(.ifile)
  58.         end
  59.     end
  60. end
  61.  
  62.  
  63. /* Run BME */
  64. ADDRESS COMMAND
  65. 'run >nil:' bmepath
  66.  
  67. /* Wait until the ARexx port shows up */
  68. do 20
  69.     if ~show(P, 'BME') then call delay(50)
  70. end
  71.  
  72. /* If the ARexx port didn't show up, alert the user and exit */
  73. if ~show(P, 'BME') then do
  74.     ADDRESS 'PAGESTREAM'
  75.     allocarexxrequester '"Send to Editor Error!"' 368 59
  76.     reqhandle=result
  77.     addarexxgadget reqhandle EXIT 286 42 70 label "_Exit"
  78.         Exithandle=result
  79.     addarexxgadget reqhandle TEXT 8 10 352 border none string "'BME could not be started.'"
  80.     doarexxrequester reqhandle
  81.     freearexxrequester reqhandle
  82.     'refresh continue'
  83.     'lockinterface false'
  84.     EXIT
  85. end
  86.  
  87. ADDRESS 'BME'
  88. 'screentofront'
  89. 'open t:HotLinkedPicture'
  90.  
  91. /* While the user is in BME, let's get some info about the pic from PageStream */
  92. ADDRESS 'PAGESTREAM'
  93. getpicture position pstem frame fflag contentoffset cstem contentscale cstem rotation rstem about rstem constrain cflag print pflag
  94. gettextwrap region wmode wrap wtype standoff wstem
  95.  
  96. /* Wait for the user to finish in BME */
  97. do forever
  98.     if show(P, 'BME') then call delay(50)
  99.         else signal update
  100. end
  101.  
  102. /* update pgs and exit */
  103. UPDATE:
  104. ADDRESS 'PAGESTREAM'
  105. 'screentofront'
  106. /* Eventually will just make picture external, but not this version */
  107. /* 'editpicture path t:HotLinkedPicture' */
  108. /* 'editpicture internal' */
  109.  
  110. 'deleteobject'
  111. 'placegraphic file t:HotLinkedPicture filter iffilbm'
  112. editpicture position pstem.left pstem.top pstem.right pstem.bottom skew rstem.slant rstem.twist
  113. if fflag=ON then editpicture framed contentoffset cstem.x cstem.y contentscale cstem.h cstem.v
  114. settextwrap wmode standoff wstem.x wstem.y wtype
  115. signal cancel
  116.  
  117. CANCEL:
  118. ADDRESS 'PAGESTREAM'
  119. 'refresh continue'
  120. 'lockinterface false'
  121. ADDRESS COMMAND
  122. 'delete t:HotLinkedPicture'
  123. EXIT
  124.