From 4683e39b5fa5a645478d44690aae4fafd8004607 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kriszti=C3=A1n=20L=C3=B6ki?= <krisztian.loki@esss.se>
Date: Thu, 18 Apr 2019 15:35:20 +0200
Subject: [PATCH] Got rid of widget interlock local PVs

---
 .../common/interlock_color_animation.js       |  6 ++--
 .../widgets/vpp-vpdp/vac_vpp-vpdp.bob         | 14 ++++++++--
 .../lebt-010_vac/widgets/vpt/vac_vpt.bob      | 14 ++++++++--
 .../widgets/vva-vvf-vvg/vac_angle-vva.bob     | 14 ++++++++--
 .../widgets/vva-vvf-vvg/vac_straight-vva.bob  | 14 ++++++++--
 .../widgets/vva-vvf-vvg/vac_vvf-vvg.bob       | 16 ++++++++---
 .../widgets/vvs/interlock_color_animation.js  |  5 +++-
 .../lebt-010_vac/widgets/vvs/vac_vvs.bob      | 28 +++++++++----------
 8 files changed, 78 insertions(+), 33 deletions(-)

diff --git a/NON-APPROVED/lebt-010_vac/widgets/common/interlock_color_animation.js b/NON-APPROVED/lebt-010_vac/widgets/common/interlock_color_animation.js
index 4a02b6a3..1aabdc22 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/common/interlock_color_animation.js
+++ b/NON-APPROVED/lebt-010_vac/widgets/common/interlock_color_animation.js
@@ -78,9 +78,11 @@ try {
 	} else {
 		Logger.severe(pvSymbol + ": Unknown combination:" + sum);
 	}
+	if (colorID != PVUtil.getInt(pvSymbol))
+		Logger.severe(pvSymbol + ": State mismatch:" + colorID + " vs " + PVUtil.getInt(pvSymbol));
 } catch (err) {
 	Logger.severe("NO CONNECTION: " + err);
 }
 
-pvSymbol.write(colorID);
-widget.setPropertyValue("visible", visible);
+//pvSymbol.write(colorID);
+//widget.setPropertyValue("visible", visible);
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vpp-vpdp/vac_vpp-vpdp.bob b/NON-APPROVED/lebt-010_vac/widgets/vpp-vpdp/vac_vpp-vpdp.bob
index ee82f83b..d025c665 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vpp-vpdp/vac_vpp-vpdp.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vpp-vpdp/vac_vpp-vpdp.bob
@@ -134,7 +134,7 @@
     <transparent>true</transparent>
     <widget type="symbol" version="2.0.0">
       <name>Interlock_badge</name>
-      <pv_name>loc://$(vacPREFIX):UI:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+      <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
       <symbols>
         <symbol>../symbols/interlock/interlock-invalid.png</symbol>
         <symbol>../symbols/interlock/interlock-healthy.png</symbol>
@@ -144,9 +144,17 @@
       </symbols>
       <width>16</width>
       <height>16</height>
+      <rules>
+        <rule name="Visibility" prop_id="visible" out_exp="false">
+          <exp bool_exp="pvInt0 == 4">
+            <value>false</value>
+          </exp>
+          <pv_name>$(pv_name)</pv_name>
+        </rule>
+      </rules>
       <scripts>
         <script file="../common/interlock_color_animation.js" check_connections="false">
-          <pv_name trigger="false">$(pv_name)</pv_name>
+          <pv_name>$(pv_name)</pv_name>
           <pv_name>$(vacPREFIX):ITLck:HltyR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:TrpR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:OvRidnR</pv_name>
@@ -173,7 +181,7 @@
           <exp bool_exp="true">
             <expression>pvStr0</expression>
           </exp>
-          <pv_name>loc://$(vacPREFIX):UI:ITLckR</pv_name>
+          <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
         </rule>
       </rules>
       <tooltip>No Interlock</tooltip>
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vpt/vac_vpt.bob b/NON-APPROVED/lebt-010_vac/widgets/vpt/vac_vpt.bob
index 67a60a2d..58eebc0a 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vpt/vac_vpt.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vpt/vac_vpt.bob
@@ -134,7 +134,7 @@
     <transparent>true</transparent>
     <widget type="symbol" version="2.0.0">
       <name>Interlock_badge</name>
-      <pv_name>loc://$(vacPREFIX):UI:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+      <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
       <symbols>
         <symbol>../symbols/interlock/interlock-invalid.png</symbol>
         <symbol>../symbols/interlock/interlock-healthy.png</symbol>
@@ -144,9 +144,17 @@
       </symbols>
       <width>16</width>
       <height>16</height>
+      <rules>
+        <rule name="Visibility" prop_id="visible" out_exp="false">
+          <exp bool_exp="pvInt0 == 4">
+            <value>false</value>
+          </exp>
+          <pv_name>$(pv_name)</pv_name>
+        </rule>
+      </rules>
       <scripts>
         <script file="../common/interlock_color_animation.js" check_connections="false">
-          <pv_name trigger="false">$(pv_name)</pv_name>
+          <pv_name>$(pv_name)</pv_name>
           <pv_name>$(vacPREFIX):ITLck:HltyR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:TrpR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:OvRidnR</pv_name>
@@ -173,7 +181,7 @@
           <exp bool_exp="true">
             <expression>pvStr0</expression>
           </exp>
-          <pv_name>loc://$(vacPREFIX):UI:ITLckR</pv_name>
+          <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
         </rule>
       </rules>
       <tooltip>No Interlock</tooltip>
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_angle-vva.bob b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_angle-vva.bob
index 641b1ba9..fa10e046 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_angle-vva.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_angle-vva.bob
@@ -136,7 +136,7 @@
     <transparent>true</transparent>
     <widget type="symbol" version="2.0.0">
       <name>Interlock_badge</name>
-      <pv_name>loc://$(vacPREFIX):UI:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+      <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
       <symbols>
         <symbol>../symbols/interlock/interlock-invalid.png</symbol>
         <symbol>../symbols/interlock/interlock-healthy.png</symbol>
@@ -146,9 +146,17 @@
       </symbols>
       <width>16</width>
       <height>16</height>
+      <rules>
+        <rule name="Visibility" prop_id="visible" out_exp="false">
+          <exp bool_exp="pvInt0 == 4">
+            <value>false</value>
+          </exp>
+          <pv_name>$(pv_name)</pv_name>
+        </rule>
+      </rules>
       <scripts>
         <script file="../common/interlock_color_animation.js" check_connections="false">
-          <pv_name trigger="false">$(pv_name)</pv_name>
+          <pv_name>$(pv_name)</pv_name>
           <pv_name>$(vacPREFIX):ITLck:HltyR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:TrpR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:OvRidnR</pv_name>
@@ -175,7 +183,7 @@
           <exp bool_exp="true">
             <expression>pvStr0</expression>
           </exp>
-          <pv_name>loc://$(vacPREFIX):UI:ITLckR</pv_name>
+          <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
         </rule>
       </rules>
       <tooltip>No Interlock</tooltip>
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_straight-vva.bob b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_straight-vva.bob
index 1d878356..d21f450f 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_straight-vva.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_straight-vva.bob
@@ -125,7 +125,7 @@
     <transparent>true</transparent>
     <widget type="symbol" version="2.0.0">
       <name>Interlock_badge</name>
-      <pv_name>loc://$(vacPREFIX):UI:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+      <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
       <symbols>
         <symbol>../symbols/interlock/interlock-invalid.png</symbol>
         <symbol>../symbols/interlock/interlock-healthy.png</symbol>
@@ -135,9 +135,17 @@
       </symbols>
       <width>16</width>
       <height>16</height>
+      <rules>
+        <rule name="Visibility" prop_id="visible" out_exp="false">
+          <exp bool_exp="pvInt0 == 4">
+            <value>false</value>
+          </exp>
+          <pv_name>$(pv_name)</pv_name>
+        </rule>
+      </rules>
       <scripts>
         <script file="../common/interlock_color_animation.js" check_connections="false">
-          <pv_name trigger="false">$(pv_name)</pv_name>
+          <pv_name>$(pv_name)</pv_name>
           <pv_name>$(vacPREFIX):ITLck:HltyR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:TrpR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:OvRidnR</pv_name>
@@ -164,7 +172,7 @@
           <exp bool_exp="true">
             <expression>pvStr0</expression>
           </exp>
-          <pv_name>loc://$(vacPREFIX):UI:ITLckR</pv_name>
+          <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
         </rule>
       </rules>
       <tooltip>No Interlock</tooltip>
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_vvf-vvg.bob b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_vvf-vvg.bob
index debb1b89..bc1f1002 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_vvf-vvg.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vva-vvf-vvg/vac_vvf-vvg.bob
@@ -14,7 +14,7 @@
     </script>
     <script file="../common/orientation.js">
       <pv_name>loc://$(vacPREFIX):orientation("$(ORIENTATION)")</pv_name>
-      <pv_name>loc://$(vacpREFIX):rotation("$(ROTATION)")</pv_name>
+      <pv_name>loc://$(vacPREFIX):rotation("$(ROTATION)")</pv_name>
     </script>
   </scripts>
   <widget type="polyline" version="2.0.0">
@@ -125,7 +125,7 @@
     <transparent>true</transparent>
     <widget type="symbol" version="2.0.0">
       <name>Interlock_badge</name>
-      <pv_name>loc://$(vacPREFIX):UI:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+      <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
       <symbols>
         <symbol>../symbols/interlock/interlock-invalid.png</symbol>
         <symbol>../symbols/interlock/interlock-healthy.png</symbol>
@@ -135,9 +135,17 @@
       </symbols>
       <width>16</width>
       <height>16</height>
+      <rules>
+        <rule name="Visibility" prop_id="visible" out_exp="false">
+          <exp bool_exp="pvInt0 == 4">
+            <value>false</value>
+          </exp>
+          <pv_name>$(pv_name)</pv_name>
+        </rule>
+      </rules>
       <scripts>
         <script file="../common/interlock_color_animation.js" check_connections="false">
-          <pv_name trigger="false">$(pv_name)</pv_name>
+          <pv_name>$(pv_name)</pv_name>
           <pv_name>$(vacPREFIX):ITLck:HltyR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:TrpR</pv_name>
           <pv_name>$(vacPREFIX):ITLck:OvRidnR</pv_name>
@@ -164,7 +172,7 @@
           <exp bool_exp="true">
             <expression>pvStr0</expression>
           </exp>
-          <pv_name>loc://$(vacPREFIX):UI:ITLckR</pv_name>
+          <pv_name>$(vacPREFIX):ITLckStatR</pv_name>
         </rule>
       </rules>
       <tooltip>No Interlock</tooltip>
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vvs/interlock_color_animation.js b/NON-APPROVED/lebt-010_vac/widgets/vvs/interlock_color_animation.js
index 7aaa8ca2..143e9e21 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vvs/interlock_color_animation.js
+++ b/NON-APPROVED/lebt-010_vac/widgets/vvs/interlock_color_animation.js
@@ -75,8 +75,11 @@ try {
 	} else {
 		Logger.severe(pvSymbol + ": Unknown combination:" + sum);
 	}
+
+	if (colorID != PVUtil.getInt(pvSymbol))
+		Logger.severe(pvSymbol + ": State mismatch:" + colorID + " vs " + PVUtil.getInt(pvSymbol));
 } catch (err) {
 	Logger.severe("NO CONNECTION: " + err);
 }
 
-pvSymbol.write(colorID);
+//pvSymbol.write(colorID);
diff --git a/NON-APPROVED/lebt-010_vac/widgets/vvs/vac_vvs.bob b/NON-APPROVED/lebt-010_vac/widgets/vvs/vac_vvs.bob
index 99a60365..eb6c7c09 100644
--- a/NON-APPROVED/lebt-010_vac/widgets/vvs/vac_vvs.bob
+++ b/NON-APPROVED/lebt-010_vac/widgets/vvs/vac_vvs.bob
@@ -123,18 +123,18 @@
             </color>
           </value>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:P1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:1:ITLckStatR</pv_name>
       </rule>
       <rule name="Tooltip" prop_id="tooltip" out_exp="true">
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:P1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:1:ITLckStatR</pv_name>
       </rule>
     </rules>
     <scripts>
       <script file="interlock_color_animation.js" check_connections="false">
-        <pv_name trigger="false">loc://$(vacPREFIX):UI:P1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:1:ITLckStatR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:1:HltyR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:1:TrpR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:1:OvRidnR</pv_name>
@@ -190,18 +190,18 @@
             </color>
           </value>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:P2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:2:ITLckStatR</pv_name>
       </rule>
       <rule name="Tooltip" prop_id="tooltip" out_exp="true">
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:P2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:2:ITLckStatR</pv_name>
       </rule>
     </rules>
     <scripts>
       <script file="interlock_color_animation.js" check_connections="false">
-        <pv_name trigger="false">loc://$(vacPREFIX):UI:P2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Prev:2:ITLckStatR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:2:HltyR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:2:TrpR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Prev:2:OvRidnR</pv_name>
@@ -257,18 +257,18 @@
             </color>
           </value>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:1:ITLckStatR</pv_name>
       </rule>
       <rule name="Tooltip" prop_id="tooltip" out_exp="true">
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:1:ITLckStatR</pv_name>
       </rule>
     </rules>
     <scripts>
       <script file="interlock_color_animation.js" check_connections="false">
-        <pv_name trigger="false">loc://$(vacPREFIX):UI:N1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:1:ITLckStatR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:1:HltyR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:1:TrpR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:1:OvRidnR</pv_name>
@@ -296,7 +296,7 @@
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N1:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:1:ITLckStatR</pv_name>
       </rule>
     </rules>
     <tooltip>Invalid</tooltip>
@@ -348,18 +348,18 @@
             </color>
           </value>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:2:ITLckStatR</pv_name>
       </rule>
       <rule name="Tooltip" prop_id="tooltip" out_exp="true">
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:2:ITLckStatR</pv_name>
       </rule>
     </rules>
     <scripts>
       <script file="interlock_color_animation.js" check_connections="false">
-        <pv_name trigger="false">loc://$(vacPREFIX):UI:N2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:2:ITLckStatR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:2:HltyR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:2:TrpR</pv_name>
         <pv_name>$(vacPREFIX):ITLck:Next:2:OvRidnR</pv_name>
@@ -387,7 +387,7 @@
         <exp bool_exp="True">
           <expression>pvStr0</expression>
         </exp>
-        <pv_name>loc://$(vacPREFIX):UI:N2:ITLckR&lt;VEnum&gt;(0, "Invalid", "Healthy", "Tripped", "Overriden", "Disabled")</pv_name>
+        <pv_name>$(vacPREFIX):Next:2:ITLckStatR</pv_name>
       </rule>
     </rules>
     <tooltip>Invalid</tooltip>
-- 
GitLab