Annotation of freem_fileman/USER/DDBRS.m, revision 1.1
1.1 ! snw 1: DDBRS ;SFISC/DCL-SET UP SPLIT SCREEN ;09:27 AM 13 Sep 1994;
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: TB(IOTM,IOBM,TA) ;Set Top and Bottom Margins in Target Array
! 5: ;pass IOTM, IOBM and TA all by reference **
! 6: N I,X
! 7: I (((IOBM-IOTM)+1)#2) S IOBM=IOBM-1
! 8: S TA(0,"IOTM")=IOTM
! 9: S TA(0,"IOBM")=IOBM
! 10: ETA S X=((IOBM+1)-(IOTM-1)\2)-2
! 11: S TA(1,"IOTM")=IOTM
! 12: S TA(1,"IOBM")=IOTM+X
! 13: S TA(2,"IOBM")=IOBM
! 14: S TA(2,"IOTM")=IOBM-X
! 15: ETB D
! 16: .N IOTM,IOBM
! 17: .F I=+$G(I):1:2 S IOTM=TA(I,"IOTM"),IOBM=TA(I,"IOBM") D
! 18: ..S TA(I,"DDBSY")=(IOTM-2)_";"_(IOTM-1)_";"_(IOBM-1)_";"_(IOBM)
! 19: ..S TA(I,"DDBSRL")=(IOBM-IOTM)+1
! 20: ..Q
! 21: .Q
! 22: Q
! 23: ;
! 24: ENTB(TA,DDBLD) ;called to reset DDBSY and DDBSRL for resizing split screen
! 25: ;TA PASSED BY REFERENCE
! 26: N I
! 27: S I=1
! 28: D ETB
! 29: F I=1,2 S TA(I,"DDBTPG")=TA(I,"DDBTL")\TA(I,"DDBSRL")+(TA(I,"DDBTL")#TA(I,"DDBSRL")'<1)
! 30: F I="DDBTPG","DDBSY","DDBSRL" S @I=TA(TA,I)
! 31: I DDBLD<0 S TA(1,"DDBL")=TA(1,"DDBL")-$S(TA(1,"DDBL")>0:1,1:0) Q
! 32: S TA(1,"DDBL")=TA(1,"DDBL")+$S(TA(1,"DDBL")<TA(1,"DDBTL"):1,1:0) Q
! 33: Q
! 34: ;
! 35: INIT(SUB,TA) ;Finish saving variables for TA pass TA by reference **
! 36: N I G:$G(SUB)]"" SUB
! 37: F SUB=1,2 D SUB
! 38: Q
! 39: SUB F I="DDBSRL","DDBHDR","DDBTL","DDBSA","DDBSF","DDBST","DDBZN","DDBDM","DDBC","DDBPSA","DDBRPE","DDBPMSG","DDBTPG" S TA(SUB,I)=@I
! 40: S TA(SUB,"DDBL")=+$G(DDBL)
! 41: Q
! 42: ;
! 43: SR(X,Y,ARRAY) ;Save, Restore, Array - Pass Array by reference **
! 44: D INIT(X,.ARRAY)
! 45: S X=""
! 46: F S X=$O(ARRAY(Y,X)) Q:X="" S @X=ARRAY(Y,X)
! 47: S ARRAY=Y ;* * active array * *
! 48: Q
! 49: ;
! 50: FULL(TA) ;Full Screen
! 51: ;TA passed by reference
! 52: I TA=1 S DDBL=DDBL+(DDBSRL+2)
! 53: N I,X
! 54: F I="IOBM","IOTM","DDBSY","DDBSRL" S @I=TA(0,I)
! 55: S DDBTPG=DDBTL\DDBSRL+(DDBTL#DDBSRL'<1)
! 56: S I=1 D ETA
! 57: W @IOSTBM
! 58: S TA=0 ;* * active array * *
! 59: S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
! 60: D PSR^DDBR0(1)
! 61: Q
! 62: ;
! 63: SPLIT ;Split Screen
! 64: N I
! 65: F I="IOBM","IOTM","DDBSY","DDBSRL" S @I=DDBRSA(2,I)
! 66: S DDBTPG=DDBTL\DDBSRL+(DDBTL#DDBSRL'<1)
! 67: S I=1
! 68: D INIT("",.DDBRSA)
! 69: W @IOSTBM
! 70: S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
! 71: D PSR^DDBR0(1)
! 72: D SR(2,1,.DDBRSA)
! 73: W @IOSTBM
! 74: S DDBL=DDBL-(DDBSRL+2),DDBRSA(1,"DDBL")=DDBL
! 75: S DDBL=$G(DDBL,0) S:DDBL<0 DDBL=0 S:DDBL>DDBTL DDBL=DDBTL
! 76: D PSR^DDBR0(1)
! 77: Q
! 78: ;
! 79: ;;NOTE: DDBRSA=0 - full screen
! 80: ;; DDBRSA=1 - top of split screen
! 81: ;; DDBRSA=2 - bottom of split screen
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>