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

ZISG3.m

Go to the documentation of this file.
  1. %ZISG3 ;SFISC/AC -- Device Handler Prototype
  1. ;;8.0T3
  1. B2 ;VADIMS M@WAPI/KWAPI INTERFACE
  1. I '@XGWIN@("ZISGTRM","G","SUBTYPE","VISIBLE") D
  1. .S SUB=@XGWIN@("ZISGTRM","G","SUB","VALUE")
  1. .I SUB]"" D
  1. ..S ITEM=$$SUBITEM(SUB)
  1. ..I ITEM]"" D
  1. ...D S^XG("ZISGTRM","G","SUBTYPE","VALUE",ITEM,"")
  1. ...D S^XG("ZISGTRM","G","SUBTYPE","TOPSHOW",ITEM)
  1. .;S ^$W("ZISGTRM","G","MARGIN","ACTIVE")=0
  1. .D S^XG("ZISGTRM","G","SUBTYPE","VISIBLE",1)
  1. E D
  1. .D S^XG("ZISGTRM","G","SUBTYPE","VISIBLE",0)
  1. .;S ^$W("ZISGTRM","G","MARGIN","ACTIVE")=1
  1. .S ITEM=$O(@XGWIN@("ZISGTRM","G","SUBTYPE","VALUE",""))
  1. .I ITEM D S^XG("ZISGTRM","G","SUB","VALUE",@XGWIN@("ZISGTRM","G","SUBTYPE","CHOICE",ITEM))
  1. I $D(^$EVENT("ELEMENT")),^$EVENT("ELEMENT")["SUBTYPE" D
  1. .N SUB
  1. .S SUB=@XGWIN@("ZISGTRM","G","SUBTYPE","CHOICE",ITEM)
  1. .D SUBCHG(SUB)
  1. Q
  1. SUB ; Callback for SUB item
  1. S SUB=^$W("ZISGTRM","G","SUB","VALUE")
  1. I SUB]"" D D SUBCHG(SUB)
  1. .N %,%1
  1. .K ^$W("ZISGTRM","G","SUBTYPE","VALUE")
  1. .F %=1:1 Q:'$D(^$W("ZISGTRM","G","SUBTYPE","CHOICE",%))!(SUB="") D
  1. ..S %1=^$W("ZISGTRM","G","SUBTYPE","CHOICE",%)
  1. ..I %1=SUB S ^$W("ZISGTRM","G","SUBTYPE","VALUE",%)="" S SUB="" Q
  1. ..I %1]SUB S ^$W("ZISGTRM","G","SUBTYPE","TOPSHOW")=% S SUB="" Q
  1. Q
  1. SUBITEM(X) ;
  1. N %,%1,Y S Y=""
  1. .F %=1:1 Q:'$D(^$W("ZISGTRM","G","SUBTYPE","CHOICE",%))!(X="") D
  1. .S %1=^$W("ZISGTRM","G","SUBTYPE","CHOICE",%)
  1. .I %1=X!(%1]X S Y=% S X="" Q
  1. Q Y
  1. SUBCHG(X) ;Change in subtype
  1. ;This sub-routine triggers appropriate values to the
  1. ;relevant MWAPI fields(MARGIN and PAGE LENGTH).
  1. W !,"SUBCHG(X) has been called!!!"
  1. N %,RM,SL Q:$G(X)=""
  1. S %=$O(^%ZIS(2,"B",X,0)) Q:%'>0
  1. I '($D(^%ZIS(2,+%,0))#2) Q
  1. W !,"X==>>"_X
  1. Q:$P($G(^(0)),"^")'=X
  1. S RM=$P($G(^(1)),"^"),SL=$P($G(^(1)),"^",3)
  1. W !,"RM==>>"_RM
  1. I RM=80!(RM=132!(RM=255)) D
  1. .W !,"SETTING VALUE INTO ZMARGIN"
  1. .S ^$W("ZISGTRM","G","ZMARGIN","VALUE")=$S(RM=80:1,RM=132:2,RM=255:3,1:4)
  1. .W !,"SETTING MARGINVAL TO INACTIVE"
  1. .S ^$W("ZISGTRM","G","MARGINVAL","ACTIVE")=0
  1. E D
  1. .S ^$W("ZISGTRM","G","ZMARGIN","VALUE")=4
  1. .S ^$W("ZISGTRM","G","MARGINVAL","ACTIVE")=1
  1. S ^$W("ZISGTRM","G","MARGINVAL","VALUE")=RM
  1. I SL=24!(SL=66!(SL=88!(SL=96))) D
  1. .S ^$W("ZISGTRM","G","ZPAGELENGTH","VALUE")=$S(SL=24:1,SL=66:2,SL=88:3,SL=96:4,1:5)
  1. .S ^$W("ZISGTRM","G","PAGELENGTHVAL","ACTIVE")=0
  1. E D
  1. .S ^$W("ZISGTRM","G","ZPAGELENGTH","VALUE")=5
  1. .S ^$W("ZISGTRM","G","PAGELENGTHVAL","ACTIVE")=1
  1. S ^$W("ZISGTRM","G","PAGELENGTHVAL","VALUE")=SL
  1. Q
  1. CHGRAD ;CHANGE IN MARGIN
  1. N REF
  1. ;S REF="^$W("""_^$EVENT("WINDOW")_""",""G"")"
  1. ;S REF=@XGWIN_"("""_@XGEVENT@("WINDOW")_""",""G"")"
  1. S REF=XGWIN_"("""_@XGEVENT@("WINDOW")_""",""G"")"
  1. ;S GADGET=$P(^$EVENT("ELEMENT"),",",2)
  1. S GADGET=$P(@XGEVENT@("ELEMENT"),",",2)
  1. S ITEM=@REF@(GADGET,"VALUE")
  1. S VALUE=@REF@(GADGET,"CHOICE",ITEM)
  1. S GADVAL=$E(GADGET,2,$L(GADGET))_"VAL"
  1. I VALUE="OTHER" D
  1. .S @REF@(GADVAL,"ACTIVE")=1
  1. E D
  1. .S @REF@(GADVAL,"VALUE")=VALUE
  1. .S @REF@(GADVAL,"ACTIVE")=0
  1. ;S ^$W("ZISGTRM","G","MARGINVAL","VALUE")=^$EVENT("CHOICE")
  1. Q