1 | DDGFPG ;SFISC/MKO-ADD A NEW PAGE ;2:26 PM 13 Sep 1995
|
---|
2 | ;;22.0;VA FileMan;;Mar 30, 1999
|
---|
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 | K DD,DO 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
|
---|