| 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
 | 
|---|