From fdd0b30a51104b9be562a971182795b969f442ef Mon Sep 17 00:00:00 2001 From: hba56 Date: Wed, 16 Aug 2017 02:04:07 +1200 Subject: [PATCH 1/4] Added the ability to hide and show info table with a key press -the wind arrow also scales with the new size of the screen --- .../Controllers/RaceController.java | 30 +++++++++++++++++-- .../resources/visualiser/scenes/race.fxml | 6 +--- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index 3e4c1398..b62a1e99 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -10,7 +10,6 @@ import javafx.collections.transformation.SortedList; import javafx.fxml.FXML; import javafx.scene.chart.LineChart; import javafx.scene.control.*; -import javafx.scene.control.Label; import javafx.scene.input.KeyEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; @@ -23,7 +22,6 @@ import visualiser.gameController.ControllerClient; import visualiser.gameController.Keys.ControlKey; import visualiser.gameController.Keys.KeyFactory; import visualiser.model.*; -import visualiser.network.ServerConnection; import java.net.URL; import java.util.ResourceBundle; @@ -62,6 +60,11 @@ public class RaceController extends Controller { */ private Sparkline sparkline; + /** + * state of the info table + */ + private boolean infoTableShow; + /** * The arrow controller. */ @@ -106,10 +109,14 @@ public class RaceController extends Controller { @Override public void initialize(URL location, ResourceBundle resources) { KeyFactory keyFactory = KeyFactory.getFactory(); + infoTableShow = true; // Initialise keyboard handler race.addEventFilter(KeyEvent.KEY_PRESSED, event -> { String codeString = event.getCode().toString(); + + if (codeString.equals("TAB")){toggleTable();} + ControlKey controlKey = keyFactory.getKey(codeString); if(controlKey != null) { try { @@ -437,4 +444,23 @@ public class RaceController extends Controller { }.start(); } + private void toggleTable() { + if (infoTableShow){ + race.setDividerPositions(0.4); + + arrowPane.setScaleX(0.5); + arrowPane.setScaleY(0.5); + arrowPane.setTranslateX(0 + (arrowPane.getScene().getWidth()/4)*0.4); + arrowPane.setTranslateY(0 - arrowPane.getScene().getHeight()/4); + }else{ + race.setDividerPositions(1); + + arrowPane.setScaleX(1); + arrowPane.setScaleY(1); + arrowPane.setTranslateX(0); + arrowPane.setTranslateY(0); + } + infoTableShow = !infoTableShow; + } + } diff --git a/racevisionGame/src/main/resources/visualiser/scenes/race.fxml b/racevisionGame/src/main/resources/visualiser/scenes/race.fxml index 718e65ff..bbc1c077 100644 --- a/racevisionGame/src/main/resources/visualiser/scenes/race.fxml +++ b/racevisionGame/src/main/resources/visualiser/scenes/race.fxml @@ -1,9 +1,5 @@ - - - - @@ -26,7 +22,7 @@ - + From df2b674b94235d63ab02ffc772c0c25357c9a929 Mon Sep 17 00:00:00 2001 From: hwball Date: Thu, 17 Aug 2017 11:51:33 +1200 Subject: [PATCH 2/4] update scale for table displaying --- .idea/copyright/profiles_settings.xml | 3 --- .../main/java/visualiser/Controllers/RaceController.java | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 .idea/copyright/profiles_settings.xml diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml deleted file mode 100644 index e7bedf33..00000000 --- a/.idea/copyright/profiles_settings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index b62a1e99..5fe58894 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -445,12 +445,14 @@ public class RaceController extends Controller { } private void toggleTable() { + double tablePercent = 1 - (boatPlacingColumn.getPrefWidth() + boatTeamColumn.getPrefWidth() + boatMarkColumn.getPrefWidth() + boatSpeedColumn.getPrefWidth())/race.getWidth(); + if (infoTableShow){ - race.setDividerPositions(0.4); + race.setDividerPositions(tablePercent); arrowPane.setScaleX(0.5); arrowPane.setScaleY(0.5); - arrowPane.setTranslateX(0 + (arrowPane.getScene().getWidth()/4)*0.4); + arrowPane.setTranslateX(0 + (arrowPane.getScene().getWidth()/4)*tablePercent); arrowPane.setTranslateY(0 - arrowPane.getScene().getHeight()/4); }else{ race.setDividerPositions(1); From 3cf50c56f84e8acb5de835fc591e6057bd647882 Mon Sep 17 00:00:00 2001 From: hba56 Date: Thu, 17 Aug 2017 13:15:33 +1200 Subject: [PATCH 3/4] added a refresh for the info table so no new values are shown when the game is in full screen --- .../src/main/java/visualiser/Controllers/RaceController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index 5fe58894..d2729bfd 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -454,14 +454,17 @@ public class RaceController extends Controller { arrowPane.setScaleY(0.5); arrowPane.setTranslateX(0 + (arrowPane.getScene().getWidth()/4)*tablePercent); arrowPane.setTranslateY(0 - arrowPane.getScene().getHeight()/4); + }else{ race.setDividerPositions(1); - + arrowPane.setScaleX(1); arrowPane.setScaleY(1); arrowPane.setTranslateX(0); arrowPane.setTranslateY(0); + } + boatInfoTable.refresh(); infoTableShow = !infoTableShow; } From 02ab0e8a00306ffc0af4603d6573bc8251d354bf Mon Sep 17 00:00:00 2001 From: hba56 Date: Thu, 17 Aug 2017 13:16:47 +1200 Subject: [PATCH 4/4] added javadoc --- .../src/main/java/visualiser/Controllers/RaceController.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java index d2729bfd..9fd43b7a 100644 --- a/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java +++ b/racevisionGame/src/main/java/visualiser/Controllers/RaceController.java @@ -444,6 +444,9 @@ public class RaceController extends Controller { }.start(); } + /** + * toggles if the info table is shown + */ private void toggleTable() { double tablePercent = 1 - (boatPlacingColumn.getPrefWidth() + boatTeamColumn.getPrefWidth() + boatMarkColumn.getPrefWidth() + boatSpeedColumn.getPrefWidth())/race.getWidth(); @@ -457,7 +460,7 @@ public class RaceController extends Controller { }else{ race.setDividerPositions(1); - + arrowPane.setScaleX(1); arrowPane.setScaleY(1); arrowPane.setTranslateX(0);