Annotation of freem_fileman/USER/DDGFFLD.m, revision 1.1

1.1     ! snw         1: DDGFFLD        ;SFISC/MKO-EDIT A FIELD ;01:47 PM  22 Nov 1994
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4: EDIT   ;
        !             5:        Q:$D(^DIST(.404,B,40,F,0))[0
        !             6:        I T="D" Q:C]""  K @DDGFREF@("F",DDGFPG,B,F)
        !             7:        ;
        !             8:        S DDGFDY=DY,DDGFDX=DX
        !             9:        S DDGFTYPE=$P(^DIST(.404,B,40,F,0),U,3)
        !            10:        I 'DDGFTYPE D
        !            11:        . I $G(^DIST(.404,B,40,F,20))'?."^" S DDGFTYPE=2 Q
        !            12:        . I $P($G(^DIST(.404,B,0)),U,2),$G(^DIST(.404,B,40,F,1)) S DDGFTYPE=3
        !            13:        G:'DDGFTYPE EDITQ
        !            14:        ;
        !            15:        S DDGFB2=@DDGFREF@("F",DDGFPG,B)
        !            16:        S DDGFB1=$P(DDGFB2,U),DDGFB2=$P(DDGFB2,U,2)
        !            17:        S DDGFDD=$P(^DIST(.404,B,0),U,2)
        !            18:        S (DDGFSUP,DDGFSUP0)=$S(C]""&(DDGFTYPE'=1):$E(C,$L(C))'=":",1:"")
        !            19:        S (DDGFCAP,DDGFCAP0)=$S(DDGFTYPE=1!DDGFSUP0:C,1:$E(C,1,$L(C)-1))
        !            20:        S (DDGFCC,DDGFCC0)=$S(C]"":C1-DDGFB1+1_","_(C2-DDGFB2+1),1:"")
        !            21:        I $D(D) D
        !            22:        . S (DDGFDL,DDGFDL0)=L
        !            23:        . S (DDGFDC,DDGFDC0)=D1-DDGFB1+1_","_(D2-DDGFB2+1)
        !            24:        K DDGFB1,DDGFB2
        !            25:        ;
        !            26:        S DDSFILE=.404,DDSFILE(1)=.4044,DDSPARM="KSTW"
        !            27:        S DR="[DDGF FIELD "_$P("CAPTION ONLY^FORM ONLY^DD^COMPUTED",U,DDGFTYPE)_"]"
        !            28:        S DA=F,DA(1)=B
        !            29:        D
        !            30:        . N B,F,T,C,C1,C2,D,D1,D2,L,P1,P2
        !            31:        . D ^DDS K DDSFILE,DDSPARM,DR,DDGFDD
        !            32:        ;
        !            33:        ;If caption, caption coords, data length, data coords, or suppress
        !            34:        ;colon flag changed we need to update some local variables
        !            35:        I $D(DA)#2,$G(DDSSAVE) D
        !            36:        . S DDGFNDB=$G(@DDGFREF@("F",DDGFPG,B))
        !            37:        . S:DDGFCAP="" (DDGFSUP,DDGFCC)=""
        !            38:        . S DR=""
        !            39:        . ;
        !            40:        . I DDGFCAP'=DDGFCAP0!(DDGFSUP'=DDGFSUP0) D
        !            41:        .. S C=DDGFCAP_$S(DDGFCAP]""&(DDGFTYPE'=1)&'DDGFSUP:":",1:"")
        !            42:        .. S:DDGFCAP'=DDGFCAP0 DR=DR_"1////"_$S(DDGFCAP]"":DDGFCAP,1:"@")_";"
        !            43:        .. S:DDGFSUP'=DDGFSUP0 DR=DR_"5.2////"_$S(DDGFSUP:1,1:"@")_";"
        !            44:        . ;
        !            45:        . D:DDGFCC'=DDGFCC0
        !            46:        .. S C1=$S(DDGFCAP]"":$P(DDGFCC,",")-1+$P(DDGFNDB,U),1:"")
        !            47:        .. S C2=$S(DDGFCAP]"":$P(DDGFCC,",",2)-1+$P(DDGFNDB,U,2),1:"")
        !            48:        .. S DR=DR_"5.1////"_$S(DDGFCC]"":DDGFCC,1:"@")_";"
        !            49:        . ;
        !            50:        . D:$D(D)
        !            51:        .. D:DDGFDC'=DDGFDC0
        !            52:        ... S D1=$P(DDGFDC,",")-1+$P(DDGFNDB,U)
        !            53:        ... S D2=$P(DDGFDC,",",2)-1+$P(DDGFNDB,U,2)
        !            54:        ... S DR=DR_"4.1////"_DDGFDC_";"
        !            55:        .. D:DDGFDL'=DDGFDL0
        !            56:        ... S L=DDGFDL
        !            57:        ... S D=$TR($J("",L)," ","_")
        !            58:        ... S DR=DR_"4.2////"_DDGFDL_";"
        !            59:        . ;
        !            60:        . I T="D",C]"" D
        !            61:        .. D WRITE^DDGLIBW(DDGFWID,C,C1-P1,C2-P2,"",1)
        !            62:        .. S @DDGFREF@("RC",DDGFWID,C1,C2,C2+$L(C)-1,B,F,"C")=""
        !            63:        . ;
        !            64:        . I DR]"" D
        !            65:        .. N B,F,T,C,C1,C2,D,D1,D2,L,P1,P2
        !            66:        .. S DIE="^DIST(.404,"_DA(1)_",40,"
        !            67:        .. S DR=$E(DR,1,$L(DR)-1)
        !            68:        .. D ^DIE
        !            69:        ;
        !            70:        K DA,DDGFNDB
        !            71:        K DDGFSUP,DDGFSUP0,DDGFCAP,DDGFCAP0,DDGFCC,DDGFCC0
        !            72:        K DDGFDL,DDGFDL0,DDGFDC,DDGFDC0,DDSSAVE
        !            73:        K DIE,DR
        !            74:        ;
        !            75:        D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !            76: EDITQ  S DDGFE=1
        !            77:        K DDGFDY,DDGFDX,DDGFTYPE
        !            78:        Q
        !            79:        ;
        !            80: RC(DDGFY,DDGFX)        ;Update status line, reset DX and DY, move cursor
        !            81:        N S
        !            82:        I DDGFR D
        !            83:        . S DY=IOSL-6,DX=IOM-9,S="R"_(DDGFY+1)_",C"_(DDGFX+1)
        !            84:        . X IOXY W S_$J("",7-$L(S))
        !            85:        S DY=DDGFY,DX=DDGFX X IOXY
        !            86:        Q

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