Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: XPDID

XPDID.m

Go to the documentation of this file.
  1. XPDID ;SFISC/VYD,RSD - Display Install Progress ;05/14/98 10:29 [ 04/02/2003 8:29 AM ]
  1. ;;8.0;KERNEL;**1002,1003,1004,1005,1007**;APR 1, 2003
  1. ;;8.0;KERNEL;**81**;Jul 10, 1995
  1. ;;
  1. Q
  1. INIT ;initialize progress screen
  1. N X,XPDSTR
  1. I IO'=IO(0)!(IOST'["C-VT") S XPDIDVT=0 Q
  1. I $T(PREP^XGF)="" S XPDIDVT=0 Q
  1. ;S X="XGF" X ^%ZOSF("TEST") E S XPDIDVT=0 Q
  1. D PREP^XGF
  1. S XPDIDVT=1,X="IOSTBM",XPDSTR=" 25 50 75 "
  1. D ENDR^%ZISS
  1. S IOTM=3,IOBM=IOSL-4
  1. W @IOSTBM
  1. D FRAME^XGF(IOTM-2,0,IOTM-2,IOM-1)
  1. D FRAME^XGF(IOBM,0,IOBM,IOM-1)
  1. D FRAME^XGF(IOBM+1,10,IOBM+3,71)
  1. D SAY^XGF(IOBM+2,11,XPDSTR)
  1. D SAY^XGF(IOBM+2,0,$J("0",5)_"%")
  1. D SAY^XGF(IOBM+3,0,"Complete")
  1. D IOXY^XGF(IOTM-2,0)
  1. Q
  1. ;
  1. EXIT(XPDM) ;exit progress screen restore screen to normal
  1. I $G(XPDIDVT) D
  1. .S IOTM=1,IOBM=IOSL
  1. .W @IOSTBM,@IOF
  1. .W:$G(XPDM)]"" !!,XPDM,!!
  1. .D CLEAN^XGF
  1. K IOTM,IOBM,IOSTBM,XPDIDCNT,XPDIDMOD,XPDIDTOT,XPDIDVT
  1. Q
  1. ;
  1. TITLE(X) ;display title X
  1. Q:'XPDIDVT
  1. N XPDOX,XPDOY
  1. S XPDOX=$X,XPDOY=$Y
  1. D SAY^XGF(0,0,$$CJ^XLFSTR(X,IOM_"T")),CURSOR
  1. Q
  1. ;
  1. SETTOT(X) ;X=file # from build
  1. Q:'$D(XPDIDVT)
  1. 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))
  1. S XPDIDMOD=$S(XPDIDTOT<60:1,1:XPDIDTOT\60),XPDIDCNT=0
  1. Q:'XPDIDVT
  1. D UPDATE(0)
  1. Q
  1. ;
  1. UPDATE(XPDN) ;update the progress bar
  1. I 'XPDIDVT W "." Q
  1. N XPDLEN,XPDMC,XPDOX,XPDOY,XPDS,XPDSTR
  1. S XPDOX=$X,XPDOY=$Y,XPDMC=60,XPDSTR=" 25 50 75 "
  1. S XPDLEN=$S(XPDIDTOT:XPDN/XPDIDTOT*XPDMC\1,1:0),XPDS=$E(XPDSTR,1,XPDLEN)
  1. D SAY^XGF(IOBM+2,11,XPDS,"R1")
  1. S XPDS=$E(XPDSTR,XPDLEN+1,XPDMC)
  1. D SAY^XGF(IOBM+2,11+XPDLEN,XPDS)
  1. D SAY^XGF(IOBM+2,0,$J(XPDLEN/XPDMC*100,5,0)),CURSOR
  1. Q
  1. ;
  1. CURSOR ;put cursor back
  1. S:XPDOY>(IOBM-1) XPDOY=IOBM-1
  1. D IOXY^XGF(XPDOY,XPDOX)
  1. Q