From 0feccdc8b9b4e9ff5c7d23c12a127f68b9e531c8 Mon Sep 17 00:00:00 2001 From: Michael Rausch Date: Thu, 7 Sep 2017 16:32:34 +1200 Subject: [PATCH] Replaced existing views with new views and controllers from the test repository. Tags: #pair[mra106, ajm412] #story[1245] --- pom.xml | 7 + src/main/java/seng302/App.java | 33 +-- .../java/seng302/visualiser/GameClient.java | 12 +- .../controllers/BoatCustomizeController.java | 26 ++ ....java => CustomizationController_old.java} | 6 +- .../FinishScreenViewController.java | 2 +- .../controllers/LobbyController.java | 266 +++--------------- .../controllers/LobbyController_old.java | 248 ++++++++++++++++ .../visualiser/controllers/PlayerCell.java | 48 ++++ .../visualiser/controllers/ServerCell.java | 73 +++++ .../controllers/ServerCreationController.java | 62 ++++ .../controllers/ServerListController.java | 66 +++++ .../controllers/StartScreenController.java | 191 +++---------- .../StartScreenController_old.java | 97 +++++++ .../visualiser/controllers/ViewManager.java | 41 +++ .../resources/css/BalooTammudu-Regular.ttf | Bin 0 -> 652392 bytes src/main/resources/css/LobbyView.css | 65 +++++ src/main/resources/css/PlayerCell.css | 12 + src/main/resources/css/ServerCell.css | 25 ++ src/main/resources/css/ServerCreate.css | 5 + src/main/resources/css/ServerCreation.css | 26 ++ src/main/resources/css/ServerListView.css | 65 +++++ src/main/resources/css/StartScreenView.css | 25 ++ src/main/resources/css/master.css | 227 ++++----------- src/main/resources/images/bg.jpg | Bin 0 -> 2692894 bytes src/main/resources/images/bg2.jpg | Bin 0 -> 2944211 bytes src/main/resources/images/bg3.jpg | Bin 0 -> 2648342 bytes src/main/resources/images/bg4.jpg | Bin 0 -> 4638348 bytes src/main/resources/images/bg5.jpg | Bin 0 -> 887250 bytes src/main/resources/images/bg6.jpg | Bin 0 -> 2944211 bytes src/main/resources/images/bg7.jpg | Bin 0 -> 355364 bytes src/main/resources/images/waves.jpg | Bin 0 -> 67956 bytes src/main/resources/images/waves.png | Bin 0 -> 279176 bytes src/main/resources/views/HostLobbyView.fxml | 63 ----- src/main/resources/views/LobbyView.fxml | 217 ++++++-------- src/main/resources/views/LobbyView_old.fxml | 135 +++++++++ src/main/resources/views/ServerListView.fxml | 111 ++++++++ src/main/resources/views/StartScreenView.fxml | 91 +++--- .../resources/views/StartScreenView_old.fxml | 69 +++++ src/main/resources/views/TestMapView.fxml | 10 - .../resources/views/cells/PlayerCell.fxml | 34 +++ .../resources/views/cells/ServerCell.fxml | 62 ++++ src/main/resources/views/customizeView.fxml | 2 +- .../views/dialogs/BoatCustomizeDialog.fxml | 62 ++++ .../views/dialogs/ServerCreationDialog.fxml | 64 +++++ 45 files changed, 1721 insertions(+), 827 deletions(-) create mode 100644 src/main/java/seng302/visualiser/controllers/BoatCustomizeController.java rename src/main/java/seng302/visualiser/controllers/{CustomizationController.java => CustomizationController_old.java} (92%) create mode 100644 src/main/java/seng302/visualiser/controllers/LobbyController_old.java create mode 100644 src/main/java/seng302/visualiser/controllers/PlayerCell.java create mode 100644 src/main/java/seng302/visualiser/controllers/ServerCell.java create mode 100644 src/main/java/seng302/visualiser/controllers/ServerCreationController.java create mode 100644 src/main/java/seng302/visualiser/controllers/ServerListController.java create mode 100644 src/main/java/seng302/visualiser/controllers/StartScreenController_old.java create mode 100644 src/main/java/seng302/visualiser/controllers/ViewManager.java create mode 100644 src/main/resources/css/BalooTammudu-Regular.ttf create mode 100644 src/main/resources/css/LobbyView.css create mode 100644 src/main/resources/css/PlayerCell.css create mode 100644 src/main/resources/css/ServerCell.css create mode 100644 src/main/resources/css/ServerCreate.css create mode 100644 src/main/resources/css/ServerCreation.css create mode 100644 src/main/resources/css/ServerListView.css create mode 100644 src/main/resources/css/StartScreenView.css create mode 100644 src/main/resources/images/bg.jpg create mode 100644 src/main/resources/images/bg2.jpg create mode 100644 src/main/resources/images/bg3.jpg create mode 100644 src/main/resources/images/bg4.jpg create mode 100644 src/main/resources/images/bg5.jpg create mode 100644 src/main/resources/images/bg6.jpg create mode 100644 src/main/resources/images/bg7.jpg create mode 100644 src/main/resources/images/waves.jpg create mode 100644 src/main/resources/images/waves.png delete mode 100644 src/main/resources/views/HostLobbyView.fxml create mode 100644 src/main/resources/views/LobbyView_old.fxml create mode 100644 src/main/resources/views/ServerListView.fxml create mode 100644 src/main/resources/views/StartScreenView_old.fxml delete mode 100644 src/main/resources/views/TestMapView.fxml create mode 100644 src/main/resources/views/cells/PlayerCell.fxml create mode 100644 src/main/resources/views/cells/ServerCell.fxml create mode 100644 src/main/resources/views/dialogs/BoatCustomizeDialog.fxml create mode 100644 src/main/resources/views/dialogs/ServerCreationDialog.fxml diff --git a/pom.xml b/pom.xml index fca06536..3aa99728 100644 --- a/pom.xml +++ b/pom.xml @@ -1,3 +1,4 @@ + 4.0.0 @@ -70,6 +71,12 @@ 1.4 + + com.jfoenix + jfoenix + 1.8.0 + + diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index 8c6f85ac..7739e99b 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -1,6 +1,7 @@ package seng302; import ch.qos.logback.classic.Level; +import com.jfoenix.controls.JFXDecorator; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; @@ -14,7 +15,7 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import seng302.model.PolarTable; +import seng302.visualiser.controllers.ViewManager; public class App extends Application { @@ -68,24 +69,24 @@ public class App extends Application { @Override public void start(Stage primaryStage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("/views/StartScreenView.fxml")); - primaryStage.setTitle("RaceVision"); - Scene scene = new Scene(root, 1530, 960); - scene.getStylesheets().add(getClass().getResource("/css/master.css").toString()); - primaryStage.setScene(scene); -// primaryStage.setMaxWidth(1530); -// primaryStage.setMaxHeight(960); - primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/PP.png"))); -// primaryStage.setMaximized(true); + primaryStage.setTitle("Party Parrots At Sea"); + JFXDecorator decorator = new JFXDecorator(primaryStage, root,false, true, true); + decorator.setCustomMaximize(true); + decorator.applyCss(); + decorator.getStylesheets() + .add(getClass().getResource("/css/master.css").toExternalForm()); + + ViewManager.getInstance().setDecorator(decorator); + + primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/PP.png"))); + Scene scene = new Scene(decorator, 1200, 800); + primaryStage.setMinHeight(800); + primaryStage.setMinWidth(1200); + primaryStage.setScene(scene); primaryStage.show(); - primaryStage.setOnCloseRequest(e -> { -// ClientPacketParser.appClose(); -// ClientPacketParser.appClose(); - System.exit(0); - }); - -// ClientState.primaryStage = primaryStage; + primaryStage.setOnCloseRequest(e -> System.exit(0)); } public static void main(String[] args) { diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java index 968d9a92..443342de 100644 --- a/src/main/java/seng302/visualiser/GameClient.java +++ b/src/main/java/seng302/visualiser/GameClient.java @@ -31,8 +31,8 @@ import seng302.model.stream.xml.parser.RegattaXMLData; import seng302.utilities.StreamParser; import seng302.utilities.XMLParser; import seng302.visualiser.controllers.FinishScreenViewController; -import seng302.visualiser.controllers.LobbyController; -import seng302.visualiser.controllers.LobbyController.CloseStatus; +import seng302.visualiser.controllers.LobbyController_old; +import seng302.visualiser.controllers.LobbyController_old.CloseStatus; import seng302.visualiser.controllers.RaceViewController; /** @@ -51,7 +51,7 @@ public class GameClient { private RegattaXMLData regattaData; private RaceXMLData courseData; private RaceState raceState = new RaceState(); - private LobbyController lobbyController; + private LobbyController_old lobbyController; private ObservableList clientLobbyList = FXCollections.observableArrayList(); @@ -77,7 +77,7 @@ public class GameClient { Platform.runLater(this::loadStartScreen); }); socketThread.addStreamObserver(this::parsePackets); - LobbyController lobbyController = loadLobby(); + LobbyController_old lobbyController = loadLobby(); lobbyController.setSocketThread(socketThread); lobbyController.setPlayerID(socketThread.getClientId()); lobbyController.setPlayerListSource(clientLobbyList); @@ -111,7 +111,7 @@ public class GameClient { socketThread.addDisconnectionListener((cause) -> { Platform.runLater(this::loadStartScreen); }); - LobbyController lobbyController = loadLobby(); + LobbyController_old lobbyController = loadLobby(); lobbyController.setSocketThread(socketThread); lobbyController.setPlayerID(socketThread.getClientId()); lobbyController.setPlayerListSource(clientLobbyList); @@ -176,7 +176,7 @@ public class GameClient { * * @return the lobby controller. */ - private LobbyController loadLobby() { + private LobbyController_old loadLobby() { FXMLLoader fxmlLoader = new FXMLLoader( GameClient.class.getResource("/views/LobbyView.fxml")); try { diff --git a/src/main/java/seng302/visualiser/controllers/BoatCustomizeController.java b/src/main/java/seng302/visualiser/controllers/BoatCustomizeController.java new file mode 100644 index 00000000..fdab7cc8 --- /dev/null +++ b/src/main/java/seng302/visualiser/controllers/BoatCustomizeController.java @@ -0,0 +1,26 @@ +package seng302.visualiser.controllers; + +import com.jfoenix.controls.JFXColorPicker; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.paint.Color; + +import java.net.URL; +import java.util.ResourceBundle; + +public class BoatCustomizeController implements Initializable{ + + @FXML + private JFXColorPicker colorPicker; + + @FXML + void colorChanged(ActionEvent event) { + Color color = colorPicker.getValue(); + } + + @Override + public void initialize(URL location, ResourceBundle resources) { + colorPicker.setValue(Color.BISQUE); + } +} diff --git a/src/main/java/seng302/visualiser/controllers/CustomizationController.java b/src/main/java/seng302/visualiser/controllers/CustomizationController_old.java similarity index 92% rename from src/main/java/seng302/visualiser/controllers/CustomizationController.java rename to src/main/java/seng302/visualiser/controllers/CustomizationController_old.java index 1a5b5e4d..de3090c1 100644 --- a/src/main/java/seng302/visualiser/controllers/CustomizationController.java +++ b/src/main/java/seng302/visualiser/controllers/CustomizationController_old.java @@ -9,7 +9,7 @@ import javafx.stage.Stage; import seng302.gameServer.messages.CustomizeRequestType; import seng302.visualiser.ClientToServerThread; -public class CustomizationController { +public class CustomizationController_old { @FXML private TextField nameField; @@ -20,7 +20,7 @@ public class CustomizationController { @FXML private Button customizeSubmit; - private LobbyController lc; + private LobbyController_old lc; private ClientToServerThread socketThread; private Stage windowStage; @@ -54,7 +54,7 @@ public class CustomizationController { windowStage.close(); } - public void setLobbyController(LobbyController lc) { + public void setLobbyController(LobbyController_old lc) { this.lc = lc; } diff --git a/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java b/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java index b2e49f1a..7a0fe2f2 100644 --- a/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java +++ b/src/main/java/seng302/visualiser/controllers/FinishScreenViewController.java @@ -85,6 +85,6 @@ public class FinishScreenViewController implements Initializable { } public void switchToStartScreenView() { - setContentPane("/views/StartScreenView.fxml"); + setContentPane("/views/StartScreenView_old.fxml"); } } diff --git a/src/main/java/seng302/visualiser/controllers/LobbyController.java b/src/main/java/seng302/visualiser/controllers/LobbyController.java index 4dc5293f..6cd9a2e2 100644 --- a/src/main/java/seng302/visualiser/controllers/LobbyController.java +++ b/src/main/java/seng302/visualiser/controllers/LobbyController.java @@ -1,248 +1,68 @@ package seng302.visualiser.controllers; -import com.sun.media.jfxmedia.logging.Logger; +import com.jfoenix.controls.JFXButton; +import com.jfoenix.controls.JFXDialog; +import com.jfoenix.controls.JFXDialog.DialogTransition; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.net.URL; +import java.util.ResourceBundle; import javafx.application.Platform; -import javafx.collections.ListChangeListener; -import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; -import javafx.scene.Parent; -import javafx.scene.Scene; -import javafx.scene.control.Button; -import javafx.scene.control.TextArea; -import javafx.scene.image.Image; -import javafx.scene.image.ImageView; -import javafx.scene.paint.Color; -import javafx.scene.text.Text; -import javafx.stage.Stage; -import seng302.gameServer.GameStages; -import seng302.gameServer.GameState; -import seng302.model.Colors; -import seng302.model.RaceState; -import seng302.visualiser.ClientToServerThread; +import javafx.fxml.Initializable; +import javafx.scene.control.ScrollPane; +import javafx.scene.layout.StackPane; +import javafx.scene.layout.VBox; -/** - * A class describing the actions of the lobby screen - * Created by wmu16 on 10/07/17. - */ -public class LobbyController { - - public enum CloseStatus { - LEAVE, - READY - } - - @FunctionalInterface - public interface LobbyCloseListener { - void notify(CloseStatus exitCause); - } +public class LobbyController implements Initializable { @FXML - private Text lobbyIpText; - @FXML - private Button readyButton; - @FXML - private Button customizeButton; - @FXML - private TextArea playerOneTxt; - @FXML - private TextArea playerTwoTxt; - @FXML - private TextArea playerThreeTxt; - @FXML - private TextArea playerFourTxt; - @FXML - private TextArea playerFiveTxt; - @FXML - private TextArea playerSixTxt; - @FXML - private TextArea playerSevenTxt; - @FXML - private TextArea playerEightTxt; - @FXML - private ImageView firstImageView; - @FXML - private ImageView secondImageView; - @FXML - private ImageView thirdImageView; - @FXML - private ImageView fourthImageView; - @FXML - private ImageView fifthImageView; - @FXML - private ImageView sixthImageView; - @FXML - private ImageView seventhImageView; - @FXML - private ImageView eighthImageView; - @FXML - private Text timeUntilStart; - @FXML - private Text courseNameText; + private VBox playerListVBox; - private List imageViews = new ArrayList<>(); - private List