source: WorldVistAEHR/trunk/r/VA_FILEMAN-ARJT-DI-DD-DM-DT-%DT-%RCR/DIISS.m@ 895

Last change on this file since 895 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 4.7 KB
Line 
1DIISS ;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 ;
27GETT ;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
43ENDR ;Set screen handler IO variables
44 N DITT
45 D GETT,@DITT
46 Q
47GSET ;Set graphics variables
48 N DITT
49 D GETT,@("G"_DITT)
50 Q
51KILL ;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
62GKILL ;Kill graphics variables
63 K IOG0,IOG1,IOBLC,IOBRC,IOTLC,IOTRC,IOHL,IOVL,IOLT,IOTT,IORT,IOBT,IOMT
64 Q
651 ;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
121G1 ;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
1362 ;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
143G2 ;VT220 and VT320 line drawing codes
144 ;The codes are the same as those for VT100s
145 D G1
146 Q
1473 ;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
180G3 ;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
Note: See TracBrowser for help on using the repository browser.