home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 13
/
AACD13.ISO
/
AACD
/
System
/
EASys
/
EASys!_update_481_to_482
/
EASys!
/
Programs
/
Presentate.rexx
< prev
Wrap
OS/2 REXX Batch file
|
2000-07-08
|
35KB
|
1,575 lines
/*
EASys! System © TNE) since 1995
Presentate.rexx
An alround datatype viewer dispatching system which is usable allover the system and
in embedded style within external user applications.
Makes heavy use of EASys!_bin:IDer program for detection of
file types, file viewers and file editors.
Needs: RexxReqTools, Presentation-Tools, see ENV:RefTable
possible args:
-FList <FileList_File> hand over a already prepared filelist from other EASys! Apps
+
-iconAdd user wants to add an icon to a file
-icontype <type> user wants to change the icontype of a WB selected icon
-delicon user wants to remove an icon from a file
-edit user wants to edit/work on selected files. Presentate will call the appropriate App for editing.
-print user wants the WB selected files to be printed.
*/
PARSE ARG UserArgs
CALL Init()
wbargs=0
cliargs=0
flist=0
startargs=0
UserArgs=STRIP(UserArgs,'B',' ')
IF POS('-FList',UserArgs)>0 THEN
DO
flist=1
lefts=''
rights=''
PARSE VAR UserArgs lefts'-FList 'rights
filelist_tmp=STRIP(WORD(rights,1),'B','"')
rights=RIGHT(rights,LENGTH(rights)-LENGTH(WORD(rights,1)))
UserArgs=lefts''rights
END
l=LENGTH(UserArgs)
SELECT
WHEN UPPER(LEFT(STRIP(UserArgs,'L','"'),4))='-DIR' THEN
DO
ActualPath=RIGHT(UserArgs,l-5)
ActualPath=STRIP(ActualPath,'B','"')
UserArgs=''
CALL WorkLoop
CALL ExitMe
END
WHEN WB_port=1 & POS('-print',UserArgs)=0 & (UserArgs='' | UserArgs='USERARGS') THEN
DO
wbargs=1
CALL WorkLoop
CALL ExitMe
END
WHEN WB_port=0 & POS('-print',UserArgs)=0 & (UserArgs='' | UserArgs='USERARGS') THEN
DO
CALL WorkLoop
CALL ExitMe
END
WHEN POS('AS_EasyView:',UserArgs)>0 THEN CALL EasyView
WHEN POS('AS_EasyPrint:',UserArgs)>0 THEN CALL EasyPrint
WHEN POS(':',UserArgs)>0 | POS('/',UserArgs)>0 THEN cliargs=1
WHEN UserArgs="??" THEN
DO
IF EXISTS('EASys!_bin:'Language'/Presentate.help') THEN ADDRESS COMMAND 'type EASys!_bin:'Language'/Presentate.help'
ELSE ADDRESS COMMAND 'type EASys!_bin:english/Presentate.help'
EXIT 0
END
WHEN WB_port=1 THEN wbargs=1
OTHERWISE NOP
END /* SELECT */
l=LENGTH(UserArgs)
SELECT
WHEN WORD(UserArgs,1)='-icontype' THEN CALL ChangeIconType
WHEN WORD(UserArgs,1)='-iconAdd' THEN CALL IconAdd
WHEN WORD(UserArgs,1)='-delicon' THEN CALL DelIcon
WHEN WORD(UserArgs,1)='-edit' THEN
DO
editmode=1
SELECT
WHEN cliargs=1 THEN PARSE VAR UserArgs '-edit 'UserArgs
WHEN wbargs=1 THEN UserArgs=''
OTHERWISE CALL ExitMe
END
IF GetFileSelection()=0 THEN EXIT 0
CALL ContinuedMode
END
WHEN WORD(UserArgs,1)='-print' THEN
DO
printmode=1
SELECT
WHEN cliargs=1 THEN PARSE VAR UserArgs '-print 'UserArgs
WHEN wbargs=1 THEN UserArgs=''
OTHERWISE CALL ExitMe
END
CALL InitPrint
CALL WorkLoop
END
OTHERWISE CALL WorkLoop
END /* SELECT */
CALL ExitMe
/* ------------------------- */
WorkLoop:
IF GetFileSelection()=0 THEN CALL ExitMe
IF StartArgs=2 THEN
DO
/* once for all selected files */
CALL ContinuedMode
END
ELSE
DO
DO FOREVER
CALL ContinuedMode
drop UserArgs
drop Files
drop printer
UserArgs=''
StartArgs=0
IF GetFileSelection()=0 THEN CALL ExitMe
END
END
RETURN
/* ------------------------- */
ChangeIconType:
SELECT
WHEN POS('FILES ',UserArgs)>0 THEN
DO
cliargs=1
PARSE VAR UserArgs '-icontype 'type_of_icon' FILES 'UserArgs
IF FileParser()=0 THEN EXIT 0
END
OTHERWISE
DO
wbargs=1
PARSE VAR UserArgs '-icontype 'type_of_icon
UserArgs=''
Files.1='FILES.1'
IF GetSelectedIcons()=0 THEN EXIT 0
CALL SetActualPath
END
END
newdeftool=''
IF LEFT(type_of_icon,4)='PROJ' THEN
DO
PARSE VAR type_of_icon 'PROJ 'newdeftool
IF newdeftool='' THEN newdeftool='EASys!_bin:IDer'
type_of_icon='PROJECT'
END
DO k=1 TO Files.count
/* Device's Icons are different named */
IF RIGHT(Files.k,1)=':' THEN Files.k=Files.k'disk'
IF RIGHT(Files.k,1)='/' THEN Files.k=STRIP(Files.k,'T','/')
CMD.1='EASys!_bin:DoIcon 'Files.k' NEWTYPE='type_of_icon' QUIET'
CMD.2=''
IF type_of_icon='PROJECT' THEN CMD.2='EASys!_bin:DoIcon 'Files.k' NEWDT='newdeftool' QUIET'
ADDRESS COMMAND
CMD.1
CMD.2
END
RETURN
/* ------------------------- */
DelIcon:
SELECT
WHEN cliargs=1 THEN PARSE VAR UserArgs '-delicon 'UserArgs
WHEN wbargs=1 THEN UserArgs=''
OTHERWISE CALL ExitMe
END
IF GetFileSelection()=0 THEN EXIT 0
DO k=1 TO Files.count
ADDRESS COMMAND 'delete >NIL: "'Files.k'.info" FORCE QUIET'
IF WB_port=1 THEN
ADDRESS WORKBENCH 'MENU WINDOW 'path.k' INVOKE WINDOW.UPDATE'
ELSE
ADDRESS COMMAND 'EASys!_bin:IconDelete "'Files.k'.info"'
END
CALL ExitMe
/* ------------------------- */
IconAdd:
iconadding=1
getalltypes=1
SELECT
WHEN cliargs=1 THEN PARSE VAR UserArgs '-iconAdd 'UserArgs
WHEN wbargs=1 THEN UserArgs=''
OTHERWISE CALL ExitMe
END
IF GetFileSelection()=0 THEN EXIT 0
IF ~(WB_port=1) THEN r=rtezrequest("Get OS3.5! It's worth it."CR"This functionality is best supported with WB3.5",'Aha!',ReqTitle,PosTags)
IF WB_port=1 THEN
IconImgCopy='EASys!_bin:IconCopy'
ELSE
IconImgCopy='EASys!_bin:IconCopy'
DO k=1 TO Files.count
icon=deficon.k
/* Device's Icons are different named */
IF RIGHT(Files.k,1)=':' THEN Files.k=Files.k'disk'
IF RIGHT(Files.k,1)='/' THEN Files.k=STRIP(Files.k,'T','/')
IF EXISTS(files.k'.info') THEN
DO
iconexists=1
cmd=IconImgCopy /* IMAGE copying only */
cmdOpts=''
infoSfx=''
END
ELSE
DO
iconexists=0
cmd=IconImgCopy /* IMAGE copying only */
cmdOpts=''
infoSfx=''
END
IF iconexists=1 & WB_port=1 THEN WBinfo=ShowMessage('Presentate.8',,,,'EASys! Icon Updater')
ELSE WBinfo='NULL'
IF WBinfo=0 THEN CALL ExitMe
SELECT
WHEN WBinfo=1 THEN
DO
modifyicon=0
ADDRESS WORKBENCH MENU INVOKE ICONS.INFORMATION
r=DELAY(60)
END
WHEN WBinfo=3 THEN
DO
modifyicon=1
IF UPPER(RIGHT(Files.k,5))=':DISK' THEN icon='ENV:Sys/def_device'
ELSE icon='ENV:Sys/'deficon.k
END
WHEN UPPER(RIGHT(Files.k,5))=':DISK' THEN
DO
modifyicon=1
icon=ShowMessage('Presentate.7','EASys!:Icons/Drawers','def_',,FileName.k' (DEV:)')
IF icon='' THEN CALL ExitMe
IF UPPER(RIGHT(icon,4))='DEF_' THEN icon='ENV:Sys/def_device'
END
WHEN ftype.k='DIRECTORY' THEN
DO
modifyicon=1
icon=ShowMessage('Presentate.7','EASys!:Icons/Drawers','def_',,FileName.k' (DIR)')
IF icon='' THEN CALL ExitMe
IF UPPER(RIGHT(icon,4))='DEF_' THEN icon='ENV:Sys/def_drawer'
END
WHEN fclass.k'_'ftype.k=GLOBALHELP_LINK THEN
DO
modifyicon=0
cmd='echo >NIL:'
END
WHEN iconexists=1 THEN
DO
modifyicon=0
icon=ShowMessage('Presentate.7','EASys!:Icons','def_',,FileName.k)
SELECT
WHEN icon='' THEN CALL ExitMe
WHEN UPPER(RIGHT(icon,4))='DEF_' THEN icon='ENV:Sys/'deficon.k
OTHERWISE NOP
END
END
WHEN fclass.k'_'ftype.k='DOS_TOOL' THEN
DO
modifyIcon=1
icon=ShowMessage('Presentate.7','EASys!:Icons','def_',,FileName.k' (PRG)')
SELECT
WHEN icon='' THEN CALL ExitMe
WHEN UPPER(RIGHT(icon,4))='DEF_' THEN icon='ENV:Sys/'deficon.k
OTHERWISE NOP
END
END
OTHERWISE
DO
modifyIcon=1
icon='ENV:Sys/'deficon.k
END
END
icon=TestIcon(icon)
SELECT
WHEN ~(WB_port=1) THEN ADDRESS COMMAND cmd '"'icon'" "'files.k'" 'cmdOpts
WHEN WBinfo=1 THEN NOP
WHEN UPPER(RIGHT(Files.k,5))=':DISK' THEN
DO
ADDRESS COMMAND 'c:MergeIcons FROM "'icon'" TO "'files.k'"'
r=DELAY(70)
END
OTHERWISE ADDRESS COMMAND cmd '"'icon''InfoSfx'" "'files.k''InfoSfx'" 'cmdOpts
END
IF modifyIcon=1 THEN
DO
SELECT
WHEN UPPER(RIGHT(Files.k,5))=':DISK' THEN
DO
prot_bit1='+r'
prot_bit2='-s'
icon_type='newT=Disk'
deftool=''
tooltype=''
END
WHEN ftype.k='DIRECTORY' THEN
DO
prot_bit1='+r'
prot_bit2='-es'
icon_type='newT=Drawer'
deftool=''
tooltype=''
END
WHEN fclass.k'_'ftype.k='SCRIPT_AMIGADOS' THEN
DO
prot_bit1='+sr'
prot_bit2='-e'
icon_type='Project'
deftool='newDT=c:IconX'
tooltype='aTT="WINDOW=NIL:"'
END
WHEN fclass.k'_'ftype.k='SCRIPT_REXX' THEN
DO
prot_bit1='+sr'
prot_bit2='-e'
icon_type='newT=Project'
deftool='newDT=rx'
tooltype='aTT="CONSOLE=NIL:"'
END
WHEN fclass.k'_'ftype.k='DOS_TOOL' THEN
DO
prot_bit1='+re'
prot_bit2='-s'
icon_type='newT=Tool'
deftool=''
tooltype=''
END
OTHERWISE
DO
prot_bit1='+r'
prot_bit2='-es'
icon_type='newT=Project'
deftool='newDT="EASys!_bin:IDer"'
tooltype=''
END
END
ADDRESS COMMAND
'EASys!_bin:DoIcon "'files.k'" 'icon_type' QUIET'
'EASys!_bin:ProcessIcon "'files.k'" UNSNAP OPT KTT'
'EASys!_bin:DoIcon "'files.k'" 'deftool' NEWSTACKSIZE=10000 'tooltype' QUIET'
'FileNote "'files.k'" "Icon provided by EASys! (TNE), DoIcon (L.Eilebrecht), ProcessIcon (D.Stoecker)"'
'protect "'files.k'" 'prot_bit1
'protect "'files.k'" 'prot_bit2
IF ~(WBinfo=1) THEN ADDRESS COMMAND IconImgCopy '"'icon''InfoSfx'" "'files.k''InfoSfx'" 'cmdOpts
END
/* IF WB_port=1 THEN ADDRESS WORKBENCH INFO Files.k */
END
CALL ExitMe
/* ------------------------- */
TestIcon:
PARSE ARG icon
IF UPPER(RIGHT(icon,5))='.INFO' THEN icon=LEFT(icon,LENGTH(icon)-5)
IF ~EXISTS(icon'.info') THEN
DO
SELECT
WHEN fclass.k=PIX THEN icon='def_picture'
WHEN fclass.k=ARC THEN icon='def_LHA'
WHEN fclass.k=MOD THEN icon='def_MOD'
WHEN fclass.k=SAMPLE THEN icon='def_sound'
WHEN fclass.k=VIDEO THEN icon='def_anim'
WHEN fclass.k=TEXT THEN icon='def_ASCII'
WHEN fclass.k=SCRIPT THEN icon='def_ASCII'
WHEN fclass.k=SOURCE THEN icon='def_ASCII'
WHEN fclass.k=OFFICE THEN icon='def_ASCII'
OTHERWISE icon='def_Project'
END
icon='ENV:Sys/'icon
END
RETURN icon
/* ---------------------- */
ViewIt:
PARSE ARG vfile
type=GetType(vfile)
IF type='WBScriptLink' THEN vfile=GetRealFile(vfile)
SELECT
WHEN editmode=1 THEN
DO
viewer='EASys!_bin:IDer CONFIG=ENV:IDer_edit.prefs'
ADDRESS COMMAND viewer' "'vfile'"'
END
WHEN printmode=1 THEN
DO
/* get the real file's type if it was a WBScriptLink */
IF type='WBScriptLink' THEN type=GetType(vfile)
viewer='EASys!_bin:IDer CONFIG=ENV:IDer_print.prefs'
IF class='SOURCE' | class='SCRIPT' | CLASS='TEXT' | type='README' THEN CALL PrintInternal
ELSE ADDRESS COMMAND viewer' "'vfile'"'
END
WHEN IsDir(vfile)=1 THEN CALL MultiMediaStatistic(vfile)
OTHERWISE
DO
viewer='EASys!_bin:IDer CONFIG=ENV:IDer.prefs'
ADDRESS COMMAND viewer' "'vfile'"'
END
END
RETURN
/* ------------------------- */
EasyView:
IF GetClip('EasyView')=1 THEN EXIT 0 /* prevent second startup at EasySave */
EasyView=1
CALL SetClip('EasyView',1)
IF ShowMessage('Presentate.4',,,,AppName)=0 THEN CALL ExitMe
ADDRESS COMMAND 'list >T:'TempPath' AS_EasyView: ALL FILES LFORMAT "%s%s"'
IF ~Open(fTMP,'T:'TempPath,'READ') THEN CALL Err_ShowMessage('T:'TempPath)
i=0
DO FOREVER
i=i+1
Files.i=READLN(fTMP)
IF EOF(fTMP) THEN LEAVE
CALL Analyze
END
r=Close(fTMP)
Files.count=i-1
DO FOREVER
IF ~(EasyView=1 | EditMode=1 | PrintMode=1) THEN
IF GetFileSelection()=0 THEN LEAVE
SELECT
WHEN Files.count>1 THEN
DO FOREVER
guide=1
click=2
multimedia=3
help=4
stop=0
Action=ShowMessage('Presentate.6',,,,AppName)
SELECT
WHEN Action=guide THEN CALL GuideMode
WHEN Action=click THEN CALL ClickThrough
WHEN Action=multimedia THEN CALL ContinuedMode
WHEN Action=help THEN CALL Help
WHEN Action=stop THEN LEAVE
OTHERWISE NOP
END
END
WHEN Files.count=1 THEN CALL ViewIt(Files.1)
OTHERWISE NOP
END
UserArgs=''
Files.count=0
drop Files
Ergebnis=0
TalkToUser=0 /* stop speaking until end now */
IF StartArgs=2 THEN LEAVE
END
CALL ExitMe
/* ------------------------- */
ContinuedMode:
DO k=1 TO Files.count
CALL ViewIt(Files.k)
END
RETURN
/* ------------------------- */
GuideMode:
FirstEntry=0
DO k=1 TO Files.count
IF IsDir(Files.k) THEN
DO
/* Dir must end up with '/' or ':' */
ADDRESS COMMAND 'list >T:'TempPath' "'Files.k'" ALL FILES LFORMAT "%s%s"'
IF ~Open(fTMP,'T:'TempPath,'READ') THEN CALL Err_ShowMessage('T:'TempPath)
i=0
DO FOREVER
file=READLN(fTMP)
IF EOF(fTMP) THEN LEAVE
CALL WriteGuide(,,file)
END
r=Close(fTMP)
END
ELSE CALL WriteGuide(,,Files.k)
END
CALL WriteGuide('','LAST_ENTRY_')
RETURN
/* ------------------------- */
ClickThrough:
view=1
first=2
prev=3
next=4
last=5
help=6
stop=0
k=0
DO FOREVER
IF k<0 THEN k=0
IF k>=Files.count THEN k=Files.count-1
k=k+1
r=PRAGMA('DIRECTORY',Path.k)
a=k-2
b=k-1
SELECT
WHEN k=1 THEN prevfile='-------'CR'-------'
WHEN k=2 THEN prevfile='-------'CR'<' b '> 'Files.b
OTHERWISE prevfile='<' a '> 'Files.a'' CR'<' b '> 'Files.b
END
a=k+1
b=k+2
c=Files.count
SELECT
WHEN k=c-1 THEN nextfile='<' a '> 'Files.a ''CR'-------'
WHEN k=c THEN nextfile='-------'CR'-------'
OTHERWISE nextfile='<' a '> 'Files.a'' CR'<' b '> 'Files.b
END
IF Files.count>1 THEN
DO
Action=ShowMessage('Presentate.2',,,,prevfile,'>' k '< 'Files.k,nextfile,Files.count)
SELECT
WHEN Action=stop THEN LEAVE
WHEN Action=first THEN k=0
WHEN Action=view THEN CALL ViewIt(Files.k)
WHEN Action=next THEN NOP
WHEN Action=last THEN k=Files.count-1
WHEN Action=prev THEN k=k-2
WHEN Action=help THEN
DO
k=k-1
CALL Help
END
OTHERWISE NOP
END
END
ELSE
DO
CALL ViewIt(Files.k)
LEAVE
END
END
RETURN
/* ------------------------- */
MultiMediaStatistic:
PARSE ARG dir
ADDRESS COMMAND
'list >T:'TempPath'_1 "'dir'" ALL FILES LFORMAT "%s%s"'
'delete >NIL: T:'TempPath'_2 FORCE QUIET'
pix=0
mod=0
smp=0
vid=0
firstentry=0
r=Open(fTMP,'T:'TempPath'_1','READ')
i=0
DO FOREVER
i=i+1
file=ReadLn(fTMP)
IF EOF(fTMP) | i>70 THEN LEAVE
class=MultiMediaClass(file)
SELECT
WHEN class='PIX' THEN pix=pix+1
WHEN class='MOD' THEN mod=mod+1
WHEN class='SAMPLE' THEN smp=smp+1
/* WHEN class='VIDEO' THEN vid=vid+1 */
OTHERWISE CALL WriteGuide(,,file)
END /* SELECT */
IF mod=1 THEN firstfile=file
END
r=Close(fTMP)
r=MAX(pix,mod,smp,vid)
IF r=0 THEN r='?'
SELECT
WHEN pix=r THEN ADDRESS COMMAND '${RefTable/Gfx-PictureBrowser} "'dir'"'
WHEN mod=r THEN ADDRESS COMMAND '${RefTable/Sound-MOD-universal} "'firstfile'"'
WHEN smp=r THEN ADDRESS COMMAND '${RefTable/Sound-RAW} "'dir'"'
/* WHEN vid=r THEN NOP */
OTHERWISE NOP
END
IF firstentry=1 THEN
DO
CALL DELAY 300
CALL WriteGuide('','LAST_ENTRY_')
END
RETURN
/* ------------------------- */
WriteGuide:
PARSE ARG viewer,editor,file
IF editor='LAST_ENTRY_' THEN
DO
r=Writeln(fTMP2,'@endnode')
r=Close(fTMP2)
ADDRESS COMMAND '${RefTable/Text-ViewGuide} T:'TempPath'_2'
RETURN
END
IF ~(firstentry=1) THEN
DO
firstentry=1
ADDRESS COMMAND 'delete >NIL: T:'TempPath'_2 FORCE QUIET'
IF ~Open(fTMP1,'EASys!_rexx:'Language'/Presentate.3','READ') THEN CALL Err_ShowMessage('EASys!_rexx:'Language'/Presentate.3')
IF ~Open(fTMP2,'T:'TempPath'_2','WRITE') THEN CALL Err_ShowMessage('WRITING: T:'TempPath'_2')
DO FOREVER
l=ReadLn(fTMP1)
IF EOF(fTMP1) THEN LEAVE
r=WriteLn(fTMP2,l)
END
r=Close(fTMP1)
END
IF viewer='' THEN
r=Writeln(fTMP2,' @{"[]" SYSTEM "run >NIL: EASys!_bin:IDer 'file'"} @{"ed" SYSTEM "IDer CONFIG=ENV:IDer_edit.prefs 'file'"} @{" " SYSTEM "${RefTable/File-Starter} 'file'"} 'file)
ELSE
r=Writeln(fTMP2,' @{"[]" SYSTEM "'viewer' 'file'"} @{"ed" SYSTEM "'editor' 'file'"} @{" " SYSTEM "${RefTable/File-Starter} 'file'"} 'file)
RETURN
/* ------------------------- */
PrintFiles:
DO k=1 TO Files.count
type=GetType(Files.k)
IF class='SOURCE' | class='SCRIPT' | CLASS='TEXT' | type='README' THEN CALL PrintInternal
ELSE ADDRESS COMMAND printer' "'Files.k'"'
END
RETURN
/* ---------------------- */
EasyPrint:
IF GetClip('EasyPrint')=1 THEN EXIT 0 /* prevent second startup at EasySave */
EasyPrint=1
CALL SetClip('EasyPrint',1)
IF ShowMessage('Print.4',,,,AppName)=0 THEN CALL ExitMe
ADDRESS COMMAND 'list >T:'TempPath UserArgs' ALL FILES LFORMAT "%s%s"'
IF ~Open(fTMP,'T:'TempPath,'READ') THEN CALL Err_ShowMessage('EasyPrint T:'TempPath)
i=0
DO FOREVER
i=i+1
Files.i=READLN(fTMP)
IF EOF(fTMP) THEN LEAVE
/* CALL Analyze */
END
r=Close(fTMP)
Files.count=i-1
CALL ContinuedMode
CALL ExitMe
/* ---------------------- */
PrintInternal:
IF type='FinalWriter' THEN
DO
ADDRESS COMMAND '${RefTable/Office-FinalWriter}' '"'Files.k'"'
RETURN
END
IF type='Guide' THEN
DO
ADDRESS COMMAND '${RefTable/MultiView}' '"'Files.k'"'
RETURN
END
IF class='PIX' THEN
DO
ADDRESS COMMAND '${RefTable/Gfx-Gfx-Publisher} ' '"'Files.k'"'
RETURN
END
IF EXISTS(Files.k) & ~(Files.k="FILES.K") THEN
DO
CALL PlaySample(SamplePrintHow)
Auswahl=ShowMessage('Print.2',,,,AppName,Files.k)
PrintCancel=0
PrintNormal=1
PrintDocDump=2
IF (Auswahl=PrintCancel) THEN RETURN
IF (Auswahl=PrintDocDump) THEN
ADDRESS COMMAND DocDumper '"'Files.k'"'
ELSE
DO
IF EXISTS(PrintJob) THEN ADDRESS COMMAND 'delete >NIL: 'PrintJob' QUIET'
IF (open(TEMPFILE, PrintJob, 'write')) THEN
DO
r=writeln(TEMPFILE, 'failat 21')
r=writeln(TEMPFILE, 'echo "*ec*n Stop printing by Ctrl c ..."')
r=writeln(TEMPFILE, 'SYS:Prefs/Printer from ENV:sys/printer.prefs use')
r=writeln(TEMPFILE, 'initprinter') /* reset and bidirectional printing */
r=writeln(TEMPFILE, 'echo >PRT: "*n"')
r=writeln(TEMPFILE, 'echo >PRT: "'Files.k' ________ " NOLINE')
r=writeln(TEMPFILE, 'date >PRT:')
r=writeln(TEMPFILE, 'echo >PRT: "*n"')
r=writeln(TEMPFILE, 'copy 'Files.k' PRT:')
r=writeln(TEMPFILE, 'wait 5')
r=writeln(TEMPFILE, 'endcli >NIL:')
r=close(TEMPFILE)
ADDRESS COMMAND 'newshell CON:'ReqLE'/'ReqTE'/$SHELLw/75/Print-Messages/NOCLOSE from 'PrintJob
END
END
END
ELSE
Auswahl=ShowMessage('Print.3',,,,AppName,Files.k)
RETURN
/* ---------------------- */
ReadHeader:
IF (OPEN(File,Files.i,"R")) THEN
DO
Header=READCH(File, 30)
r=Close(File)
END
ELSE CALL ExitMe
HeaderExe=UPPER(SUBSTR(Header,1,4))
HeaderFW=UPPER(SUBSTR(Header,9,4))
HeaderGuide=UPPER(SUBSTR(Header,1,9))
HeaderXpeg=UPPER(SUBSTR(Header,7,4))
HeaderGIF=UPPER(SUBSTR(Header,1,3))
HeaderIFF=UPPER(SUBSTR(Header,9,8)) /* IFF-ILBM-Formats */
HeaderIFFNUKE=UPPER(SUBSTR(Header,25,6))
RETURN
/* ---------------------- */
GetFileSelection:
/*
RETURN 2 signals that files have been handed over by arguments
flist or from workbench by wbargs or from cli
*/
FileName.1=''
Files.1='FILES.1'
Files.count=0
Path.1=''
ContinuedMode=0
SELECT
WHEN cliargs=1 THEN
DO
r=FileParser()
cliargs=0
IF r=0 THEN StartArgs=SelectFiles()
ELSE StartArgs=2
END
WHEN flist=1 THEN
DO
r=ReadFileList(filelist_tmp)
flist=0
IF r=0 THEN StartArgs=SelectFiles()
ELSE StartArgs=2
END
WHEN wbargs=1 THEN
DO
r=GetSelectedIcons()
wbargs=0
IF r=0 THEN StartArgs=SelectFiles()
ELSE StartArgs=2
END
OTHERWISE StartArgs=SelectFiles()
END /* SELECT */
IF StartArgs=0 THEN
RETURN 0
ELSE
DO
CALL SetActualPath
RETURN StartArgs
END
/* ---------------------- */
SetActualPath:
i=Files.count
ActualPath=Path.1
Path=Path.i
LastSelected=FileName.1 /* remember */
ADDRESS COMMAND 'SetEnv Flags/ActualPath "'ActualPath'"'
RETURN
/* ---------------------- */
SelectFiles:
wbargs=0
cliargs=0
flist=0
Drive=LEFT(ActualPath,POS(':',ActualPath))
ADDRESS COMMAND 'assign >NIL: "'ConvSpecial(Drive)'" EXISTS'
IF RC>0 | ActualPath='' THEN ActualPath="SYS:"
ELSE IF ~EXISTS(ActualPath) THEN ActualPath="SYS:"
IF ~(firstSelection=1) THEN CALL PlaySample(SampleChooseFiles)
IF LastSelected='LASTSELECTED' THEN LastSelected=''
UserArgs=ShowMessage(FileReq,ActualPath,LastSelected,,AppName)
IF UserArgs='' THEN RETURN 0
ELSE ContinuedMode=1
CALL FileParser
firstSelection=1
RETURN 1
/* ---------------------- */
GetSelectedIcons:
OPTIONS RESULTS
ADDRESS WORKBENCH
GETATTR WINDOWS NAME window_list STEM window_list
i=1
DO w=0 TO window_list.count-1
activewin=window_list.w
IF ~(RIGHT(activewin,1)=':') & w>0 THEN activewin=activewin'/'
GETATTR OBJECT WINDOW.ICONS.SELECTED.COUNT NAME activewin
numselected=RESULT
IF numselected>0 & w>0 THEN
DO
DO j=0 TO numselected-1
GETATTR OBJECT WINDOW.ICONS.SELECTED.j.NAME NAME activewin
Files.i=activewin''RESULT
CALL Analyze
i=i+1
END
END
END
i=i-1
Files.count=i
IF ~(Files.1='' | Files.1='FILES.1') THEN RETURN 1
ELSE RETURN 0
/* ------------------------- */
FileParser:
IF Files.1='' | Files.1='FILES.1' | POS(':',UserArgs)=0 THEN
DO
i=0
DO forever
i=i+1
Files.i=''
PrognameBegPos=0
DevicePos=0
DirPos=0
SfxBegin=0
IF ( POS('"', UserArgs)=0 ) THEN
PARSE VAR UserArgs Files.i UserArgs
ELSE
PARSE VAR UserArgs Files.i '"' UserArgs /* parse the line */
IF ( Files.i=" ") THEN
DO
IF ( POS('"', UserArgs)=0 ) THEN
PARSE VAR UserArgs Files.i UserArgs
ELSE
PARSE VAR UserArgs Files.i '"' UserArgs /* parse the line */
END
Files.i=strip(Files.i,'T',' ')
Files.i=strip(Files.i,'B','"')
IF (Files.i='') THEN
DO /* Break if end of Command-line */
Files.count=i-1
LEAVE
END
DevicePos=LASTPOS(':',Files.i)
IF (DevicePos=0) THEN
DO
ADDRESS COMMAND 'cd >ENV:'TempPath
Path.i=MyGetENV(TempPath)
ADDRESS COMMAND 'delete >NIL: ENV:'TempPath' QUIET'
IF (RIGHT(Path.i,1)=':') THEN
Files.i=Path.i || Files.i
ELSE
Files.i=Path.i || '/' || Files.i
END
CALL Analyze
END
END
ELSE
DO i=1 TO Files.count
PrognameBegPos=0
DevicePos=0
DirPos=0
SfxBegin=0
CALL Analyze
END
/* CALL WriteFileList */ /* Prepare a FileList for external Processes */
IF ~(Files.1='' | Files.1='FILES.1') THEN RETURN 1
ELSE RETURN 0
/*----------------------------------*/
Analyze:
Files.i=STRIP(Files.i,'T','/')
LengF=LENGTH(Files.i)
DevicePos=LASTPOS(':',Files.i)
DirPos=LASTPOS('/',Files.i)
IF (DirPos > 1) THEN
DO
PrognameBegPos=DirPos
Path_Dir.i=LEFT(Files.i, DirPos)
Path.i=strip(Path_Dir.i,'T','/')
END
ELSE
DO
PrognameBegPos=DevicePos
Path.i=LEFT(Files.i, DevicePos)
Path_Dir.i=Path.i
END
Numchars=LengF - PrognameBegPos
Device.i=LEFT(Files.i, Devicepos)
FileName.i=RIGHT(Files.i, LengF-PrognameBegPos)
SfxBegin=LASTPOS('.',FileName.i)
IF (SfxBegin=0) THEN
DO
Prefix.i=FileName.i
Suffix.i=''
END
ELSE
DO
Prefix.i=LEFT(FileName.i,SfxBegin-1)
Suffix.i=UPPER(RIGHT(Files.i, NumChars-SfxBegin))
END
IF getalltypes=1 THEN
DO
ftype.i=getType(Files.i)
fclass.i=class
IF iconadding=1 THEN
DO
SELECT
WHEN ftype.i='DIRECTORY' THEN deficon.i='def_drawer'
WHEN ~(ftype.i='UNKNOWN') THEN deficon.i='def_'ftype.i
OTHERWISE deficon.i='def_Project'
END
END
ELSE
DO
fviewer.i=viewer
feditor.i=editor
fprinter.i=printer
END
END
RETURN 1
/* ------------------------- get a WBScriptLink's real file path */
GetRealFile: PROCEDURE
PARSE ARG lnfile
CALL OPEN(fTMP,lnfile,'READ')
CALL READLN(fTMP)
CALL READLN(fTMP)
l=READLN(fTMP)
CALL CLOSE(fTMP)
PARSE VAR l left' "'file'" 'right
RETURN file
/* ---------------------- */
ReadFileList:
PARSE ARG list
i=0
IF ~Open(TMP,list,'read') THEN CALL ExitMe
DO UNTIL EOF(TMP)
i=i+1
Files.i=READLN(TMP)
Path.i=READLN(TMP)
FileName.i=READLN(TMP)
Prefix.i=READLN(TMP)
Suffix.i=READLN(TMP)
IF getalltypes=1 THEN
DO
ftype.i=getType(Files.i)
fclass.i=class
feditor.i=editor
fprinter.i=printer
fviewer.i=viewer
END
END
Result=Close(TMP)
n=i-1
Files.count=n
Path=Path.n
IF ~(Files.1='') THEN RETURN 1
ELSE RETURN 0
/* ------------------------- */
GetType:
PARSE ARG file
SELECT
WHEN IsDir(file)=1 THEN RETURN 'DIRECTORY'
WHEN file='' | ~EXISTS(file) THEN RETURN '???'
OTHERWISE ADDRESS COMMAND 'IDer >ENV:PMID_'ProcessNumber' CONFIG=ENV:EASys!_ViewerTypes.prefs "'file'"'
END
IF ~Open(fGET,'ENV:PMID_'ProcessNumber,'READ') THEN CALL Err_ShowMessage('ENV:PMID_'ProcessNumber)
l=READLN(fGET)
r=CLOSE(fGET)
PARSE VAR l class '~~' type '~~' viewer '~~' editor '~~' printer '~~'
IF editmode=1 THEN viewer=editor
IF printmode=1 THEN viewer=printer
RETURN type
/* ------------------------- */
MultiMediaClass:
PARSE ARG file
IF ~Open(fGET,file,'READ') THEN CALL Err_ShowMessage('Opening: 'file)
l=ReadLn(fGET)'___________'
r=Close(fGET)
sfx=UPPER(RIGHT(file,4))
ufile=UPPER(file)
SELECT
WHEN RIGHT(ufile,5)='.INFO' THEN class='ICON'
WHEN sfx='.DOC' | sfx='.DOK' | sfx='.ASC' | sfx='.TXT' | RIGHT(ufile,7)='.README' THEN class='TEXT'
/* pix */
WHEN sfx='.PCX' THEN class='PIX'
WHEN sfx='.TIF' THEN class='PIX'
WHEN RIGHT(ufile,5)='.TIFF' THEN class='PIX'
WHEN UPPER(RIGHT(l,6))='.BRUSH' THEN class='PIX'
WHEN SubStr(l,9,4)='ILBM' THEN class='PIX'
WHEN SubStr(l,7,4)='JFIF' THEN class='PIX'
WHEN LEFT(l,3)='ffd8ff'x THEN class='PIX'
WHEN LEFT(l,3)='GIF' THEN class='PIX'
WHEN LEFT(l,2)='BM' THEN class='PIX'
WHEN SubStr(l,2,3)='PNG' THEN class='PIX'
/* mods */
WHEN LEFT(l,4)='MThd' THEN class='MOD'
WHEN LEFT(l,3)='MMD' THEN class='MOD'
WHEN LEFT(l,12)='DIGI Booster' THEN class='MOD'
WHEN LEFT(l,4)='IMPresentate' THEN class='MOD'
WHEN LEFT(l,15)='Extended Module' THEN class='MOD'
WHEN sfx='.S3M' THEN class='MOD'
WHEN RIGHT(ufile,3)='.XM' THEN class='MOD'
WHEN sfx='.MOD' THEN class='MOD'
WHEN POS('/MOD.',ufile)>0 | POS(':MOD.',ufile)>0 THEN class='MOD'
/* Samples */
WHEN SubStr(l,9,4)='MAUD' THEN class='SAMPLE'
WHEN SubStr(l,9,4)='AIFF' THEN class='SAMPLE'
WHEN SubStr(l,9,4)='8SVX' THEN class='SAMPLE'
WHEN SubStr(l,9,4)='WAVE' THEN class='SAMPLE'
WHEN LEFT(l,3)='ID3' THEN class='SAMPLE'
WHEN LEFT(l,2)='FFF2'x THEN class='SAMPLE'
WHEN LEFT(l,2)='FFF3'x THEN class='SAMPLE'
WHEN LEFT(l,2)='FFFA'x THEN class='SAMPLE'
WHEN LEFT(l,2)='FFFB'x THEN class='SAMPLE'
WHEN LEFT(l,2)='FFFC'x THEN class='SAMPLE'
WHEN LEFT(l,2)='FFFD'x THEN class='SAMPLE'
WHEN sfx='.MP2' THEN class='SAMPLE'
WHEN sfx='.MP3' THEN class='SAMPLE'
/* Video */
WHEN SubStr(l,8,5)='TANIM' THEN class='VIDEO'
WHEN SubStr(l,9,4)='ANIM' THEN class='VIDEO'
WHEN SubStr(l,9,3)='AVI' THEN class='VIDEO'
WHEN LEFT(l,9)='4749463839610001'x THEN class='VIDEO'
WHEN SubStr(l,2,3)='0001B3'x THEN class='VIDEO'
WHEN sfx='.MPG' then class='VIDEO'
WHEN sfx='.MPE' then class='VIDEO'
WHEN sfx='.MPV' then class='VIDEO'
WHEN sfx='.AVI' then class='VIDEO'
WHEN sfx='.MOV' then class='VIDEO'
WHEN POS('.QT',sfx)>0 then class='VIDEO'
WHEN POS('.MV',sfx)>0 then class='VIDEO'
OTHERWISE class='OTHER'
END /* SELECT */
RETURN class
/* ------------------------- */
Help:
ADDRESS COMMAND '${RefTable/ManualServer} PM'
RETURN
/* ------------------------- */
ShowMessage:
PARSE ARG Mesg,ReqPath,ReqFile,PresetString,Parameter1,Parameter2,Parameter3,Parameter4,Parameter5,Parameter6
drop Action
ReqType=''
MsgFile='EASys!_rexx:'Language'/'Mesg
IF ~(Open(fTMP, MsgFile, 'read')) THEN CALL Err_ShowMessage(MsgFile)
ELSE
DO
ReqType=ReadLn(fTMP) /* read Requester-Type */
Line=ReadLn(fTMP) /* read Title-Line */
CALL Substitutions
ReqTitle=Line
Line=ReadLn(fTMP) /* free line after Title */
Message=''
DO UNTIL EOF(fTMP)
Line=ReadLn(fTMP)
CALL Substitutions
IF POS(">>>", Line) > 0 THEN
DO
rtBtns=STRIP(Line,'L','>')
LEAVE
END
ELSE
Message=Message || CR || Line
END
r=Close(fTMP)
END
uReqType=UPPER(ReqType)
pubname=getpubscreen()
IF ~(pubname='') THEN r=setpubscreen(pubname' Default')
SELECT
WHEN (uReqType='MULTI REQUEST') THEN
DO
r=rtezrequest(Message,rtBtns,ReqTitle,PosTags)
RETURN r
END
WHEN (uReqType='GET ONE FILE') THEN
DO
r=rtfilerequest(ReqPath,ReqFile,ReqTitle,rtBtns,ONEFILE_TAG, Files)
RETURN r
END
WHEN (uReqType='GETFILES') THEN
DO
r=rtfilerequest(ReqPath,ReqFile,ReqTitle,rtBtns, FILE_TAGS, Files)
RETURN r
END
WHEN (uReqType='GETPATH') THEN
DO
r=rtfilerequest(ReqPath,,ReqTitle,rtBtns, DIR_TAGS)
RETURN r
END
WHEN (uReqType='GETSTRING') THEN
DO
r=rtgetstring(PresetString,Message,ReqTitle,rtBtns,GStags,Action)
RETURN r
END
WHEN (uReqType='GETSTRING SIMPLE') THEN
DO
r=rtgetstring(PresetString,Message,ReqTitle,,GStags,Action)
RETURN r
END
WHEN (uReqType='CONSOLE') THEN
DO
ShowConsole='CON:'ReqLE'/'ReqTE'/'ConW'/'ConH'/'ReqTitle'/NOCLOSE'
IF ~(Open(Con,ShowConsole,'write')) THEN
DO
CALL Err_ShowMessage(ThisConsole)
ConStat=0
END
ConStat=1
r=WriteLn(Con,Message)
RETURN
END
OTHERWISE CALL Err_ShowMessage('ShowMessage function') /* Error if arrived here */
END /* SELECT */
RETURN
/* ------------------------- */
Substitutions:
IF POS("%1", Line) > 0 THEN /* substitution parameters for each message */
DO UNTIL POS("%1", Line)=0 /* and per line */
parse var Line part1 '%1' part2
Line=part1''parameter1''part2
END
IF POS("%2", Line) > 0 THEN
DO UNTIL POS("%2", Line)=0
parse var Line part1 '%2' part2
Line=part1''parameter2''part2
END
IF POS("%3", Line) > 0 THEN
DO UNTIL POS("%3", Line)=0
parse var Line part1 '%3' part2
Line=part1''parameter3''part2
END
IF POS("%4", Line) > 0 THEN
DO UNTIL POS("%4", Line)=0
parse var Line part1 '%4' part2
Line=part1''parameter4''part2
END
IF POS("%5", Line) > 0 THEN
DO UNTIL POS("%5", Line)=0
parse var Line part1 '%5' part2
Line=part1''parameter5''part2
END
IF POS("%6", Line) > 0 THEN
DO UNTIL POS("%6", Line)=0
parse var Line part1 '%6' part2
Line=part1''parameter6''part2
END
RETURN
/* ---------------------- */
Err_ShowMessage:
PARSE ARG Msg
Message=AppName':' CR CR "Sorry, an error has occured:" CR CR " "Msg CR CR "... exiting."
rtBtns='Oh no!'
Action=rtezrequest(Message,rtBtns,ReqTitle,PosTags)
CALL ExitMe
RETURN
/* ---------------------- */
MyGetENV: PROCEDURE
PARSE ARG name
TheFile="ENV:" || name
IF (open(TEMPFILE, TheFile, 'read')) THEN
DO
ENVvalue=READLN(TEMPFILE)
Result=close(TEMPFILE)
END
ELSE
ENVvalue=''
RETURN ENVvalue
/* ---------------------- */
PlaySample:
PARSE ARG Sample
IF (TalkToUser="0") THEN RETURN
IF EXISTS('ENV:ProcessTalk') THEN
DO
ProcessTalk=Strip(SubWord(MyGetENV("ProcessTalk"),2),'T',']')
ADDRESS COMMAND 'status >ENV:VoiceSTATUS PROCESS 'ProcessTalk
VStatus=MyGetENV('VoiceSTATUS')
IF POS(Play_Voice_Cmd,VStatus)>0 THEN ADDRESS COMMAND 'break' ProcessTalk 'c'
END
ADDRESS COMMAND Play_Voice Sample
RETURN
/* ------------------------- */
ConvSpecial:
PARSE ARG File
posi=POS('~',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('(',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS(')',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('[',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS(']',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('{',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('}',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('+',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('#',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
posi=POS('?',File)
IF posi>0 THEN File=INSERT("'",File,posi-1)
RETURN File
/* ------------------------- */
IsDir: PROCEDURE
PARSE ARG name
r=PRAGMA('DIRECTORY',name)
IF ~(r='') THEN
DirFlag=1
ELSE
DO
IF ~Exists(name) THEN
DirFlag=-1
ELSE
DirFlag=0
END
r=PRAGMA('DIRECTORY','T:')
RETURN DirFlag
/* ---------------------- */
InitPrint:
AppName="© TNE) Print-Manager"
ReqTitle="© TNE) Drucken..."
FileReq='Print.1'
/* pathes -------- */
TempPath='Print-path_'ProcessNumber
PrintJob='T:Print-Job_'ProcessNumber
/* Voice -------- */
TalkToUser=MyGetENV("Flags/TalkToUser")
Play_Voice_Cmd=SubWord(MyGetENV('RefTable/Sound-voice'),1,1)
Play_Voice='run >ENV:ProcessTalk ${RefTable/Sound-voice}'
SampleChooseFiles=SampleDir'PrintChooseFile.8SVX'
SampleBye=SampleDir'AppSayBye.8SVX'
SamplePrintHow=SampleDir'PrintFormat.8SVX'
SamplePrintDVI=SampleDir'PrintDVI.8SVX'
PrintDVImanager='${RefTable/Print-DVI-Manager}'
DocDumper='${RefTable/Print-DocDump}'
FILE_TAGS=PosTags" rtfi_flags=freqf_multiselect rtfi_height="ReqHeight
RETURN
/* ---------------------- */
Init:
OPTIONS FAILAT 30
OPTIONS RESULTS
AppName="© EASys!) Presentator"
ReqTitle=AppName
FileReq='Presentate.1'
CR='0a'x
Language=GetClip('Language')
IF ~EXISTS('EASys!_rexx:'Language'/Presentate.1') THEN Language='english'
ProcessNumber=PRAGMA('ID')
IF ~show('L','rexxMOOS.library') THEN
DO
r=ADDLIB('rexxMOOS.library',100,-30,0)
setpubscreen('Modes Pop Sh')
END
MaxTitleChars=MyGetENV('RefTable/GUI-ShellTitleChars')
ConsoleType=MyGetENV('RefTable/GUI-ConsoleType')
IF (ConsoleType="") THEN ConsoleType="CON:"
ConsoleSize=MyGetENV('SHELLsize')
IF (ConsoleSize="") THEN ConsoleSize="40/50/600/200"
ReqLE=MyGetENV('RefTable/GUI-ReqLE') /* Main Window */
ReqTE=MyGetENV('RefTable/GUI-ReqTE')
ReqHeight=MyGetENV('RefTable/GUI-ReqHeight')
PosTags="rt_reqpos=reqpos_topleftscr rt_leftoffset=" ReqLE " rt_topoffset=" ReqTE
EZtags=PosTags
GLtags=PosTags" rtgl_min=0 rtgl_max=1500 rtgl_backfill=true "
GStags=PosTags" rtgs_backfill=false rtgs_width=300"
POINTER_TAGS="rt_reqpos=reqpos_pointer"
DIR_TAGS=PosTags" rtfi_flags=freqf_nofiles|freqf_save rtfi_height="ReqHeight
FILE_TAGS=PosTags" rtfi_flags=freqf_multiselect|freqf_selectdirs rtfi_height="ReqHeight
ONEFILE_TAG=PosTags" rtfi_height="ReqHeight
Console='>"'ConsoleType''ConsoleSize'/'AppName' Messages.../AUTO/NOCLOSE/WAIT"'
/* OS 3.5 WB Port */
IF SHOW('P','WORKBENCH') THEN WB_port=1
ELSE WB_port=0
/* --------- TempFiles -------- */
ActualPath=MyGetENV('Flags/ActualPath')
TempPath='Presentate_path_'ProcessNumber
/* --------- Voice ------------ */
TalkToUser=MyGetENV('Flags/TalkToUser')
Play_Voice='run >ENV:ProcessTalk ${RefTable/Sound-voice}'
Play_Voice_Cmd=SubWord(MyGetENV('RefTable/Sound-voice'),1,1)
SampleDir='EASys!:Voice/'Language'/'
SampleChooseFiles=SampleDir'PresentateChooseFiles.8SVX'
SampleBye=SampleDir'AppSayBye.8SVX'
RETURN
/* ---------------------- */
ExitMe:
IF EXISTS('ENV:ProcessTalk') THEN ADDRESS COMMAND 'delete >NIL: ENV:ProcessTalk QUIET'
IF EXISTS('ENV:VoiceSTATUS') THEN ADDRESS COMMAND 'delete >NIL: ENV:VoiceSTATUS QUIET'
SELECT
WHEN EasyView=1 THEN
DO
r=ShowMessage('EasySave.1',,,,AppName,'EasyView')
ADDRESS COMMAND 'delete >NIL: AS_EasyView:#? FORCE ALL QUIET'
CALL DELAY(300) /* needed so that notification will be without effect */
CALL SetClip('EasyView',0)
EXIT 0
END
WHEN EasyPrint=1 THEN
DO
r=ShowMessage('EasySave.1',,,,AppName,'EasyPrint')
ADDRESS COMMAND 'delete >NIL: AS_EasyPrint:#? FORCE ALL QUIET'
CALL DELAY(300)
CALL SetClip('EasyPrint',0)
EXIT 0
END
OTHERWISE NOP
END
IF ~(Files.1='' | Files.1="FILES.1") THEN
DO
ADDRESS COMMAND 'assign >NIL: Profile: EXISTS'
IF RC=0 THEN ADDRESS COMMAND 'copy ENV:Flags/ActualPath Profile:ENV/Flags CLONE'
ELSE ADDRESS COMMAND 'copy ENV:Flags/ActualPath EASys!:Flags CLONE'
END
r=setpubscreen('Workbench Default')
ADDRESS COMMAND 'delete >NIL: ENV:PMID_'ProcessNumber' QUIET'
EXIT 0