- 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 Feb 18, 2025@23:11:07 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