1 | XPDID ;SFISC/VYD,RSD - Display Install Progress ;05/14/98 10:29
|
---|
2 | ;;8.0;KERNEL;**81**;Jul 10, 1995
|
---|
3 | ;;
|
---|
4 | Q
|
---|
5 | INIT ;initialize progress screen
|
---|
6 | N X,XPDSTR
|
---|
7 | I IO'=IO(0)!(IOST'["C-VT") S XPDIDVT=0 Q
|
---|
8 | I $T(PREP^XGF)="" S XPDIDVT=0 Q
|
---|
9 | ;S X="XGF" X ^%ZOSF("TEST") E S XPDIDVT=0 Q
|
---|
10 | D PREP^XGF
|
---|
11 | S XPDIDVT=1,X="IOSTBM",XPDSTR=" 25 50 75 "
|
---|
12 | D ENDR^%ZISS
|
---|
13 | S IOTM=3,IOBM=IOSL-4
|
---|
14 | W @IOSTBM
|
---|
15 | D FRAME^XGF(IOTM-2,0,IOTM-2,IOM-1)
|
---|
16 | D FRAME^XGF(IOBM,0,IOBM,IOM-1)
|
---|
17 | D FRAME^XGF(IOBM+1,10,IOBM+3,71)
|
---|
18 | D SAY^XGF(IOBM+2,11,XPDSTR)
|
---|
19 | D SAY^XGF(IOBM+2,0,$J("0",5)_"%")
|
---|
20 | D SAY^XGF(IOBM+3,0,"Complete")
|
---|
21 | D IOXY^XGF(IOTM-2,0)
|
---|
22 | Q
|
---|
23 | ;
|
---|
24 | EXIT(XPDM) ;exit progress screen restore screen to normal
|
---|
25 | I $G(XPDIDVT) D
|
---|
26 | .S IOTM=1,IOBM=IOSL
|
---|
27 | .W @IOSTBM,@IOF
|
---|
28 | .W:$G(XPDM)]"" !!,XPDM,!!
|
---|
29 | .D CLEAN^XGF
|
---|
30 | K IOTM,IOBM,IOSTBM,XPDIDCNT,XPDIDMOD,XPDIDTOT,XPDIDVT
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | TITLE(X) ;display title X
|
---|
34 | Q:'XPDIDVT
|
---|
35 | N XPDOX,XPDOY
|
---|
36 | S XPDOX=$X,XPDOY=$Y
|
---|
37 | D SAY^XGF(0,0,$$CJ^XLFSTR(X,IOM_"T")),CURSOR
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | SETTOT(X) ;X=file # from build
|
---|
41 | Q:'$D(XPDIDVT)
|
---|
42 | S XPDIDTOT=$S(X=4:+$P($G(^XTMP("XPDI",XPDA,"BLD",XPDBLD,4,0)),U,4),X=9.8:+$G(^XTMP("XPDI",XPDA,"RTN")),1:+$P($G(^XTMP("XPDI",XPDA,"BLD",XPDBLD,"KRN",X,"NM",0)),U,4))
|
---|
43 | S XPDIDMOD=$S(XPDIDTOT<60:1,1:XPDIDTOT\60),XPDIDCNT=0
|
---|
44 | Q:'XPDIDVT
|
---|
45 | D UPDATE(0)
|
---|
46 | Q
|
---|
47 | ;
|
---|
48 | UPDATE(XPDN) ;update the progress bar
|
---|
49 | I 'XPDIDVT W "." Q
|
---|
50 | N XPDLEN,XPDMC,XPDOX,XPDOY,XPDS,XPDSTR
|
---|
51 | S XPDOX=$X,XPDOY=$Y,XPDMC=60,XPDSTR=" 25 50 75 "
|
---|
52 | S XPDLEN=$S(XPDIDTOT:XPDN/XPDIDTOT*XPDMC\1,1:0),XPDS=$E(XPDSTR,1,XPDLEN)
|
---|
53 | D SAY^XGF(IOBM+2,11,XPDS,"R1")
|
---|
54 | S XPDS=$E(XPDSTR,XPDLEN+1,XPDMC)
|
---|
55 | D SAY^XGF(IOBM+2,11+XPDLEN,XPDS)
|
---|
56 | D SAY^XGF(IOBM+2,0,$J(XPDLEN/XPDMC*100,5,0)),CURSOR
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | CURSOR ;put cursor back
|
---|
60 | S:XPDOY>(IOBM-1) XPDOY=IOBM-1
|
---|
61 | D IOXY^XGF(XPDOY,XPDOX)
|
---|
62 | Q
|
---|