From 2bf3a01431385cdfe4202c8b47d6b89d03315a94 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kriszti=C3=A1n=20L=C3=B6ki?= <krisztian.loki@ess.eu>
Date: Mon, 27 Jan 2020 18:08:28 +0100
Subject: [PATCH] Use LEDs instead of labels

---
 .../vacuum/vept/Faceplate/blue_mode.bob       |  60 +++
 .../DEVICES/vacuum/vept/Faceplate/mode.bob    |  60 +++
 .../vacuum/vept/Faceplate/orange_mode.bob     |  60 +++
 .../vept/Faceplate/vac_ctrl_leyboldtd20.bob   | 379 +++--------------
 .../Faceplate/vac_ctrl_pfeiffertcp350.bob     | 382 +++---------------
 5 files changed, 292 insertions(+), 649 deletions(-)
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/blue_mode.bob
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/mode.bob
 create mode 100644 NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/orange_mode.bob

diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/blue_mode.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/blue_mode.bob
new file mode 100644
index 00000000..b2475220
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/blue_mode.bob
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<display version="2.0.0">
+  <name>Mode</name>
+  <width>138</width>
+  <height>31</height>
+  <widget type="led" version="2.0.0">
+    <name>$(MODE)</name>
+    <pv_name>$(DEVICENAME):$(MODE_PV)</pv_name>
+    <x>3</x>
+    <y>3</y>
+    <width>132</width>
+    <height>25</height>
+    <off_label>$(MODE)</off_label>
+    <off_color>
+      <color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
+      </color>
+    </off_color>
+    <on_label>$(MODE)</on_label>
+    <on_color>
+      <color name="BLUE-BORDER" red="47" green="135" blue="148">
+      </color>
+    </on_color>
+    <font>
+      <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
+      </font>
+    </font>
+    <foreground_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </foreground_color>
+    <line_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </line_color>
+    <square>true</square>
+    <rules>
+      <rule name="Font color" prop_id="foreground_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="WHITE" red="255" green="255" blue="255">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+      <rule name="Line color" prop_id="line_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="BLUE" red="79" green="228" blue="250">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+    </rules>
+    <tooltip>$(pv_name)
+$(pv_value)
+$(TOOLTIP=$(MODE))</tooltip>
+  </widget>
+</display>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/mode.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/mode.bob
new file mode 100644
index 00000000..d3b1189a
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/mode.bob
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<display version="2.0.0">
+  <name>Mode</name>
+  <width>138</width>
+  <height>31</height>
+  <widget type="led" version="2.0.0">
+    <name>$(MODE)</name>
+    <pv_name>$(DEVICENAME):$(MODE_PV)</pv_name>
+    <x>3</x>
+    <y>3</y>
+    <width>132</width>
+    <height>25</height>
+    <off_label>$(MODE)</off_label>
+    <off_color>
+      <color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
+      </color>
+    </off_color>
+    <on_label>$(MODE)</on_label>
+    <on_color>
+      <color name="GREEN-BORDER" red="40" green="140" blue="40">
+      </color>
+    </on_color>
+    <font>
+      <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
+      </font>
+    </font>
+    <foreground_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </foreground_color>
+    <line_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </line_color>
+    <square>true</square>
+    <rules>
+      <rule name="Font color" prop_id="foreground_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="WHITE" red="255" green="255" blue="255">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+      <rule name="Line color" prop_id="line_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="GREEN" red="61" green="216" blue="61">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+    </rules>
+    <tooltip>$(pv_name)
+$(pv_value)
+$(TOOLTIP=$(MODE))</tooltip>
+  </widget>
+</display>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/orange_mode.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/orange_mode.bob
new file mode 100644
index 00000000..4ff76b84
--- /dev/null
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/orange_mode.bob
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<display version="2.0.0">
+  <name>Mode</name>
+  <width>138</width>
+  <height>31</height>
+  <widget type="led" version="2.0.0">
+    <name>$(MODE)</name>
+    <pv_name>$(DEVICENAME):$(MODE_PV)</pv_name>
+    <x>3</x>
+    <y>3</y>
+    <width>132</width>
+    <height>25</height>
+    <off_label>$(MODE)</off_label>
+    <off_color>
+      <color name="GROUP-BACKGROUND" red="200" green="205" blue="201">
+      </color>
+    </off_color>
+    <on_label>$(MODE)</on_label>
+    <on_color>
+      <color name="ORANGE-BORDER" red="153" green="117" blue="49">
+      </color>
+    </on_color>
+    <font>
+      <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
+      </font>
+    </font>
+    <foreground_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </foreground_color>
+    <line_color>
+      <color name="GROUP-BORDER" red="150" green="155" blue="151">
+      </color>
+    </line_color>
+    <square>true</square>
+    <rules>
+      <rule name="Font color" prop_id="foreground_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="WHITE" red="255" green="255" blue="255">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+      <rule name="Line color" prop_id="line_color" out_exp="false">
+        <exp bool_exp="pvInt0">
+          <value>
+            <color name="ORANGE" red="254" green="194" blue="81">
+            </color>
+          </value>
+        </exp>
+        <pv_name>$(pv_name)</pv_name>
+      </rule>
+    </rules>
+    <tooltip>$(pv_name)
+$(pv_value)
+$(TOOLTIP=$(MODE))</tooltip>
+  </widget>
+</display>
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_leyboldtd20.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_leyboldtd20.bob
index 41820465..96ac1e0e 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_leyboldtd20.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_leyboldtd20.bob
@@ -65,352 +65,87 @@
     <x>10</x>
     <y>50</y>
     <width>840</width>
-    <height>25</height>
+    <height>31</height>
     <style>3</style>
     <transparent>true</transparent>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Normal Operation</name>
-      <text>Nomal Operation</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Normal</MODE>
+        <MODE_PV>NormalOperationR</MODE_PV>
+        <TOOLTIP>Normal Operation</TOOLTIP>
+      </macros>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-      </rules>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Ready to Start</name>
-      <text>Ready to Start</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Ready to Start</MODE>
+        <MODE_PV>RdyToStartR</MODE_PV>
+      </macros>
       <x>140</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):RdyToStartR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):RdyToStartR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):RdyToStartR</pv_name>
-        </rule>
-      </rules>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Accelerating</name>
-      <text>Accelerating</text>
+      <file>blue_mode.bob</file>
+      <macros>
+        <MODE>Accelerating</MODE>
+        <MODE_PV>AcceleratingR</MODE_PV>
+      </macros>
       <x>280</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-      </rules>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Decelerating</name>
-      <text>Decelerating</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Decelerating</MODE>
+        <MODE_PV>DeceleratingR</MODE_PV>
+      </macros>
       <x>420</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):DeceleratingR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):DeceleratingR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):DeceleratingR</pv_name>
-        </rule>
-      </rules>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Generator Operation</name>
-      <text>Generator</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Generator</MODE>
+        <MODE_PV>GeneratorOperationR</MODE_PV>
+        <TOOLTIP>Generator Operation</TOOLTIP>
+      </macros>
       <x>560</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):GeneratorOperationR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):GeneratorOperationR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):GeneratorOperationR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>Generator Operation</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Standby</name>
-      <text>Standby</text>
+      <file>orange_mode.bob</file>
+      <macros>
+        <MODE>Standby</MODE>
+        <MODE_PV>StandbyR</MODE_PV>
+      </macros>
       <x>700</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-      </rules>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
-    </widget>
-    <widget type="polyline" version="2.0.0">
-      <name>Polyline</name>
-      <width>840</width>
-      <height>25</height>
-      <visible>false</visible>
-      <line_width>2</line_width>
-      <line_color>
-        <color name="INVALID" red="149" green="110" blue="221">
-        </color>
-      </line_color>
-      <line_style>3</line_style>
-      <points>
-        <point x="0.0" y="0.0">
-        </point>
-        <point x="840.0" y="0.0">
-        </point>
-        <point x="840.0" y="25.0">
-        </point>
-        <point x="0.0" y="25.0">
-        </point>
-        <point x="0.0" y="0.0">
-        </point>
-      </points>
-      <rules>
-        <rule name="Visible" prop_id="visible" out_exp="false">
-          <exp bool_exp="pvSev0">
-            <value>true</value>
-          </exp>
-          <pv_name>$(DEVICENAME):iOperStatR</pv_name>
-        </rule>
-      </rules>
+      <height>31</height>
+      <resize>2</resize>
+      <transparent>true</transparent>
     </widget>
   </widget>
   <widget type="tabs" version="2.0.0">
diff --git a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_pfeiffertcp350.bob b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_pfeiffertcp350.bob
index 4412f274..f6a61c8b 100644
--- a/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_pfeiffertcp350.bob
+++ b/NON-APPROVED/COMMON/DEVICES/vacuum/vept/Faceplate/vac_ctrl_pfeiffertcp350.bob
@@ -64,357 +64,85 @@
     <x>10</x>
     <y>50</y>
     <width>840</width>
-    <height>25</height>
+    <height>31</height>
     <style>3</style>
     <transparent>true</transparent>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Normal Operation</name>
-      <text>Nomal Operation</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Normal</MODE>
+        <MODE_PV>NormalOperationR</MODE_PV>
+        <TOOLTIP>Normal Operation [P:302]</TOOLTIP>
+      </macros>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):NormalOperationR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:302]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Pump</name>
-      <text>Pump</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Pump</MODE>
+        <MODE_PV>PumpCtrl-RB</MODE_PV>
+        <TOOLTIP>[P:023]</TOOLTIP>
+      </macros>
       <x>140</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):PumpCtrl-RB</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):PumpCtrl-RB</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):PumpCtrl-RB</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:023]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Accelerating</name>
-      <text>Accelerating</text>
+      <file>blue_mode.bob</file>
+      <macros>
+        <MODE>Accelerating</MODE>
+        <MODE_PV>AcceleratingR</MODE_PV>
+        <TOOLTIP>[P:307]</TOOLTIP>
+      </macros>
       <x>280</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="LED-BLUE-ON" red="81" green="232" blue="255">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="LED-BLUE-ON" red="81" green="232" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AcceleratingR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:307]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Set Speed</name>
-      <text>Set Speed</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Set Speed</MODE>
+        <MODE_PV>AtNominalSpdR</MODE_PV>
+        <TOOLTIP>[P:306]</TOOLTIP>
+      </macros>
       <x>420</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):AtNominalSpdR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AtNominalSpdR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):AtNominalSpdR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:306]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Remote Priority</name>
-      <text>Remote</text>
+      <file>mode.bob</file>
+      <macros>
+        <MODE>Remote</MODE>
+        <MODE_PV>RemotePrioR</MODE_PV>
+        <TOOLTIP>Remote Priority [P:300]</TOOLTIP>
+      </macros>
       <x>560</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="GREEN-BORDER" red="40" green="140" blue="40">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):RemotePrioR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):RemotePrioR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="GREEN" red="61" green="216" blue="61">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):RemotePrioR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:300]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
-    <widget type="label" version="2.0.0">
+    <widget type="embedded" version="2.0.0">
       <name>Standby</name>
-      <text>Standby</text>
+      <file>orange_mode.bob</file>
+      <macros>
+        <MODE>Standby</MODE>
+        <MODE_PV>StandbyR</MODE_PV>
+        <TOOLTIP>[P:002]</TOOLTIP>
+      </macros>
       <x>700</x>
       <width>138</width>
-      <height>25</height>
-      <font>
-        <font name="Header 3" family="Source Sans Pro" style="BOLD_ITALIC" size="18.0">
-        </font>
-      </font>
-      <foreground_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </foreground_color>
-      <background_color>
-        <color name="LED-ORANGE-ON" red="255" green="175" blue="81">
-        </color>
-      </background_color>
-      <horizontal_alignment>1</horizontal_alignment>
-      <vertical_alignment>1</vertical_alignment>
-      <rules>
-        <rule name="Transparent" prop_id="transparent" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>false</value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-        <rule name="Font color" prop_id="foreground_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="WHITE" red="255" green="255" blue="255">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-        <rule name="Border color" prop_id="border_color" out_exp="false">
-          <exp bool_exp="pvInt0">
-            <value>
-              <color name="LED-ORANGE-ON" red="255" green="175" blue="81">
-              </color>
-            </value>
-          </exp>
-          <pv_name>$(DEVICENAME):StandbyR</pv_name>
-        </rule>
-      </rules>
-      <tooltip>[P:002]</tooltip>
-      <border_width>1</border_width>
-      <border_color>
-        <color name="GROUP-BORDER" red="150" green="155" blue="151">
-        </color>
-      </border_color>
-    </widget>
-    <widget type="polyline" version="2.0.0">
-      <name>Polyline</name>
-      <width>840</width>
-      <height>25</height>
-      <visible>false</visible>
-      <line_width>2</line_width>
-      <line_color>
-        <color name="INVALID" red="149" green="110" blue="221">
-        </color>
-      </line_color>
-      <line_style>3</line_style>
-      <points>
-        <point x="0.0" y="0.0">
-        </point>
-        <point x="840.0" y="0.0">
-        </point>
-        <point x="840.0" y="25.0">
-        </point>
-        <point x="0.0" y="25.0">
-        </point>
-        <point x="0.0" y="0.0">
-        </point>
-      </points>
-      <rules>
-        <rule name="Visible" prop_id="visible" out_exp="false">
-          <exp bool_exp="pvSev0">
-            <value>true</value>
-          </exp>
-          <pv_name>$(DEVICENAME):iOperStatR</pv_name>
-        </rule>
-      </rules>
+      <height>31</height>
+      <transparent>true</transparent>
     </widget>
   </widget>
   <widget type="tabs" version="2.0.0">
-- 
GitLab