[613] | 1 | DIISS ;SFISC/MKO-SAVE AS %ZISS IF STANDALONE FILEMAN ;01:39 PM 21 Dec 1994
|
---|
| 2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | %ZISS ;SFISC/MKO-RETURN SCREEN HANDLING IO VARIABLES ;
|
---|
| 5 | ;
|
---|
| 6 | ; This routine is for standalone FileMan sites that want to use
|
---|
| 7 | ; FileMan's screen-oriented utilities. It must be saved as %ZISS
|
---|
| 8 | ; in the manager account. There are four entry points:
|
---|
| 9 | ;
|
---|
| 10 | ; ENDR - returns the IO variables required for screen handling
|
---|
| 11 | ; KILL - kills the IO variables set by ENDR
|
---|
| 12 | ; GSET - returns the IO variables required to draw lines
|
---|
| 13 | ; GKILL - kills the IO variables set by GSET
|
---|
| 14 | ;
|
---|
| 15 | ; The input variable to all of these entry points is
|
---|
| 16 | ;
|
---|
| 17 | ; IOST - the terminal type name (e.g., C-VT100)
|
---|
| 18 | ;
|
---|
| 19 | ; The terminal types supported by this routine are C-VT100,
|
---|
| 20 | ; C-VT220, and C-VT320. To support another terminal
|
---|
| 21 | ; type, modify the highlighted line in subroutine GETT, and create
|
---|
| 22 | ; new subroutines that sets the IO variables appropriately.
|
---|
| 23 | ;
|
---|
| 24 | ; Also note that %ZIS must return in IOXY the code to position the
|
---|
| 25 | ; cursor at column DX and row DY.
|
---|
| 26 | ;
|
---|
| 27 | GETT ;Based on value of IOST, returns DITT with values:
|
---|
| 28 | ; 1 = C-VT100 (default)
|
---|
| 29 | ; 2 = C-VT220 or C-VT320
|
---|
| 30 | ; 3 = C-DATATREE
|
---|
| 31 | S U="^",DIIOST=$TR(IOST," ","")
|
---|
| 32 | ;
|
---|
| 33 | ;******
|
---|
| 34 | ;** To recognize other terminal types, modify the following line of
|
---|
| 35 | ;** code and add new subroutines (e.g., 4 and G4 for C-QUME) that
|
---|
| 36 | ;** set the IO variables equal to the codes for that terminal type.
|
---|
| 37 | ;******
|
---|
| 38 | ;
|
---|
| 39 | S DITT=$S("^C-VT220^C-VT320^"[(U_DIIOST_U):2,DIIOST="C-DATATREE":3,1:1)
|
---|
| 40 | ;*****
|
---|
| 41 | K DIIOST
|
---|
| 42 | Q
|
---|
| 43 | ENDR ;Set screen handler IO variables
|
---|
| 44 | N DITT
|
---|
| 45 | D GETT,@DITT
|
---|
| 46 | Q
|
---|
| 47 | GSET ;Set graphics variables
|
---|
| 48 | N DITT
|
---|
| 49 | D GETT,@("G"_DITT)
|
---|
| 50 | Q
|
---|
| 51 | KILL ;Kill screen handler IO variables
|
---|
| 52 | K IOCUU,IOCUD,IOCUF,IOCUB,IOPF1,IOPF2,IOPF3,IOPF4
|
---|
| 53 | K IOFIND,IOINSERT,IOREMOVE,IOSELECT,IOPREVSC,IONEXTSC,IOHELP,IODO
|
---|
| 54 | K IOKPAM,IOKPNM
|
---|
| 55 | K IOKP0,IOKP1,IOKP2,IOKP3,IOKP4,IOKP5,IOKP6,IOKP7,IOKP8,IOKP9
|
---|
| 56 | K IOMINUS,IOCOMMA,IOPERIOD,IOENTER
|
---|
| 57 | K IOEDALL,IOEDEOP,IOELEOL,IOELALL
|
---|
| 58 | K IOINHI,IOINLOW,IOINORM,IORVON,IORVOFF,IOUON,IOUOFF,IOSGR0
|
---|
| 59 | K IORI,IOSTBM,IOIL,IODL,IOICH,IODCH
|
---|
| 60 | K IOIRM1,IOIRM0,IOAWM0,IOAWM1
|
---|
| 61 | Q
|
---|
| 62 | GKILL ;Kill graphics variables
|
---|
| 63 | K IOG0,IOG1,IOBLC,IOBRC,IOTLC,IOTRC,IOHL,IOVL,IOLT,IOTT,IORT,IOBT,IOMT
|
---|
| 64 | Q
|
---|
| 65 | 1 ;VT100 codes
|
---|
| 66 | S IOCUU=$C(27)_"[A"
|
---|
| 67 | S IOCUD=$C(27)_"[B"
|
---|
| 68 | S IOCUF=$C(27)_"[C"
|
---|
| 69 | S IOCUB=$C(27)_"[D"
|
---|
| 70 | S IOPF1=$C(27)_"OP"
|
---|
| 71 | S IOPF2=$C(27)_"OQ"
|
---|
| 72 | S IOPF3=$C(27)_"OR"
|
---|
| 73 | S IOPF4=$C(27)_"OS"
|
---|
| 74 | S IOFIND=$C(27)_"[1~"
|
---|
| 75 | S IOINSERT=$C(27)_"[2~"
|
---|
| 76 | S IOREMOVE=$C(27)_"[3~"
|
---|
| 77 | S IOSELECT=$C(27)_"[4~"
|
---|
| 78 | S IOPREVSC=$C(27)_"[5~"
|
---|
| 79 | S IONEXTSC=$C(27)_"[6~"
|
---|
| 80 | S IOHELP=$C(27)_"[28~"
|
---|
| 81 | S IODO=$C(27)_"[29~"
|
---|
| 82 | S IOKP0=$C(27)_"Op"
|
---|
| 83 | S IOKP1=$C(27)_"Oq"
|
---|
| 84 | S IOKP2=$C(27)_"Or"
|
---|
| 85 | S IOKP3=$C(27)_"Os"
|
---|
| 86 | S IOKP4=$C(27)_"Ot"
|
---|
| 87 | S IOKP5=$C(27)_"Ou"
|
---|
| 88 | S IOKP6=$C(27)_"Ov"
|
---|
| 89 | S IOKP7=$C(27)_"Ow"
|
---|
| 90 | S IOKP8=$C(27)_"Ox"
|
---|
| 91 | S IOKP9=$C(27)_"Oy"
|
---|
| 92 | S IOMINUS=$C(27)_"Om"
|
---|
| 93 | S IOCOMMA=$C(27)_"Ol"
|
---|
| 94 | S IOPERIOD=$C(27)_"On"
|
---|
| 95 | S IOENTER=$C(27)_"OM"
|
---|
| 96 | S IOEDEOP=$C(27)_"[J"
|
---|
| 97 | S IOEDALL=$C(27)_"[2J"
|
---|
| 98 | S IOELEOL=$C(27)_"[K"
|
---|
| 99 | S IOELALL=$C(27)_"[2K"
|
---|
| 100 | S IOAWM0=$C(27)_"[?7l"
|
---|
| 101 | S IOAWM1=$C(27)_"[?7h"
|
---|
| 102 | S IOINHI=$C(27)_"[1m"
|
---|
| 103 | S IOINLOW=$C(27)_"[m"
|
---|
| 104 | S IOINORM=$C(27)_"[m"
|
---|
| 105 | S IOUON=$C(27)_"[4m"
|
---|
| 106 | S IOUOFF=$C(27)_"[m"
|
---|
| 107 | S IORVON=$C(27)_"[7m"
|
---|
| 108 | S IORVOFF=$C(27)_"[m"
|
---|
| 109 | S IOSGR0=$C(27)_"[m"
|
---|
| 110 | S IORI=$C(27)_"M"
|
---|
| 111 | S IOSTBM="$C(27,91)_+IOTM_"";""_+IOBM_""r"""
|
---|
| 112 | S IOIL=$C(27)_"[L"
|
---|
| 113 | S IODL=$C(27)_"[M"
|
---|
| 114 | S IOICH=$C(27)_"[@"
|
---|
| 115 | S IODCH=$C(27)_"[P"
|
---|
| 116 | S IOIRM1=$C(27)_"[4h"
|
---|
| 117 | S IOIRM0=$C(27)_"[4l"
|
---|
| 118 | S IOKPAM=$C(27)_"="
|
---|
| 119 | S IOKPNM=$C(27)_">"
|
---|
| 120 | Q
|
---|
| 121 | G1 ;VT100 line drawing codes
|
---|
| 122 | S IOG0=$C(27)_"(B"
|
---|
| 123 | S IOG1=$C(27)_"(0"
|
---|
| 124 | S IOBLC="m"
|
---|
| 125 | S IOBRC="j"
|
---|
| 126 | S IOTLC="l"
|
---|
| 127 | S IOTRC="k"
|
---|
| 128 | S IOHL="q"
|
---|
| 129 | S IOVL="x"
|
---|
| 130 | S IOLT="t"
|
---|
| 131 | S IOTT="w"
|
---|
| 132 | S IORT="u"
|
---|
| 133 | S IOBT="v"
|
---|
| 134 | S IOMT="n"
|
---|
| 135 | Q
|
---|
| 136 | 2 ;VT220 and VT320 codes
|
---|
| 137 | ;The codes are the same as VT100 except for a few
|
---|
| 138 | D 1
|
---|
| 139 | S IOINLOW=$C(27)_"[22m"
|
---|
| 140 | S IOUOFF=$C(27)_"[24m"
|
---|
| 141 | S IORVOFF=$C(27)_"[27m"
|
---|
| 142 | Q
|
---|
| 143 | G2 ;VT220 and VT320 line drawing codes
|
---|
| 144 | ;The codes are the same as those for VT100s
|
---|
| 145 | D G1
|
---|
| 146 | Q
|
---|
| 147 | 3 ;C-DATATREE codes
|
---|
| 148 | S IOXY="W /C(DX,DY)"
|
---|
| 149 | S IOCUU=$C(1)
|
---|
| 150 | S IOCUD=$C(11)
|
---|
| 151 | S IOCUF=$C(18)
|
---|
| 152 | S IOCUB=$C(14)
|
---|
| 153 | S IOPF1=$C(21)
|
---|
| 154 | S IOPF2=$C(22)
|
---|
| 155 | S IOPF3=$C(23)
|
---|
| 156 | S IOPF4=$C(24)
|
---|
| 157 | S IOEDALL=$C(12)
|
---|
| 158 | S IOEDEOP=$C(255)_"EF"
|
---|
| 159 | S IOELEOL=$C(255)_"EL"
|
---|
| 160 | S IOELALL=""
|
---|
| 161 | S IOAWM0=""
|
---|
| 162 | S IOAWM1=""
|
---|
| 163 | S IOINHI=$C(255)_"AB"
|
---|
| 164 | S IOINLOW=$C(255)_"AA"
|
---|
| 165 | S IOUON=$C(255)_"AC"
|
---|
| 166 | S IOUOFF=$C(255)_"AA"
|
---|
| 167 | S IORVON=$C(255)_"AE"
|
---|
| 168 | S IORVOFF=$C(255)_"AA"
|
---|
| 169 | S IOINORM=$C(255)_"AA"
|
---|
| 170 | S IOSGR0=$C(255)_"AA"
|
---|
| 171 | S IORI=""
|
---|
| 172 | S IOSTBM=""
|
---|
| 173 | S IOIL=""
|
---|
| 174 | S IODL=""
|
---|
| 175 | S IOICH=""
|
---|
| 176 | S IODCH=""
|
---|
| 177 | S IOIRM1=""
|
---|
| 178 | S IOIRM0=""
|
---|
| 179 | Q
|
---|
| 180 | G3 ;C-DATATREE line drawing codes
|
---|
| 181 | S IOG0=""
|
---|
| 182 | S IOG1=""
|
---|
| 183 | S IOBLC=$C(192)
|
---|
| 184 | S IOBRC=$C(217)
|
---|
| 185 | S IOTLC=$C(218)
|
---|
| 186 | S IOTRC=$C(191)
|
---|
| 187 | S IOHL=$C(196)
|
---|
| 188 | S IOVL=$C(179)
|
---|
| 189 | S IOLT=$C(195)
|
---|
| 190 | S IOTT=$C(194)
|
---|
| 191 | S IORT=$C(180)
|
---|
| 192 | S IOBT=$C(193)
|
---|
| 193 | S IOMT=$C(197)
|
---|
| 194 | Q
|
---|