From 083eb5a4bc304be5ac494ec0280a8ff04423a2f3 Mon Sep 17 00:00:00 2001 From: hba56 Date: Thu, 14 Sep 2017 13:45:46 +1200 Subject: [PATCH] updated race view that does not use a split pane --- .../Controllers/InGameLobbyController.java | 2 +- .../Controllers/RaceViewController.java | 26 +- .../visualiser/scenes/newRaceView.fxml | 232 ++++++++++-------- 3 files changed, 137 insertions(+), 123 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java b/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java index 3366b790..e4865925 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/InGameLobbyController.java @@ -250,7 +250,7 @@ public class InGameLobbyController extends Controller { visualiserRaceEvent.getVisualiserRaceState().getBoats().removeListener(lobbyUpdateListener); RaceViewController rvc = (RaceViewController) - loadScene("raceView.fxml"); + loadScene("newRaceView.fxml"); rvc.startRace(visualiserRaceEvent, controllerClient, isHost); } catch (IOException e) { diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java index 5bd45274..66fdc23e 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceViewController.java @@ -12,6 +12,7 @@ import javafx.scene.chart.LineChart; import javafx.scene.control.*; import javafx.scene.input.KeyCode; import javafx.scene.input.KeyEvent; +import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.scene.layout.StackPane; import javafx.scene.shape.MeshView; @@ -64,7 +65,7 @@ public class RaceViewController extends Controller { // note: it says it's not used but it is! do not remove :) private @FXML ArrowController arrowController; private @FXML GridPane canvasBase; - private @FXML SplitPane racePane; + private @FXML AnchorPane newRacePane; private @FXML StackPane arrowPane; private @FXML Label timer; private @FXML Label FPS; @@ -77,6 +78,7 @@ public class RaceViewController extends Controller { private @FXML TableColumn boatSpeedColumn; private @FXML LineChart sparklineChart; private @FXML Label tutorialText; + private @FXML AnchorPane infoWrapper; /** * Displays a specified race. @@ -125,7 +127,7 @@ public class RaceViewController extends Controller { * Sets up the listener and actions that occur when a key is pressed. */ private void initKeypressHandler() { - racePane.addEventFilter(KeyEvent.KEY_PRESSED, event -> { + newRacePane.addEventFilter(KeyEvent.KEY_PRESSED, event -> { String codeString = event.getCode().toString(); // tab key @@ -255,7 +257,7 @@ public class RaceViewController extends Controller { }); // Bind zooming to keypress (Z/X default) - racePane.addEventFilter(KeyEvent.KEY_PRESSED, e -> { + newRacePane.addEventFilter(KeyEvent.KEY_PRESSED, e -> { ControlKey key = keyFactory.getKey(e.getCode().toString()); if (key != null) { switch (key.toString()) { @@ -442,23 +444,7 @@ public class RaceViewController extends Controller { * toggles if the info table is shown */ private void toggleTable() { - double tablePercent = 1 - (boatPlacingColumn.getPrefWidth() + - boatTeamColumn.getPrefWidth() + boatMarkColumn.getPrefWidth() - + boatSpeedColumn.getPrefWidth())/racePane.getWidth(); - - if (infoTableShow) { - racePane.setDividerPositions(tablePercent); - arrowPane.setScaleX(0.5); - arrowPane.setScaleY(0.5); - arrowPane.setTranslateX(0 + (arrowPane.getScene().getWidth()/4)*tablePercent); - arrowPane.setTranslateY(0 - arrowPane.getScene().getHeight()/4); - } else { - racePane.setDividerPositions(1); - arrowPane.setScaleX(1); - arrowPane.setScaleY(1); - arrowPane.setTranslateX(0); - arrowPane.setTranslateY(0); - } + infoWrapper.setVisible(infoTableShow); boatInfoTable.refresh(); infoTableShow = !infoTableShow; } diff --git a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml index debda5da..1404636d 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/newRaceView.fxml @@ -1,12 +1,21 @@ + + + + + + + + + @@ -19,106 +28,125 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - -