Annotation of freem_fileman/DDGFFLD.m, revision 1.1.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>