Annotation of freem_fileman/%ZISS.m, revision 1.1
1.1 ! snw 1: DIISS ;SFISC/MKO-SAVE AS %ZISS IF STANDALONE FILEMAN ;01:39 PM 21 Dec 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>