| 1 | PRCRIA10 ;TPA/RAK/WASH IRMFO - Header/Footer Boxes ;8/27/96 15:37
|
---|
| 2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
| 3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | FTRBOX(FOOTER,CENTER,VALUE) ;Footer box
|
---|
| 5 | ;--------------------------------------------------------------------
|
---|
| 6 | ; FOOTER - Text for footer. if none then will default to
|
---|
| 7 | ; "Press RETURN to continue, '^' to quit".
|
---|
| 8 | ; CENTER - If not zero then center text.
|
---|
| 9 | ; VALUE - Value returned to calling rouine.
|
---|
| 10 | ; "" - if iom or ioxy are not defined
|
---|
| 11 | ; 0 - if an uparrow '^' is entered
|
---|
| 12 | ; 1 - if return is entered
|
---|
| 13 | ;
|
---|
| 14 | ; ****************** WARNING **********************
|
---|
| 15 | ; * this subroutine xecutes the variable "IOXY" *
|
---|
| 16 | ; * to move around the screen - be sure to W @IOF *
|
---|
| 17 | ; * to clear screen and set $y to zero *
|
---|
| 18 | ; *************************************************
|
---|
| 19 | ;--------------------------------------------------------------------
|
---|
| 20 | N DIR S VALUE="" Q:'$G(IOM)!($G(IOXY)']"")
|
---|
| 21 | ; *** for MSM ***
|
---|
| 22 | I ^%ZOSF("OS")["MSM" S X=0 X ^%ZOSF("RM")
|
---|
| 23 | S FOOTER=$G(FOOTER),CENTER=+$G(CENTER)
|
---|
| 24 | I FOOTER']"" S FOOTER="Press RETURN to continue, '^' to quit"
|
---|
| 25 | I CENTER S FOOTER=$J(" ",(IOM-$L(FOOTER)/2))_FOOTER
|
---|
| 26 | S DX=0,DY=22 X IOXY W $$REPEAT^XLFSTR("_",IOM)
|
---|
| 27 | ; *** for MSM ***
|
---|
| 28 | I ^%ZOSF("OS")["MSM" S X=IOM X ^%ZOSF("RM")
|
---|
| 29 | K DIR S DIR(0)="EA",DIR("A")=FOOTER D ^DIR S VALUE=Y
|
---|
| 30 | Q
|
---|
| 31 | HDRBOX(HEADER,TEXT) ;Header box
|
---|
| 32 | ;--------------------------------------------------------------------
|
---|
| 33 | ; HEADER() - Text array to be centered and highlighted at top of box.
|
---|
| 34 | ; TEXT() - Additional text array to be left justified.
|
---|
| 35 | ;
|
---|
| 36 | ; ****************** WARNING **********************
|
---|
| 37 | ; * this subroutine xecutes the variable "IOXY" *
|
---|
| 38 | ; * to move around the screen - be sure to W @IOF *
|
---|
| 39 | ; * to clear screen and set $y to zero *
|
---|
| 40 | ; *************************************************
|
---|
| 41 | ;--------------------------------------------------------------------
|
---|
| 42 | Q:'$D(HEADER)&('$D(TEXT))
|
---|
| 43 | I $G(HEADER)]"",($D(HEADER)=1) S HEADER(1)=HEADER
|
---|
| 44 | I $D(TEXT)=1 S TEXT(1)=TEXT
|
---|
| 45 | N IOBLC,IOBRC,IOBT,IOG1,IOG0,IOHL,IOLT,IOMT,IORT,IOTLC,IOTRC
|
---|
| 46 | N IOTT,IOVL,IORVON,IORVOFF,I,LEN,X
|
---|
| 47 | S X="IORVON;IORVOFF" D ENDR^%ZISS,GSET^%ZISS
|
---|
| 48 | ; *** for MSM ***
|
---|
| 49 | I ^%ZOSF("OS")["MSM" S X=0 X ^%ZOSF("RM")
|
---|
| 50 | S:$G(IOHL)']"" IOHL="-"
|
---|
| 51 | S:$G(IOVL)']"" IOVL="|"
|
---|
| 52 | F I="IOBLC","IOBRC","IOG0","IOG1","IOTLC","IOTRC" S @I=$G(@$G(I))
|
---|
| 53 | W @IOF,IOG1,IOTLC F I=1:1:(IOM-2) W IOHL
|
---|
| 54 | W IOTRC S DY=$Y,I=""
|
---|
| 55 | F S I=$O(HEADER(I)) Q:I="" S LEN=$L(HEADER(I)) D
|
---|
| 56 | .S DX=0,DY=DY+1 X IOXY W IOVL S DX=(IOM-LEN\2) X IOXY
|
---|
| 57 | .W IOG0,IORVON,HEADER(I),IORVOFF,IOG1 S DX=IOM X IOXY W IOVL
|
---|
| 58 | S I="" F S I=$O(TEXT(I)) Q:I="" S LEN=$L(TEXT(I)) D
|
---|
| 59 | .S DX=0,DY=DY+1 X IOXY W IOVL,IOG0,TEXT(I),IOG1
|
---|
| 60 | .S DX=IOM X IOXY W IOVL
|
---|
| 61 | S DX=0,DY=DY+1 X IOXY W IOBLC F I=1:1:(IOM-2) W IOHL
|
---|
| 62 | S DX=IOM X IOXY W IOBRC
|
---|
| 63 | W IOG0
|
---|
| 64 | ; *** for MSM ***
|
---|
| 65 | I ^%ZOSF("OS")["MSM" S X=IOM X ^%ZOSF("RM")
|
---|
| 66 | Q
|
---|