1 | %ZISG3 ;SFISC/AC -- Device Handler Prototype
|
---|
2 | ;;8.0T3
|
---|
3 | B2 ;VADIMS M@WAPI/KWAPI INTERFACE
|
---|
4 | I '@XGWIN@("ZISGTRM","G","SUBTYPE","VISIBLE") D
|
---|
5 | .S SUB=@XGWIN@("ZISGTRM","G","SUB","VALUE")
|
---|
6 | .I SUB]"" D
|
---|
7 | ..S ITEM=$$SUBITEM(SUB)
|
---|
8 | ..I ITEM]"" D
|
---|
9 | ...D S^XG("ZISGTRM","G","SUBTYPE","VALUE",ITEM,"")
|
---|
10 | ...D S^XG("ZISGTRM","G","SUBTYPE","TOPSHOW",ITEM)
|
---|
11 | .;S ^$W("ZISGTRM","G","MARGIN","ACTIVE")=0
|
---|
12 | .D S^XG("ZISGTRM","G","SUBTYPE","VISIBLE",1)
|
---|
13 | E D
|
---|
14 | .D S^XG("ZISGTRM","G","SUBTYPE","VISIBLE",0)
|
---|
15 | .;S ^$W("ZISGTRM","G","MARGIN","ACTIVE")=1
|
---|
16 | .S ITEM=$O(@XGWIN@("ZISGTRM","G","SUBTYPE","VALUE",""))
|
---|
17 | .I ITEM D S^XG("ZISGTRM","G","SUB","VALUE",@XGWIN@("ZISGTRM","G","SUBTYPE","CHOICE",ITEM))
|
---|
18 | I $D(^$EVENT("ELEMENT")),^$EVENT("ELEMENT")["SUBTYPE" D
|
---|
19 | .N SUB
|
---|
20 | .S SUB=@XGWIN@("ZISGTRM","G","SUBTYPE","CHOICE",ITEM)
|
---|
21 | .D SUBCHG(SUB)
|
---|
22 | Q
|
---|
23 | SUB ; Callback for SUB item
|
---|
24 | S SUB=^$W("ZISGTRM","G","SUB","VALUE")
|
---|
25 | I SUB]"" D D SUBCHG(SUB)
|
---|
26 | .N %,%1
|
---|
27 | .K ^$W("ZISGTRM","G","SUBTYPE","VALUE")
|
---|
28 | .F %=1:1 Q:'$D(^$W("ZISGTRM","G","SUBTYPE","CHOICE",%))!(SUB="") D
|
---|
29 | ..S %1=^$W("ZISGTRM","G","SUBTYPE","CHOICE",%)
|
---|
30 | ..I %1=SUB S ^$W("ZISGTRM","G","SUBTYPE","VALUE",%)="" S SUB="" Q
|
---|
31 | ..I %1]SUB S ^$W("ZISGTRM","G","SUBTYPE","TOPSHOW")=% S SUB="" Q
|
---|
32 | Q
|
---|
33 | SUBITEM(X) ;
|
---|
34 | N %,%1,Y S Y=""
|
---|
35 | .F %=1:1 Q:'$D(^$W("ZISGTRM","G","SUBTYPE","CHOICE",%))!(X="") D
|
---|
36 | .S %1=^$W("ZISGTRM","G","SUBTYPE","CHOICE",%)
|
---|
37 | .I %1=X!(%1]X S Y=% S X="" Q
|
---|
38 | Q Y
|
---|
39 | SUBCHG(X) ;Change in subtype
|
---|
40 | ;This sub-routine triggers appropriate values to the
|
---|
41 | ;relevant MWAPI fields(MARGIN and PAGE LENGTH).
|
---|
42 | W !,"SUBCHG(X) has been called!!!"
|
---|
43 | N %,RM,SL Q:$G(X)=""
|
---|
44 | S %=$O(^%ZIS(2,"B",X,0)) Q:%'>0
|
---|
45 | I '($D(^%ZIS(2,+%,0))#2) Q
|
---|
46 | W !,"X==>>"_X
|
---|
47 | Q:$P($G(^(0)),"^")'=X
|
---|
48 | S RM=$P($G(^(1)),"^"),SL=$P($G(^(1)),"^",3)
|
---|
49 | W !,"RM==>>"_RM
|
---|
50 | I RM=80!(RM=132!(RM=255)) D
|
---|
51 | .W !,"SETTING VALUE INTO ZMARGIN"
|
---|
52 | .S ^$W("ZISGTRM","G","ZMARGIN","VALUE")=$S(RM=80:1,RM=132:2,RM=255:3,1:4)
|
---|
53 | .W !,"SETTING MARGINVAL TO INACTIVE"
|
---|
54 | .S ^$W("ZISGTRM","G","MARGINVAL","ACTIVE")=0
|
---|
55 | E D
|
---|
56 | .S ^$W("ZISGTRM","G","ZMARGIN","VALUE")=4
|
---|
57 | .S ^$W("ZISGTRM","G","MARGINVAL","ACTIVE")=1
|
---|
58 | S ^$W("ZISGTRM","G","MARGINVAL","VALUE")=RM
|
---|
59 | I SL=24!(SL=66!(SL=88!(SL=96))) D
|
---|
60 | .S ^$W("ZISGTRM","G","ZPAGELENGTH","VALUE")=$S(SL=24:1,SL=66:2,SL=88:3,SL=96:4,1:5)
|
---|
61 | .S ^$W("ZISGTRM","G","PAGELENGTHVAL","ACTIVE")=0
|
---|
62 | E D
|
---|
63 | .S ^$W("ZISGTRM","G","ZPAGELENGTH","VALUE")=5
|
---|
64 | .S ^$W("ZISGTRM","G","PAGELENGTHVAL","ACTIVE")=1
|
---|
65 | S ^$W("ZISGTRM","G","PAGELENGTHVAL","VALUE")=SL
|
---|
66 | Q
|
---|
67 | CHGRAD ;CHANGE IN MARGIN
|
---|
68 | N REF
|
---|
69 | ;S REF="^$W("""_^$EVENT("WINDOW")_""",""G"")"
|
---|
70 | ;S REF=@XGWIN_"("""_@XGEVENT@("WINDOW")_""",""G"")"
|
---|
71 | S REF=XGWIN_"("""_@XGEVENT@("WINDOW")_""",""G"")"
|
---|
72 | ;S GADGET=$P(^$EVENT("ELEMENT"),",",2)
|
---|
73 | S GADGET=$P(@XGEVENT@("ELEMENT"),",",2)
|
---|
74 | S ITEM=@REF@(GADGET,"VALUE")
|
---|
75 | S VALUE=@REF@(GADGET,"CHOICE",ITEM)
|
---|
76 | S GADVAL=$E(GADGET,2,$L(GADGET))_"VAL"
|
---|
77 | I VALUE="OTHER" D
|
---|
78 | .S @REF@(GADVAL,"ACTIVE")=1
|
---|
79 | E D
|
---|
80 | .S @REF@(GADVAL,"VALUE")=VALUE
|
---|
81 | .S @REF@(GADVAL,"ACTIVE")=0
|
---|
82 | ;S ^$W("ZISGTRM","G","MARGINVAL","VALUE")=^$EVENT("CHOICE")
|
---|
83 | Q
|
---|