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>