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);