Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DIISS

DIISS.m

Go to the documentation of this file.
  1. DIISS ;SFISC/MKO-SAVE AS %ZISS IF STANDALONE FILEMAN ;01:39 PM 21 Dec 1994
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. %ZISS ;SFISC/MKO-RETURN SCREEN HANDLING IO VARIABLES ;
  1. ;
  1. ; This routine is for standalone FileMan sites that want to use
  1. ; FileMan's screen-oriented utilities. It must be saved as %ZISS
  1. ; in the manager account. There are four entry points:
  1. ;
  1. ; ENDR - returns the IO variables required for screen handling
  1. ; KILL - kills the IO variables set by ENDR
  1. ; GSET - returns the IO variables required to draw lines
  1. ; GKILL - kills the IO variables set by GSET
  1. ;
  1. ; The input variable to all of these entry points is
  1. ;
  1. ; IOST - the terminal type name (e.g., C-VT100)
  1. ;
  1. ; The terminal types supported by this routine are C-VT100,
  1. ; C-VT220, and C-VT320. To support another terminal
  1. ; type, modify the highlighted line in subroutine GETT, and create
  1. ; new subroutines that sets the IO variables appropriately.
  1. ;
  1. ; Also note that %ZIS must return in IOXY the code to position the
  1. ; cursor at column DX and row DY.
  1. ;
  1. GETT ;Based on value of IOST, returns DITT with values:
  1. ; 1 = C-VT100 (default)
  1. ; 2 = C-VT220 or C-VT320
  1. ; 3 = C-DATATREE
  1. S U="^",DIIOST=$TR(IOST," ","")
  1. ;
  1. ;******
  1. ;** To recognize other terminal types, modify the following line of
  1. ;** code and add new subroutines (e.g., 4 and G4 for C-QUME) that
  1. ;** set the IO variables equal to the codes for that terminal type.
  1. ;******
  1. ;
  1. S DITT=$S("^C-VT220^C-VT320^"[(U_DIIOST_U):2,DIIOST="C-DATATREE":3,1:1)
  1. ;*****
  1. K DIIOST
  1. Q
  1. ENDR ;Set screen handler IO variables
  1. N DITT
  1. D GETT,@DITT
  1. Q
  1. GSET ;Set graphics variables
  1. N DITT
  1. D GETT,@("G"_DITT)
  1. Q
  1. KILL ;Kill screen handler IO variables
  1. K IOCUU,IOCUD,IOCUF,IOCUB,IOPF1,IOPF2,IOPF3,IOPF4
  1. K IOFIND,IOINSERT,IOREMOVE,IOSELECT,IOPREVSC,IONEXTSC,IOHELP,IODO
  1. K IOKPAM,IOKPNM
  1. K IOKP0,IOKP1,IOKP2,IOKP3,IOKP4,IOKP5,IOKP6,IOKP7,IOKP8,IOKP9
  1. K IOMINUS,IOCOMMA,IOPERIOD,IOENTER
  1. K IOEDALL,IOEDEOP,IOELEOL,IOELALL
  1. K IOINHI,IOINLOW,IOINORM,IORVON,IORVOFF,IOUON,IOUOFF,IOSGR0
  1. K IORI,IOSTBM,IOIL,IODL,IOICH,IODCH
  1. K IOIRM1,IOIRM0,IOAWM0,IOAWM1
  1. Q
  1. GKILL ;Kill graphics variables
  1. K IOG0,IOG1,IOBLC,IOBRC,IOTLC,IOTRC,IOHL,IOVL,IOLT,IOTT,IORT,IOBT,IOMT
  1. Q
  1. 1 ;VT100 codes
  1. S IOCUU=$C(27)_"[A"
  1. S IOCUD=$C(27)_"[B"
  1. S IOCUF=$C(27)_"[C"
  1. S IOCUB=$C(27)_"[D"
  1. S IOPF1=$C(27)_"OP"
  1. S IOPF2=$C(27)_"OQ"
  1. S IOPF3=$C(27)_"OR"
  1. S IOPF4=$C(27)_"OS"
  1. S IOFIND=$C(27)_"[1~"
  1. S IOINSERT=$C(27)_"[2~"
  1. S IOREMOVE=$C(27)_"[3~"
  1. S IOSELECT=$C(27)_"[4~"
  1. S IOPREVSC=$C(27)_"[5~"
  1. S IONEXTSC=$C(27)_"[6~"
  1. S IOHELP=$C(27)_"[28~"
  1. S IODO=$C(27)_"[29~"
  1. S IOKP0=$C(27)_"Op"
  1. S IOKP1=$C(27)_"Oq"
  1. S IOKP2=$C(27)_"Or"
  1. S IOKP3=$C(27)_"Os"
  1. S IOKP4=$C(27)_"Ot"
  1. S IOKP5=$C(27)_"Ou"
  1. S IOKP6=$C(27)_"Ov"
  1. S IOKP7=$C(27)_"Ow"
  1. S IOKP8=$C(27)_"Ox"
  1. S IOKP9=$C(27)_"Oy"
  1. S IOMINUS=$C(27)_"Om"
  1. S IOCOMMA=$C(27)_"Ol"
  1. S IOPERIOD=$C(27)_"On"
  1. S IOENTER=$C(27)_"OM"
  1. S IOEDEOP=$C(27)_"[J"
  1. S IOEDALL=$C(27)_"[2J"
  1. S IOELEOL=$C(27)_"[K"
  1. S IOELALL=$C(27)_"[2K"
  1. S IOAWM0=$C(27)_"[?7l"
  1. S IOAWM1=$C(27)_"[?7h"
  1. S IOINHI=$C(27)_"[1m"
  1. S IOINLOW=$C(27)_"[m"
  1. S IOINORM=$C(27)_"[m"
  1. S IOUON=$C(27)_"[4m"
  1. S IOUOFF=$C(27)_"[m"
  1. S IORVON=$C(27)_"[7m"
  1. S IORVOFF=$C(27)_"[m"
  1. S IOSGR0=$C(27)_"[m"
  1. S IORI=$C(27)_"M"
  1. S IOSTBM="$C(27,91)_+IOTM_"";""_+IOBM_""r"""
  1. S IOIL=$C(27)_"[L"
  1. S IODL=$C(27)_"[M"
  1. S IOICH=$C(27)_"[@"
  1. S IODCH=$C(27)_"[P"
  1. S IOIRM1=$C(27)_"[4h"
  1. S IOIRM0=$C(27)_"[4l"
  1. S IOKPAM=$C(27)_"="
  1. S IOKPNM=$C(27)_">"
  1. Q
  1. G1 ;VT100 line drawing codes
  1. S IOG0=$C(27)_"(B"
  1. S IOG1=$C(27)_"(0"
  1. S IOBLC="m"
  1. S IOBRC="j"
  1. S IOTLC="l"
  1. S IOTRC="k"
  1. S IOHL="q"
  1. S IOVL="x"
  1. S IOLT="t"
  1. S IOTT="w"
  1. S IORT="u"
  1. S IOBT="v"
  1. S IOMT="n"
  1. Q
  1. 2 ;VT220 and VT320 codes
  1. ;The codes are the same as VT100 except for a few
  1. D 1
  1. S IOINLOW=$C(27)_"[22m"
  1. S IOUOFF=$C(27)_"[24m"
  1. S IORVOFF=$C(27)_"[27m"
  1. Q
  1. G2 ;VT220 and VT320 line drawing codes
  1. ;The codes are the same as those for VT100s
  1. D G1
  1. Q
  1. 3 ;C-DATATREE codes
  1. S IOXY="W /C(DX,DY)"
  1. S IOCUU=$C(1)
  1. S IOCUD=$C(11)
  1. S IOCUF=$C(18)
  1. S IOCUB=$C(14)
  1. S IOPF1=$C(21)
  1. S IOPF2=$C(22)
  1. S IOPF3=$C(23)
  1. S IOPF4=$C(24)
  1. S IOEDALL=$C(12)
  1. S IOEDEOP=$C(255)_"EF"
  1. S IOELEOL=$C(255)_"EL"
  1. S IOELALL=""
  1. S IOAWM0=""
  1. S IOAWM1=""
  1. S IOINHI=$C(255)_"AB"
  1. S IOINLOW=$C(255)_"AA"
  1. S IOUON=$C(255)_"AC"
  1. S IOUOFF=$C(255)_"AA"
  1. S IORVON=$C(255)_"AE"
  1. S IORVOFF=$C(255)_"AA"
  1. S IOINORM=$C(255)_"AA"
  1. S IOSGR0=$C(255)_"AA"
  1. S IORI=""
  1. S IOSTBM=""
  1. S IOIL=""
  1. S IODL=""
  1. S IOICH=""
  1. S IODCH=""
  1. S IOIRM1=""
  1. S IOIRM0=""
  1. Q
  1. G3 ;C-DATATREE line drawing codes
  1. S IOG0=""
  1. S IOG1=""
  1. S IOBLC=$C(192)
  1. S IOBRC=$C(217)
  1. S IOTLC=$C(218)
  1. S IOTRC=$C(191)
  1. S IOHL=$C(196)
  1. S IOVL=$C(179)
  1. S IOLT=$C(195)
  1. S IOTT=$C(194)
  1. S IORT=$C(180)
  1. S IOBT=$C(193)
  1. S IOMT=$C(197)
  1. Q