%ZISG ;Device Handler prototype ;2/18/93 16:30 ;;8.0T3 S $ZT="ERR^%ZISG" D LOAD^%ZISG2 D INIT K TMP("ZISGDEV","PARENT") I $D(%PARENT) S TMP("ZISGDEV","PARENT")=%PARENT("PARENT") S TMP("ZISGDEV","G","QFRAME","VISIBLE")=1 M ^$WINDOW("ZISGDEV")=TMP("ZISGDEV") ;D M^XG("ZISGDEV",$NA(TMP("ZISGDEV"))) ;I $G(^%ZOSF("OS"))["VAX DSM" ESTART 0 ;NEEDED FOR VAX DSM ;D ESTA^XG(0) D B1 ESTART W !,"THIS IS THE LINE AFTER ESTART COMMAND IN ^%ZISG" ;D ESTA^XG() ERR ;K ^$W("ZISGDEV") ;D K^XG("ZISGTRM") ;D K^XG("ZISGDEV") W !,"$ZE="_$ZE W !,"$EC="_$EC W !,"$EREF="_$EREF K:$D(^$W("ZISGMT")) ^$W("ZISGMT") K:$D(^$W("ZISGHFS")) ^$W("ZISGHFS") K:$D(^$W("ZISGSDP")) ^$W("ZISGSDP") K:$D(^$W("ZISGSPL")) ^$W("ZISGSPL") K:$D(^$W("ZISGTRM")) ^$W("ZISGTRM") K:$D(^$W("ZISGDEV")) ^$W("ZISGDEV") W !,"$D(%PARENT)="_$D(%PARENT) ;I '$D(%PARENT) D CLEAN^XG Q B1 ;***VADIMS MWAPI/KWAPI INTERFACE*** I '@XGWIN@("ZISGDEV","G","PROMPT","VISIBLE") D .;D S^XG("ZISGDEV","G","PROMPT","VALUE",@XGWIN@("ZISGDEV","G","DEV","VALUE")) .S DEV=@XGWIN@("ZISGDEV","G","DEV","VALUE") .I DEV]"" D ..S ITEM=$$DEVITEM(DEV) ..I ITEM]"" D ...D S^XG("ZISGDEV","G","PROMPT","VALUE",ITEM,"") ...D S^XG("ZISGDEV","G","PROMPT","TOPSHOW",ITEM) .D S^XG("ZISGDEV","G","PROMPT","VISIBLE",1) .;S ^$W("ZISGDEV","G","QFRAME","VISIBLE")=0 E D .D S^XG("ZISGDEV","G","PROMPT","VISIBLE",0) .;S ^$W("ZISGDEV","G","QFRAME","VISIBLE")=1 .S ITEM=$O(@XGWIN@("ZISGDEV","G","PROMPT","VALUE","")) .I ITEM D ..D S^XG("ZISGDEV","G","DEV","VALUE",@XGWIN@("ZISGDEV","G","PROMPT","CHOICE",ITEM)) ..S XGION=@XGWIN@("ZISGDEV","G","PROMPT","CHOICE",ITEM) Q PROMPT ;PROMPT CALLBACK D B1 N ITEM,VALUE S ITEM=$O(^$W("ZISGDEV","G","PROMPT","VALUE","")) S VALUE=^$W("ZISGDEV","G","PROMPT","CHOICE",ITEM) W !,"ION==>>"_VALUE S DA=$O(^%ZIS(1,"B",VALUE,0)) Q:'DA S XGIOST=$P($G(^%ZIS(2,+$G(^%ZIS(1,+DA,"SUBTYPE")),0)),"^") S XGIOM=+$G(^%ZIS(1,+DA,91)),XGIOSL=$P($G(^(91)),"^",3) Q SELQ ;SELECT/DESELECT QUEUING D S^XG("ZISGDEV","G","QTIME","ACTIVE",1) Q DSELQ D S^XG("ZISGDEV","G","QTIME","ACTIVE",0) Q DEV ; Callback for DEV item. N REF,ITEM S REF="^$W("""_^$EVENT("WINDOW")_""",""G"")" W !,^$W("ZISGDEV","G","DEV","VALUE") S DEV=^$W("ZISGDEV","G","DEV","VALUE") I DEV]"" D .N %,%1 .K ^$W("ZISGDEV","G","PROMPT","VALUE") .F %=1:1 Q:'$D(^$W("ZISGDEV","G","PROMPT","CHOICE",%))!(DEV="") D ..S %1=^$W("ZISGDEV","G","PROMPT","CHOICE",%) ..I %1=DEV S ^$W("ZISGDEV","G","PROMPT","VALUE",%)="" S DEV="" Q ..I %1]DEV S ^$W("ZISGDEV","G","PROMPT","TOPSHOW")=% S DEV="" Q S XGION=$S($D(@REF@("DEV","VALUE")):@REF@("DEV","VALUE"),1:"") Q DEVITEM(X) ; N %,%1,Y S Y="" K ^$W("ZISGDEV","G","PROMPT","VALUE") F %=1:1 Q:'$D(^$W("ZISGDEV","G","PROMPT","CHOICE",%))!(X="") D .S %1=^$W("ZISGDEV","G","PROMPT","CHOICE",%) .I %1=X!(%1]X) S Y=% S X="" Q Q Y SETST ;Set subtype Q SUB ; Callback for SUB item Q OK ;Callbak for OK button. G OK^%ZISG2 MSGOK ; K ^$W("MESSAGE") ESTOP Q MORE ; Callback for advanced setup. Q HELP ;Callback for help. D ^XGLMSG("I","Help is not available at this time.") Q EXIT ; Callback for exit item in menu S IOP="^" D ^%ZIS ;ESTOP D ESTO^XG QUIT INIT ;create names of devices into ACDEV N %,%1,%2 K TMP("ZISGDEV","G","PROMPT","CHOICE") S %1="" F %=1:1 S %1=$O(^%ZIS(1,"B",%1)) Q:%1']"" F %2=0:0 S %2=$O(^%ZIS(1,"B",%1,%2)) Q:%2'>0 S TMP("ZISGDEV","G","PROMPT","CHOICE",%)=%1 Q ; QTIME ; G QTIME^%ZISG2