diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form
index b58bb4c..082e96e 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.form
+++ b/src/main/java/ch/psi/mxsc/MainPanel.form
@@ -31,7 +31,7 @@
-
+
@@ -334,21 +334,21 @@
-
+
-
+
-
+
-
+
@@ -384,12 +384,12 @@
-
+
-
+
@@ -882,7 +882,7 @@
-
+
@@ -990,9 +990,9 @@
-
+
-
+
@@ -1004,7 +1004,7 @@
-
+
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java
index 95a3449..0ec2125 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.java
+++ b/src/main/java/ch/psi/mxsc/MainPanel.java
@@ -405,6 +405,7 @@ public class MainPanel extends Panel {
panelDetection.setVisible(expert);
buttonDetectCover.setVisible(expert);
buttonConfig.setVisible(expert);
+ Puck.setDisplayDetectionError(expert);
if (checkExpert.isSelected() != expert) {
checkExpert.setSelected(expert);
diff --git a/src/main/java/ch/psi/mxsc/Puck.java b/src/main/java/ch/psi/mxsc/Puck.java
index 86e8a9c..629e580 100644
--- a/src/main/java/ch/psi/mxsc/Puck.java
+++ b/src/main/java/ch/psi/mxsc/Puck.java
@@ -103,6 +103,16 @@ public class Puck extends DeviceBase {
return detection.toString();
}
+
+ public static boolean displayDetectionError;
+ public static void setDisplayDetectionError(boolean value){
+ displayDetectionError = value;
+ }
+
+ public static boolean getDisplayDetectionError(){
+ return displayDetectionError;
+ }
+
public double getAngle() {
return ANGLES[index];
}
diff --git a/src/main/java/ch/psi/mxsc/PuckGraphics.java b/src/main/java/ch/psi/mxsc/PuckGraphics.java
index abc1b1c..9b29494 100644
--- a/src/main/java/ch/psi/mxsc/PuckGraphics.java
+++ b/src/main/java/ch/psi/mxsc/PuckGraphics.java
@@ -87,13 +87,24 @@ public class PuckGraphics {
public boolean isHighlithted() {
return puck.isSelected() || puck.isSegmentSelected();
}
-
+
+ Color getEmptyColor(){
+ return isHighlithted() ? new Color(212, 212, 212) : Color.LIGHT_GRAY;
+ }
+
+ Color getErrorColor(){
+ if (puck.getDisplayDetectionError()){
+ return isHighlithted() ? new Color(192, 10, 10) : new Color(192, 128, 128);
+ }
+ return getEmptyColor();
+ }
+
Color getColor() {
Color ret = Color.LIGHT_GRAY;
switch (puck.detection) {
case Empty:
//ret = isHighlithted() ? new Color(224, 224, 224) : Color.LIGHT_GRAY;
- ret = isHighlithted() ? new Color(212, 212, 212) : Color.LIGHT_GRAY;
+ ret = getEmptyColor();
break;
case Present:
if ((puck.puckType != null) && (puck.puckType != PuckType.Unknown)){
@@ -106,15 +117,15 @@ public class PuckGraphics {
break;
case Empty:
case Error:
- ret = isHighlithted() ? new Color(192, 10, 10) : new Color(192, 128, 128);
+ ret = getErrorColor();
break;
}
} else {
ret = isHighlithted() ? new Color(0, 140, 140) : new Color(128, 192, 192);
}
break;
- case Error:
- ret = isHighlithted() ? new Color(192, 10, 10) : new Color(192, 128, 128);
+ case Error:
+ ret = getErrorColor();
break;
case Offline:
ret = isHighlithted() ? new Color(250, 255, 48) : new Color(253, 194, 41);