From 132a729758caf242464b2d9c684a879497040150 Mon Sep 17 00:00:00 2001 From: Haoming Yin Date: Tue, 26 Sep 2017 15:49:16 +1300 Subject: [PATCH] Temporarily added more options in key binding dialog. But still need to implement binding after camera story has been merged into develop tags: #story[1273] --- src/main/java/seng302/model/GameKeyBind.java | 7 +- src/main/java/seng302/model/KeyAction.java | 7 +- .../dialogs/KeyBindingDialogController.java | 16 +- src/main/resources/css/Master.css | 5 + .../css/dialogs/KeyBindingDialog.css | 9 +- .../views/dialogs/KeyBindingDialog.fxml | 293 ++++++++++++------ 6 files changed, 239 insertions(+), 98 deletions(-) diff --git a/src/main/java/seng302/model/GameKeyBind.java b/src/main/java/seng302/model/GameKeyBind.java index 1c765adc..c25f6202 100644 --- a/src/main/java/seng302/model/GameKeyBind.java +++ b/src/main/java/seng302/model/GameKeyBind.java @@ -30,7 +30,12 @@ public class GameKeyBind { keys.add(KeyCode.ENTER); keys.add(KeyCode.PAGE_UP); keys.add(KeyCode.PAGE_DOWN); - for (int i = 0; i < 7; i++) { + keys.add(KeyCode.F1); + keys.add(KeyCode.D); + keys.add(KeyCode.A); + keys.add(KeyCode.W); + keys.add(KeyCode.S); + for (int i = 0; i < 12; i++) { actionToKeyMap.put(KeyAction.getType(i + 1), keys.get(i)); keyToActionMap.put(keys.get(i), KeyAction.getType(i + 1)); } diff --git a/src/main/java/seng302/model/KeyAction.java b/src/main/java/seng302/model/KeyAction.java index 1b8c2fa1..51509027 100644 --- a/src/main/java/seng302/model/KeyAction.java +++ b/src/main/java/seng302/model/KeyAction.java @@ -10,7 +10,12 @@ public enum KeyAction { SAILS_STATE(4), TACK_GYBE(5), UPWIND(6), - DOWNWIND(7); + DOWNWIND(7), + VIEW(8), + RIGHT(9), + LEFT(10), + FORWARD(11), + BACKWARD(12); private final int type; private static final Map intToTypeMap = new HashMap<>(); diff --git a/src/main/java/seng302/visualiser/controllers/dialogs/KeyBindingDialogController.java b/src/main/java/seng302/visualiser/controllers/dialogs/KeyBindingDialogController.java index 2a286ec4..c650bc59 100644 --- a/src/main/java/seng302/visualiser/controllers/dialogs/KeyBindingDialogController.java +++ b/src/main/java/seng302/visualiser/controllers/dialogs/KeyBindingDialogController.java @@ -48,6 +48,16 @@ public class KeyBindingDialogController implements Initializable { private Label downwindLabel; @FXML private JFXToggleButton turningToggle; + @FXML + private JFXButton viewButton; + @FXML + private JFXButton rightButton; + @FXML + private JFXButton leftButton; + @FXML + private JFXButton forwardButton; + @FXML + private JFXButton backwardButton; //---------FXML END---------// private GameKeyBind gameKeyBind; @@ -60,7 +70,9 @@ public class KeyBindingDialogController implements Initializable { gameKeyBind = GameKeyBind.getInstance(); buttons = new ArrayList<>(); Collections.addAll(buttons, - zoomInbtn, zoomOutBtn, vmgBtn, sailInOutBtn, tackGybeBtn, upwindBtn, downwindBtn); + zoomInbtn, zoomOutBtn, vmgBtn, sailInOutBtn, tackGybeBtn, upwindBtn, downwindBtn, + viewButton, + rightButton, leftButton, forwardButton, backwardButton); bindButtonWithAction(); loadKeyBind(); @@ -106,7 +118,7 @@ public class KeyBindingDialogController implements Initializable { */ private void bindButtonWithAction() { buttonActionMap = new HashMap<>(); - for (int i = 0; i < 7; i++) { + for (int i = 0; i < 12; i++) { buttonActionMap.put(buttons.get(i), KeyAction.getType(i + 1)); } } diff --git a/src/main/resources/css/Master.css b/src/main/resources/css/Master.css index cb50a645..478d7cf0 100644 --- a/src/main/resources/css/Master.css +++ b/src/main/resources/css/Master.css @@ -51,6 +51,11 @@ /********* customised scroll bar for scroll pane ***********/ +.scroll-pane { + -fx-focus-traversable: false; + -fx-border-style: none; +} + /* The main scrollbar **track** CSS class */ .scroll-bar:horizontal .track, .scroll-bar:vertical .track { diff --git a/src/main/resources/css/dialogs/KeyBindingDialog.css b/src/main/resources/css/dialogs/KeyBindingDialog.css index 8d09e130..6c7bff26 100644 --- a/src/main/resources/css/dialogs/KeyBindingDialog.css +++ b/src/main/resources/css/dialogs/KeyBindingDialog.css @@ -9,8 +9,13 @@ } #closeLabel:hover { - -fx-text-fill: -fx-pp-theme-color; - -fx-font-size: 33; + -fx-text-fill: red; + -fx-font-size: 33px; +} + +.sectionLabel { + -fx-text-fill: -fx-pp-dark-text-color; + -fx-font-size: 20px; } JFXButton { diff --git a/src/main/resources/views/dialogs/KeyBindingDialog.fxml b/src/main/resources/views/dialogs/KeyBindingDialog.fxml index 4a677797..7fcf2e7f 100644 --- a/src/main/resources/views/dialogs/KeyBindingDialog.fxml +++ b/src/main/resources/views/dialogs/KeyBindingDialog.fxml @@ -6,117 +6,226 @@ + + + + + + - - + - - - - - - - - - - + + - - - - -