Annotation of freem_fileman/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>