DVBCLMU5 ;ALB/CMM LIST MANAGER PROTOCOLS ;11/12/93
;;2.7;AMIE;;Apr 10, 1995
;
;Jumping to a new exam from within the view screen Protocol
;Super Quit Protocol
;Removal of previously viewed screens that have been disgarded
;
;
INIT ;
;JUMP PROTOCOL
I VWQRY>5 W !,"Can't jump again until you close another screen." S VALMBCK="R" D PAUSE^VALM1 Q
I DVBAC="O" W !,"CAN'T JUMP FROM AN OVERVIEW" S VALMBCK="R" D PAUSE^VALM1 Q
S DVBCJMP="Y",QUIT="N"
S DVBCCNT=DVBCCNT+1,VWQRY=VWQRY+1,DVBCHLD="DVBCVIEW,"_$J_","_VWQRY
D A^DVBCPGD
I '$D(QUIT) Q
I $D(DVBCSPR) G EXIT3^DVBCPGD1
I QUIT'="Y" S DVBCTEMP="Y"
I QUIT="Y" S DVBCCNT=DVBCCNT-1
I VWQRY>1 S VALMBCK="R"
I VWQRY<2 S VWQRY=2,DVBCHLD="DVBCVIEW,"_$J_","_VWQRY,DVBCCNT=1,TQUIT="Y"
I DVBCCNT<3 K DVBCJMP
S VALMBG=1,VWLINE=1
Q
REMOVE(TQRY) ;
;REMOVES ALL REMAINING WINDOWS
N WORD
I '$D(^TMP("DVBCVIEW,"_$J_","_TQRY)) Q
K ^TMP("DVBCVIEW",$J,TQRY)
F S WORD=$O(^TMP("DVBC",$J,"~"_TQRY)) Q:WORD="" K ^TMP("DVBC",$J,WORD),^TMP("DVBC",$J,TQRY)
Q
QUIT ;
;SUPER QUIT PROTOCOL
N HOLD
S DVBCSPR="Y",HOLD=VWQRY
F Q:HOLD=1 D
.D REMOVE(HOLD)
.S HOLD=HOLD-1
S VWQRY=0
S QUIT="Y"
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBCLMU5 1188 printed Dec 13, 2024@01:44:42 Page 2
DVBCLMU5 ;ALB/CMM LIST MANAGER PROTOCOLS ;11/12/93
+1 ;;2.7;AMIE;;Apr 10, 1995
+2 ;
+3 ;Jumping to a new exam from within the view screen Protocol
+4 ;Super Quit Protocol
+5 ;Removal of previously viewed screens that have been disgarded
+6 ;
+7 ;
INIT ;
+1 ;JUMP PROTOCOL
+2 IF VWQRY>5
WRITE !,"Can't jump again until you close another screen."
SET VALMBCK="R"
DO PAUSE^VALM1
QUIT
+3 IF DVBAC="O"
WRITE !,"CAN'T JUMP FROM AN OVERVIEW"
SET VALMBCK="R"
DO PAUSE^VALM1
QUIT
+4 SET DVBCJMP="Y"
SET QUIT="N"
+5 SET DVBCCNT=DVBCCNT+1
SET VWQRY=VWQRY+1
SET DVBCHLD="DVBCVIEW,"_$JOB_","_VWQRY
+6 DO A^DVBCPGD
+7 IF '$DATA(QUIT)
QUIT
+8 IF $DATA(DVBCSPR)
GOTO EXIT3^DVBCPGD1
+9 IF QUIT'="Y"
SET DVBCTEMP="Y"
+10 IF QUIT="Y"
SET DVBCCNT=DVBCCNT-1
+11 IF VWQRY>1
SET VALMBCK="R"
+12 IF VWQRY<2
SET VWQRY=2
SET DVBCHLD="DVBCVIEW,"_$JOB_","_VWQRY
SET DVBCCNT=1
SET TQUIT="Y"
+13 IF DVBCCNT<3
KILL DVBCJMP
+14 SET VALMBG=1
SET VWLINE=1
+15 QUIT
REMOVE(TQRY) ;
+1 ;REMOVES ALL REMAINING WINDOWS
+2 NEW WORD
+3 IF '$DATA(^TMP("DVBCVIEW,"_$JOB_","_TQRY))
QUIT
+4 KILL ^TMP("DVBCVIEW",$JOB,TQRY)
+5 FOR
SET WORD=$ORDER(^TMP("DVBC",$JOB,"~"_TQRY))
if WORD=""
QUIT
KILL ^TMP("DVBC",$JOB,WORD),^TMP("DVBC",$JOB,TQRY)
+6 QUIT
QUIT ;
+1 ;SUPER QUIT PROTOCOL
+2 NEW HOLD
+3 SET DVBCSPR="Y"
SET HOLD=VWQRY
+4 FOR
if HOLD=1
QUIT
Begin DoDot:1
+5 DO REMOVE(HOLD)
+6 SET HOLD=HOLD-1
End DoDot:1
+7 SET VWQRY=0
+8 SET QUIT="Y"
+9 QUIT