Annotation of freem_fileman/DIR02.m, revision 1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>