diff --git a/visualiser/src/main/java/seng302/Controllers/RaceController.java b/visualiser/src/main/java/seng302/Controllers/RaceController.java index 3082b325..5dfcab13 100644 --- a/visualiser/src/main/java/seng302/Controllers/RaceController.java +++ b/visualiser/src/main/java/seng302/Controllers/RaceController.java @@ -37,6 +37,7 @@ public class RaceController extends Controller { private static String speedCheckAnno = "speed"; private static String pathCheckAnno = "path"; private static String timeCheckAnno = "time"; + private static String estTimeCheckAnno = "est time"; private static int noBtn = 0; private static int hideBtn = 1; @@ -65,6 +66,7 @@ public class RaceController extends Controller { @FXML CheckBox showAbbrev; @FXML CheckBox showSpeed; @FXML CheckBox showTime; + @FXML CheckBox showEstTime; @FXML Label timer; @FXML Label FPS; @FXML Label timeZone; @@ -356,6 +358,7 @@ public class RaceController extends Controller { annoShownBeforeHide.put(pathCheckAnno, showBoatPath.isSelected()); annoShownBeforeHide.put(speedCheckAnno, showSpeed.isSelected()); annoShownBeforeHide.put(timeCheckAnno, showTime.isSelected()); + annoShownBeforeHide.put(estTimeCheckAnno, showEstTime.isSelected()); } /** @@ -369,7 +372,8 @@ public class RaceController extends Controller { importantAnno.put(abbrevCheckAnno, false); importantAnno.put(pathCheckAnno, false); importantAnno.put(speedCheckAnno, false); - importantAnno.put(timeCheckAnno, true); + importantAnno.put(timeCheckAnno, false); + importantAnno.put(estTimeCheckAnno, false); annoShownBeforeHide = new HashMap<>(); annoShownBeforeHide.put(nameCheckAnno, true); @@ -377,6 +381,7 @@ public class RaceController extends Controller { annoShownBeforeHide.put(pathCheckAnno, true); annoShownBeforeHide.put(speedCheckAnno, true); annoShownBeforeHide.put(timeCheckAnno, true); + annoShownBeforeHide.put(estTimeCheckAnno, true); //listener for show name in annotation showName.selectedProperty().addListener((ov, old_val, new_val) -> { if (old_val != new_val) { @@ -468,6 +473,23 @@ public class RaceController extends Controller { prevBtnChecked = noBtn; raceMap.update(); }); + showEstTime.selectedProperty().addListener((ov, old_val, new_val) -> { + if (old_val != new_val) { + raceMap.toggleAnnoEstTime(); + } + if (buttonChecked != hideBtn) { + if (prevBtnChecked == hideBtn && buttonChecked != showBtn){ + storeCurrentAnnotationState(); + } else { + annoShownBeforeHide.put(estTimeCheckAnno, showEstTime.isSelected()); + } + if (buttonChecked == noBtn) { + annotationGroup.selectToggle(showAnnoRBTN); + } + } + prevBtnChecked = noBtn; + raceMap.update(); + }); //listener to save currently selected annotation saveAnno.setOnAction(event -> { presetAnno.clear(); @@ -476,6 +498,7 @@ public class RaceController extends Controller { presetAnno.add(showSpeed.isSelected()); presetAnno.add(showBoatPath.isSelected()); presetAnno.add(showTime.isSelected()); + presetAnno.add(showEstTime.isSelected()); }); //listener for hiding hideAnnoRBTN.selectedProperty().addListener((ov, old_val, new_val) ->{ @@ -486,6 +509,7 @@ public class RaceController extends Controller { showBoatPath.setSelected(false); showSpeed.setSelected(false); showTime.setSelected(false); + showEstTime.setSelected(false); annotationGroup.selectToggle(hideAnnoRBTN); raceMap.update(); buttonChecked = noBtn; @@ -499,6 +523,7 @@ public class RaceController extends Controller { showBoatPath.setSelected(annoShownBeforeHide.get(pathCheckAnno)); showSpeed.setSelected(annoShownBeforeHide.get(speedCheckAnno)); showTime.setSelected(annoShownBeforeHide.get(timeCheckAnno)); + showEstTime.setSelected(annoShownBeforeHide.get(estTimeCheckAnno)); raceMap.update(); buttonChecked = noBtn; prevBtnChecked = showBtn; @@ -511,6 +536,7 @@ public class RaceController extends Controller { showSpeed.setSelected(true); showBoatPath.setSelected(false); showTime.setSelected(false); + showEstTime.setSelected(false); annotationGroup.selectToggle(partialAnnoRBTN); raceMap.update(); buttonChecked = noBtn; @@ -525,6 +551,7 @@ public class RaceController extends Controller { showSpeed.setSelected(presetAnno.get(2)); showBoatPath.setSelected(presetAnno.get(3)); showTime.setSelected(presetAnno.get(4)); + showEstTime.setSelected(presetAnno.get(5)); annotationGroup.selectToggle(importantAnnoRBTN); raceMap.update(); } diff --git a/visualiser/src/main/java/seng302/Model/ResizableRaceCanvas.java b/visualiser/src/main/java/seng302/Model/ResizableRaceCanvas.java index 04460b28..9dfab1a9 100644 --- a/visualiser/src/main/java/seng302/Model/ResizableRaceCanvas.java +++ b/visualiser/src/main/java/seng302/Model/ResizableRaceCanvas.java @@ -281,7 +281,7 @@ public class ResizableRaceCanvas extends ResizableCanvas { annoPath = !annoPath; } - public void toggleEstTime() { + public void toggleAnnoEstTime() { annoEstTime = !annoEstTime; } diff --git a/visualiser/src/main/resources/scenes/race.fxml b/visualiser/src/main/resources/scenes/race.fxml index 4a4a9d21..fc6f5936 100644 --- a/visualiser/src/main/resources/scenes/race.fxml +++ b/visualiser/src/main/resources/scenes/race.fxml @@ -21,7 +21,7 @@ - +