1 | DIR02 ;SFISC/MKO-MULTILINE FIELD EDITOR ;3:24 PM 29 Aug 1995
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | EN ;
|
---|
5 | N DIR0FL,DIR0LN,DIR0NC,DIR0QU
|
---|
6 | X DDGLZOSF("EOFF"),DDGLZOSF("TRMON")
|
---|
7 | W $S('$D(DDGLVAN):$P(DDGLVID,DDGLDEL,6),1:"")
|
---|
8 | S DIR0QU=0
|
---|
9 | ;
|
---|
10 | S:$D(DIR0C)#2 DIR0C=DIR0C+1
|
---|
11 | D INIT,^DIR03
|
---|
12 | W $P(DDGLVID,DDGLDEL,7)
|
---|
13 | Q
|
---|
14 | ;
|
---|
15 | SM ;ScreenMan's entry point, called from ^DIR01
|
---|
16 | N DIR0DN,DIR0FL,DIR0LN,DIR0NC,DIR0NL
|
---|
17 | S DIR0R=IOSL-6,DIR0S=0,DIR0L=IOM-1,DIR0NL=4
|
---|
18 | ;
|
---|
19 | D INIT,^DIR03
|
---|
20 | ;
|
---|
21 | S:$D(DTOUT) DIR0A=DIR0D
|
---|
22 | ;
|
---|
23 | ;Restore command area
|
---|
24 | S DY=DIR0R,DX=DIR0S X IOXY
|
---|
25 | W $P(DDGLVID,DDGLDEL,10)_$P(DDGLCLR,DDGLDEL,3)
|
---|
26 | ;
|
---|
27 | S DY=IOSL-1
|
---|
28 | I DDO D
|
---|
29 | . S DX=0 X IOXY W "COMMAND:"
|
---|
30 | . S DX=IOM-35 X IOXY W "Press <PF1>H for help"
|
---|
31 | S DX=IOM-8 X IOXY
|
---|
32 | W $S('$D(DDGLVAN):$P(DDGLVID,DDGLDEL,6),1:"")_$S($G(DIR0("REP")):"Replace",1:"Insert ")_$P(DDGLVID,DDGLDEL,10)
|
---|
33 | ;
|
---|
34 | ;Restore variables
|
---|
35 | S (DY,DIR0R)=$P(DIR0,U),(DX,DIR0S)=$P(DIR0,U,2),DIR0L=$P(DIR0,U,3)
|
---|
36 | S DIR0F=DIR0S+DIR0L
|
---|
37 | S DIR0SP=$J("",DIR0L) S:$G(DDGLVAN) DIR0SP=$TR(DIR0SP," ","_")
|
---|
38 | I DIR0A]"","^?"[$E(DIR0A) S DIR0QT=1
|
---|
39 | ;
|
---|
40 | ;Repaint answer
|
---|
41 | X IOXY
|
---|
42 | W:'$D(DDGLVAN) $P(DDGLVID,DDGLDEL,6)
|
---|
43 | I DIR0C>DIR0L D
|
---|
44 | . W $E(DIR0A,DIR0C-DIR0L+1,DIR0C)_$E(DIR0SP,DIR0C>$L(DIR0A))
|
---|
45 | . S DX=DIR0F-1
|
---|
46 | E D
|
---|
47 | . W $E(DIR0A,1,DIR0L)_$E(DIR0SP,$L(DIR0A)+1,999)
|
---|
48 | . S DX=DIR0S+DIR0C-1
|
---|
49 | X IOXY
|
---|
50 | K DTOUT
|
---|
51 | Q
|
---|
52 | ;
|
---|
53 | INIT ;Setup
|
---|
54 | K DTOUT
|
---|
55 | S:DIR0M<$L(DIR0A) DIR0M=$L(DIR0A)
|
---|
56 | S DIR0SP=$J("",DIR0L) S:$G(DDSVAN) DIR0SP=$TR(DIR0SP," ","_")
|
---|
57 | ;
|
---|
58 | F DIR0LN=1:1:DIR0NL D
|
---|
59 | . S DY=DIR0R+DIR0LN-1,DX=DIR0S X IOXY
|
---|
60 | . S X=$E(DIR0A,DIR0LN-1*DIR0L+1,DIR0LN*DIR0L)
|
---|
61 | . W X_$E(DIR0SP,$L(X)+1,999)
|
---|
62 | ;
|
---|
63 | S:DIR0NL*DIR0L-1<DIR0M DIR0M=DIR0NL*DIR0L-1
|
---|
64 | S DIR0NL=DIR0M\DIR0L+1,DIR0NC=DIR0M#DIR0L
|
---|
65 | S DIR0F=DIR0S+DIR0L-1,DIR0FL=DIR0S+DIR0NC-1
|
---|
66 | S DIR0SV=$G(DIR0("L")),DIR0DN=0
|
---|
67 | ;
|
---|
68 | S DIR0C=$S($G(DIR0C)<1:1,1:DIR0C)
|
---|
69 | S:DIR0C-1>DIR0M DIR0C=DIR0M+1
|
---|
70 | S DIR0LN=DIR0C\DIR0L+1
|
---|
71 | S DY=DIR0R+DIR0LN-1,DX=DIR0S+(DIR0C#DIR0L)-1
|
---|
72 | X IOXY
|
---|
73 | Q
|
---|
74 | ;
|
---|
75 | KILL ;Cleanup all variables
|
---|
76 | D KILL^DDGLIB0()
|
---|
77 | Q
|
---|