Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DDGFFLD

DDGFFLD.m

Go to the documentation of this file.
  1. DDGFFLD ;SFISC/MKO-EDIT A FIELD ;01:47 PM 22 Nov 1994
  1. ;;22.0;VA FileMan;;Mar 30, 1999
  1. ;Per VHA Directive 10-93-142, this routine should not be modified.
  1. EDIT ;
  1. Q:$D(^DIST(.404,B,40,F,0))[0
  1. I T="D" Q:C]"" K @DDGFREF@("F",DDGFPG,B,F)
  1. ;
  1. S DDGFDY=DY,DDGFDX=DX
  1. S DDGFTYPE=$P(^DIST(.404,B,40,F,0),U,3)
  1. I 'DDGFTYPE D
  1. . I $G(^DIST(.404,B,40,F,20))'?."^" S DDGFTYPE=2 Q
  1. . I $P($G(^DIST(.404,B,0)),U,2),$G(^DIST(.404,B,40,F,1)) S DDGFTYPE=3
  1. G:'DDGFTYPE EDITQ
  1. ;
  1. S DDGFB2=@DDGFREF@("F",DDGFPG,B)
  1. S DDGFB1=$P(DDGFB2,U),DDGFB2=$P(DDGFB2,U,2)
  1. S DDGFDD=$P(^DIST(.404,B,0),U,2)
  1. S (DDGFSUP,DDGFSUP0)=$S(C]""&(DDGFTYPE'=1):$E(C,$L(C))'=":",1:"")
  1. S (DDGFCAP,DDGFCAP0)=$S(DDGFTYPE=1!DDGFSUP0:C,1:$E(C,1,$L(C)-1))
  1. S (DDGFCC,DDGFCC0)=$S(C]"":C1-DDGFB1+1_","_(C2-DDGFB2+1),1:"")
  1. I $D(D) D
  1. . S (DDGFDL,DDGFDL0)=L
  1. . S (DDGFDC,DDGFDC0)=D1-DDGFB1+1_","_(D2-DDGFB2+1)
  1. K DDGFB1,DDGFB2
  1. ;
  1. S DDSFILE=.404,DDSFILE(1)=.4044,DDSPARM="KSTW"
  1. S DR="[DDGF FIELD "_$P("CAPTION ONLY^FORM ONLY^DD^COMPUTED",U,DDGFTYPE)_"]"
  1. S DA=F,DA(1)=B
  1. D
  1. . N B,F,T,C,C1,C2,D,D1,D2,L,P1,P2
  1. . D ^DDS K DDSFILE,DDSPARM,DR,DDGFDD
  1. ;
  1. ;If caption, caption coords, data length, data coords, or suppress
  1. ;colon flag changed we need to update some local variables
  1. I $D(DA)#2,$G(DDSSAVE) D
  1. . S DDGFNDB=$G(@DDGFREF@("F",DDGFPG,B))
  1. . S:DDGFCAP="" (DDGFSUP,DDGFCC)=""
  1. . S DR=""
  1. . ;
  1. . I DDGFCAP'=DDGFCAP0!(DDGFSUP'=DDGFSUP0) D
  1. .. S C=DDGFCAP_$S(DDGFCAP]""&(DDGFTYPE'=1)&'DDGFSUP:":",1:"")
  1. .. S:DDGFCAP'=DDGFCAP0 DR=DR_"1////"_$S(DDGFCAP]"":DDGFCAP,1:"@")_";"
  1. .. S:DDGFSUP'=DDGFSUP0 DR=DR_"5.2////"_$S(DDGFSUP:1,1:"@")_";"
  1. . ;
  1. . D:DDGFCC'=DDGFCC0
  1. .. S C1=$S(DDGFCAP]"":$P(DDGFCC,",")-1+$P(DDGFNDB,U),1:"")
  1. .. S C2=$S(DDGFCAP]"":$P(DDGFCC,",",2)-1+$P(DDGFNDB,U,2),1:"")
  1. .. S DR=DR_"5.1////"_$S(DDGFCC]"":DDGFCC,1:"@")_";"
  1. . ;
  1. . D:$D(D)
  1. .. D:DDGFDC'=DDGFDC0
  1. ... S D1=$P(DDGFDC,",")-1+$P(DDGFNDB,U)
  1. ... S D2=$P(DDGFDC,",",2)-1+$P(DDGFNDB,U,2)
  1. ... S DR=DR_"4.1////"_DDGFDC_";"
  1. .. D:DDGFDL'=DDGFDL0
  1. ... S L=DDGFDL
  1. ... S D=$TR($J("",L)," ","_")
  1. ... S DR=DR_"4.2////"_DDGFDL_";"
  1. . ;
  1. . I T="D",C]"" D
  1. .. D WRITE^DDGLIBW(DDGFWID,C,C1-P1,C2-P2,"",1)
  1. .. S @DDGFREF@("RC",DDGFWID,C1,C2,C2+$L(C)-1,B,F,"C")=""
  1. . ;
  1. . I DR]"" D
  1. .. N B,F,T,C,C1,C2,D,D1,D2,L,P1,P2
  1. .. S DIE="^DIST(.404,"_DA(1)_",40,"
  1. .. S DR=$E(DR,1,$L(DR)-1)
  1. .. D ^DIE
  1. ;
  1. K DA,DDGFNDB
  1. K DDGFSUP,DDGFSUP0,DDGFCAP,DDGFCAP0,DDGFCC,DDGFCC0
  1. K DDGFDL,DDGFDL0,DDGFDC,DDGFDC0,DDSSAVE
  1. K DIE,DR
  1. ;
  1. D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
  1. EDITQ S DDGFE=1
  1. K DDGFDY,DDGFDX,DDGFTYPE
  1. Q
  1. ;
  1. RC(DDGFY,DDGFX) ;Update status line, reset DX and DY, move cursor
  1. N S
  1. I DDGFR D
  1. . S DY=IOSL-6,DX=IOM-9,S="R"_(DDGFY+1)_",C"_(DDGFX+1)
  1. . X IOXY W S_$J("",7-$L(S))
  1. S DY=DDGFY,DX=DDGFX X IOXY
  1. Q