Annotation of freem_fileman/DDGFPG.m, revision 1.1

1.1     ! snw         1: DDGFPG ;SFISC/MKO-ADD A NEW PAGE ;01:48 PM  22 Nov 1994
        !             2:        ;;21.0;VA FileMan;;Dec 28, 1994
        !             3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
        !             4:        ;
        !             5: ADD    ;Invoke forms to add a new page
        !             6:        S DDGFDY=DY,DDGFDX=DX K DDGFPNUM
        !             7:        ;
        !             8:        ;Ask for new page number
        !             9:        S DDSFILE=.403,DDSFILE(1)=.4031
        !            10:        S DA(1)=+DDGFFM,DA="",DR="[DDGF PAGE ADD]",DDSPARM="KTW"
        !            11:        D ^DDS K DDSFILE,DA,DR,DDSPARM
        !            12:        ;
        !            13:        G:$D(DDGFPNUM)[0 ADDQ
        !            14:        ;
        !            15:        ;Ask 'are you sure' page should be added
        !            16:        K DDGFANS
        !            17:        S DDSFILE=.403,DDSFILE(1)=.4031
        !            18:        S DR="[DDGF PAGE ADD]",DA(1)=+DDGFFM,DA="",DDSPARM="KTW",DDSPAGE=11
        !            19:        D ^DDS K DDSFILE,DA,DR,DDSPARM,DDSPAGE
        !            20:        ;
        !            21:        I '$G(DDGFANS) K DDGFANS G ADDQ
        !            22:        K DDGFANS
        !            23:        ;
        !            24:        ;Add page to form
        !            25:        S DIC="^DIST(.403,+DDGFFM,40,",DIC(0)="L",DA(1)=+DDGFFM
        !            26:        S DIC("P")=$P(^DD(.403,40,0),U,2),X=DDGFPNUM
        !            27:        D FILE^DICN K DIC,DA,X G:Y=-1 ADDQ
        !            28:        S DDGFPG=+Y
        !            29:        ;
        !            30:        ;Stuff in values for coordinates and name
        !            31:        S DIE="^DIST(.403,"_+DDGFFM_",40,",DA(1)=+DDGFFM,DA=DDGFPG
        !            32:        S DR="2////1,1;7////Page "_DDGFPNUM
        !            33:        D ^DIE K DIE,DA,DR
        !            34:        ;
        !            35:        K DDGFPNUM
        !            36:        D LOADPG
        !            37:        S DDGFNEW=1
        !            38:        G EDIT
        !            39:        ;
        !            40: ADDQ   D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !            41:        K DDGFPNUM,DDGFDY,DDGFDX
        !            42:        Q
        !            43:        ;
        !            44: EDIT   ;Invoke form to edit a page
        !            45:        ;Input:  DDGFNEW (optional)
        !            46:        ;  Set by ADD to indicate this is a brand new page.
        !            47:        ;
        !            48:        S DDGFDY=DY,DDGFDX=DX
        !            49:        S DDGFND=@DDGFREF@("F",DDGFPG)
        !            50:        S (DDGFTLC,DDGFTLC0)=$P(DDGFND,U)+1_","_($P(DDGFND,U,2)+1)
        !            51:        S (DDGFLRC,DDGFLRC0)=$S($P(DDGFND,U,3)]"":$P(DDGFND,U,3)+1_","_($P(DDGFND,U,4)+1),1:"")
        !            52:        S (DDGFPNM,DDGFPNM0)=$P(DDGFND,U,5)
        !            53:        S DDGFPAR=$P($G(^DIST(.403,+DDGFFM,40,DDGFPG,1)),U,2)
        !            54:        ;
        !            55:        S DDSFILE=.403,DDSFILE(1)=.4031,DDSPARM="KTW"
        !            56:        S DA(1)=+DDGFFM,DA=DDGFPG,DR="[DDGF PAGE EDIT]"
        !            57:        D ^DDS K DDSFILE,DA,DR,DDSPARM
        !            58:        ;
        !            59:        S DDGFND=$G(^DIST(.403,+DDGFFM,40,DDGFPG,0))
        !            60:        ;
        !            61:        ;If page was deleted, destroy windows and set new page
        !            62:        I DDGFND="" D  Q:DDGFE
        !            63:        . I $D(DDGFWID)#2,$$EXIST^DDGLIBW(DDGFWID) D DESTROY^DDGLIBW(DDGFWID)
        !            64:        . I $D(DDGFWIDB)#2,$$EXIST^DDGLIBW(DDGFWIDB) D DESTROY^DDGLIBW(DDGFWIDB)
        !            65:        . K @DDGFREF@("F",DDGFPG),@DDGFREF@("RC",DDGFWID),@DDGFREF@("BKRC",DDGFWIDB)
        !            66:        . I $D(@DDGFREF@("ASUB","B",DDGFPG)) D DEL^DDGFASUB(DDGFPG)
        !            67:        . S DDGFPG=$O(^DIST(.403,+DDGFFM,40,"B",""))
        !            68:        . S:DDGFPG]"" DDGFPG=$O(^DIST(.403,+DDGFFM,40,"B",DDGFPG,""))
        !            69:        . D LOADPG,REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !            70:        ;
        !            71:        E  D
        !            72:        . S:DDGFPNM'=DDGFPNM0 $P(@DDGFREF@("F",DDGFPG),U,5)=DDGFPNM,$P(^(DDGFPG),U,7)=1,DDGFCHG=1
        !            73:        . D:DDGFPAR'=$P($G(^DIST(.403,+DDGFFM,40,DDGFPG,1)),U,2) EDIT^DDGFASUB(DDGFPG)
        !            74:        . I DDGFTLC'=DDGFTLC0!(DDGFLRC'=DDGFLRC0) D
        !            75:        .. D PAGE^DDGFUPDP($P(DDGFTLC,",")-1,$P(DDGFTLC,",",2)-1,$S(DDGFLRC]"":$P(DDGFLRC,",")-1,1:""),$S(DDGFLRC]"":$P(DDGFLRC,",",2)-1,1:""),$S(DDGFTLC=DDGFTLC0:"PBRC",1:"PTOP"))
        !            76:        .. D STATUS^DDGF,RC($P(DDGFLIM,U),$P(DDGFLIM,U,2))
        !            77:        . E  D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !            78:        ;
        !            79:        K DDGFDX,DDGFDY,DDGFND,DDGFNEW
        !            80:        K DDGFLRC,DDGFLRC0,DDGFPOP,DDGFPOP0,DDGFTLC,DDGFTLC0
        !            81:        K DDGFPAR,DDGFPNM,DDGFPNM0
        !            82:        Q
        !            83:        ;
        !            84: PGSEL  ;Select a new page
        !            85:        S DDGFDY=DY,DDGFDX=DX,DDGFPAGE=DDGFPG
        !            86:        ;
        !            87:        S DDSFILE=.403,DDSFILE(1)=.4031
        !            88:        S DR="[DDGF PAGE SELECT]",DDSPARM="KTW"
        !            89:        D ^DDS
        !            90:        K DDSFILE,DA,DR,DDSPAGE,DDSPARM
        !            91:        ;
        !            92:        I DDGFPAGE]"",DDGFPAGE'=DDGFPG S DDGFPG=DDGFPAGE D LOADPG
        !            93:        ;
        !            94:        D REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !            95:        K DDGFPAGE,DDGFDY,DDGFDX
        !            96:        Q
        !            97:        ;
        !            98: NXTPRV(F)      ;Go to page
        !            99:        ;F=1:next page; -1:previous page
        !           100:        S DDGFPAGE=$P($G(^DIST(.403,+DDGFFM,40,DDGFPG,0)),U,$S($G(F)=-1:5,1:4))
        !           101:        G:DDGFPAGE="" NXTPRVQ
        !           102:        S DDGFPAGE=$O(^DIST(.403,+DDGFFM,40,"B",DDGFPAGE,""))
        !           103:        G:$D(^DIST(.403,+DDGFFM,40,+DDGFPAGE,0))[0!(DDGFPAGE=DDGFPG) NXTPRVQ
        !           104:        ;
        !           105:        S DDGFPG=DDGFPAGE
        !           106:        D LOADPG,REFRESH^DDGF,RC(DDGFDY,DDGFDX)
        !           107: NXTPRVQ        K DDGFPAGE,DDGFDY,DDGFDX
        !           108:        Q
        !           109:        ;
        !           110: CLSPG  ;Close page
        !           111:        Q:$G(DDGLSCR)'>1
        !           112:        D CLOSE^DDGLIBW(DDGFWID)
        !           113:        S DDGFPG=$E(DDGLSCR(DDGLSCR),2,999)
        !           114:        D PG^DDGFLOAD(+DDGFFM,DDGFPG,1)
        !           115:        D STATUS^DDGF,RC($P(DDGFLIM,U),$P(DDGFLIM,U,2))
        !           116:        Q
        !           117:        ;
        !           118: SUBPG  ;Go into subpage
        !           119:        I $D(@DDGFREF@("ASUB",DDGFPG,B,F))#2 S DDGFSUBP=^(F)
        !           120:        E  D
        !           121:        . S DDGFSUBP=+$P($G(^DIST(.404,B,40,F,7)),U,2)
        !           122:        . S DDGFSUBP=+$O(^DIST(.403,+DDGFFM,40,"B",DDGFSUBP,""))
        !           123:        ;
        !           124:        I $D(^DIST(.403,+DDGFFM,40,DDGFSUBP,0))[0 W $C(7) K DDGFSUBP Q
        !           125:        I DDGFSUBP=DDGFPG K DDGFSUBP Q
        !           126:        S DDGFE=1
        !           127:        Q
        !           128:        ;
        !           129: SUBPG1 S DDGFPG=DDGFSUBP K DDGFSUBP
        !           130:        D PG^DDGFLOAD(+DDGFFM,DDGFPG)
        !           131:        D STATUS^DDGF,RC($P(DDGFLIM,U),$P(DDGFLIM,U,2))
        !           132:        Q
        !           133:        ;
        !           134: LOADPG ;Load new page
        !           135:        D PG^DDGFLOAD(+DDGFFM,DDGFPG,1)
        !           136:        S DDGFDY=$P(DDGFLIM,U),DDGFDX=$P(DDGFLIM,U,2)
        !           137:        Q
        !           138:        ;
        !           139: RC(DDGFY,DDGFX)        ;Update status line, reset DX and DY, move cursor
        !           140:        N S
        !           141:        I DDGFR D
        !           142:        . S DY=IOSL-6,DX=IOM-9,S="R"_(DDGFY+1)_",C"_(DDGFX+1)
        !           143:        . X IOXY W S_$J("",7-$L(S))
        !           144:        S DY=DDGFY,DX=DDGFX X IOXY
        !           145:        Q

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>