File:  [Coherent Logic Development] / freem_fileman / USER / DDGFFLD.m
Revision 1.1: download - view: text, annotated - select for diffs
Mon Apr 28 14:13:19 2025 UTC (3 months ago) by snw
Branches: MAIN
CVS tags: HEAD
Restructure repository

    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>