diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java
index 72e98838..c1bd32d3 100644
--- a/src/main/java/seng302/App.java
+++ b/src/main/java/seng302/App.java
@@ -6,10 +6,6 @@ import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
-import seng302.Controllers.Controller;
-import seng302.Controllers.MainController;
-
-import java.io.InputStream;
public class App extends Application {
Stage primaryStage;
@@ -25,54 +21,66 @@ public class App extends Application {
launch(args);
}
- /**
- * Loads and sets up the GUI elements
- *
- * @param primaryStage Base for all scenes
- * @throws Exception Error in initialising programme
- */
- @Override
- public void start(Stage primaryStage) throws Exception {
- this.primaryStage = primaryStage;
- primaryStage.minHeightProperty().setValue(600);
- primaryStage.minWidthProperty().setValue(780);
- //load the first container
- try {
- FXMLLoader loader = new FXMLLoader();
- InputStream in = getClass().getClassLoader().getResourceAsStream("scenes/mainpane.fxml");
- mainContainer = (BorderPane) loader.load(in);
- mainScene = new Scene(mainContainer, 1200, 800);
- primaryStage.setScene(mainScene);
- primaryStage.sizeToScene();
- MainController mainController = (MainController) loader.getController();
- mainController.setParent(this);
- in.close();
- //add the center
- loadPane("racepane.fxml");
- } catch (Exception e) {
- e.printStackTrace();
- }
- primaryStage.show();
- }
+ public void start(Stage stage) throws Exception {
- /**
- * Loads panes for use in the GUI
- *
- * @param fxmlName name of resource fxml file
- * @throws Exception critical error in loading file
- */
- public void loadPane(String fxmlName) throws Exception {
- FXMLLoader loader = new FXMLLoader();
- InputStream in = getClass().getClassLoader().getResourceAsStream("scenes/" + fxmlName);
- Parent page;
- try {
- page = (Parent) loader.load(in);
- } finally {
- in.close();
- }
- mainContainer.getChildren().remove(mainContainer.getCenter());
- mainContainer.setCenter(page);
- Controller controller = (Controller) loader.getController();
- controller.setParent(this);
+ FXMLLoader loader = new FXMLLoader(getClass().getResource("/scenes/main.fxml"));
+ Parent root = loader.load();
+ Scene scene = new Scene(root, 1050, 835);
+ stage.setScene(scene);
+ stage.setMinHeight(800);
+ stage.setMinWidth(1200);
+ stage.show();
}
+
+
+// /**
+// * Loads and sets up the GUI elements
+// *
+// * @param primaryStage Base for all scenes
+// * @throws Exception Error in initialising programme
+// */
+// @Override
+// public void start(Stage primaryStage) throws Exception {
+// this.primaryStage = primaryStage;
+// primaryStage.minHeightProperty().setValue(600);
+// primaryStage.minWidthProperty().setValue(780);
+// //load the first container
+// try {
+// FXMLLoader loader = new FXMLLoader();
+// InputStream in = getClass().getClassLoader().getResourceAsStream("scenes/main.fxml");
+// mainContainer = (BorderPane) loader.load(in);
+// mainScene = new Scene(mainContainer, 1200, 800);
+// primaryStage.setScene(mainScene);
+// primaryStage.sizeToScene();
+// MainController mainController = (MainController) loader.getController();
+// mainController.setParent(this);
+// in.close();
+// //add the center
+// loadPane("race.fxml");
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// primaryStage.show();
+// }
+//
+// /**
+// * Loads panes for use in the GUI
+// *
+// * @param fxmlName name of resource fxml file
+// * @throws Exception critical error in loading file
+// */
+// public void loadPane(String fxmlName) throws Exception {
+// FXMLLoader loader = new FXMLLoader();
+// InputStream in = getClass().getClassLoader().getResourceAsStream("scenes/" + fxmlName);
+// Parent page;
+// try {
+// page = (Parent) loader.load(in);
+// } finally {
+// in.close();
+// }
+// mainContainer.getChildren().remove(mainContainer.getCenter());
+// mainContainer.setCenter(page);
+// Controller controller = (Controller) loader.getController();
+// controller.setParent(this);
+// }
}
diff --git a/src/main/java/seng302/Controllers/Controller.java b/src/main/java/seng302/Controllers/Controller.java
index 792acd2c..0b1ed991 100644
--- a/src/main/java/seng302/Controllers/Controller.java
+++ b/src/main/java/seng302/Controllers/Controller.java
@@ -11,27 +11,17 @@ import java.util.ResourceBundle;
* Created by fwy13 on 15/03/2017.
*/
public abstract class Controller implements Initializable {
- protected App parent;
+ protected Controller parent;
/**
* Sets the parent of the application
*
* @param parent controller
*/
- public void setParent(App parent) {
+ public void setParent(Controller parent) {
this.parent = parent;
}
- /**
- * Sets the loads a pane into the parent.
- *
- * @param fxmlName fxml resource file to be loaded
- * @throws Exception error in loading file
- */
- public void loadPane(String fxmlName) throws Exception {
- this.parent.loadPane(fxmlName);
- }
-
/**
* Initialisation class that is run on start up.
*
diff --git a/src/main/java/seng302/Controllers/MainController.java b/src/main/java/seng302/Controllers/MainController.java
index fe6922a0..9058a305 100644
--- a/src/main/java/seng302/Controllers/MainController.java
+++ b/src/main/java/seng302/Controllers/MainController.java
@@ -1,5 +1,9 @@
package seng302.Controllers;
+import javafx.fxml.FXML;
+import javafx.scene.control.SplitPane;
+import javafx.scene.layout.GridPane;
+
import java.net.URL;
import java.util.ResourceBundle;
@@ -7,6 +11,11 @@ import java.util.ResourceBundle;
* Created by fwy13 on 15/03/2017.
*/
public class MainController extends Controller {
+ @FXML StartController startController;
+ @FXML RaceController raceController;
+
+
+
/**
* Main Controller for the applications will house the menu and the displayed pane.
@@ -16,6 +25,7 @@ public class MainController extends Controller {
*/
@Override
public void initialize(URL location, ResourceBundle resources) {
-
+ startController.setParent(this);
+ raceController.setParent(this);
}
}
diff --git a/src/main/java/seng302/Controllers/RaceController.java b/src/main/java/seng302/Controllers/RaceController.java
index 7fb037d2..a83401cd 100644
--- a/src/main/java/seng302/Controllers/RaceController.java
+++ b/src/main/java/seng302/Controllers/RaceController.java
@@ -1,14 +1,12 @@
package seng302.Controllers;
-import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
-import javafx.util.Callback;
import org.xml.sax.SAXException;
import seng302.Model.*;
import seng302.RaceXMLReader;
@@ -31,7 +29,7 @@ public class RaceController extends Controller {
@FXML
GridPane startScreen;
@FXML
- SplitPane ongoingRacePane;
+ SplitPane racepane;
@FXML
CheckBox showFPS;
@FXML
@@ -79,26 +77,6 @@ public class RaceController extends Controller {
boatPlacingColumn.setCellValueFactory(cellData -> cellData.getValue().positionProperty());
}
- /**
- * Begins the race with a scale factor of 15
- */
- public void startRace1Min() {
- startRace(15);
- }
-
- /**
- * Begins the race with a scale factor of 3
- */
- public void startRace5Min() {
- startRace(3);
- }
-
- /**
- * Begins the race with a scale factor of 1
- */
- public void startRaceNoScaling() {
- startRace(1);
- }
@Override
public void initialize(URL location, ResourceBundle resources) {
@@ -163,7 +141,7 @@ public class RaceController extends Controller {
canvasBase.getChildren().add(raceMap);
startScreen.setVisible(false);
- ongoingRacePane.setVisible(true);
+ racepane.setVisible(true);
initializeFPS();
diff --git a/src/main/java/seng302/Controllers/StartController.java b/src/main/java/seng302/Controllers/StartController.java
new file mode 100644
index 00000000..0429e15d
--- /dev/null
+++ b/src/main/java/seng302/Controllers/StartController.java
@@ -0,0 +1,43 @@
+package seng302.Controllers;
+
+import java.net.URL;
+import java.util.ResourceBundle;
+
+/**
+ * Created by esa46 on 6/04/17.
+ */
+public class StartController extends Controller {
+
+
+ /**
+ * Begins the race with a scale factor of 15
+ */
+ public void startRace1Min() {
+ startRace(15);
+ }
+
+ /**
+ * Begins the race with a scale factor of 3
+ */
+ public void startRace5Min() {
+ startRace(3);
+ }
+
+ /**
+ * Begins the race with a scale factor of 1
+ */
+ public void startRaceNoScaling() {
+ startRace(1);
+ }
+
+ private void startRace(Integer raceScale){
+
+ }
+
+ @Override
+ public void initialize(URL location, ResourceBundle resources){
+
+ }
+
+
+}
diff --git a/src/main/resources/scenes/main.fxml b/src/main/resources/scenes/main.fxml
new file mode 100644
index 00000000..d94c8b59
--- /dev/null
+++ b/src/main/resources/scenes/main.fxml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/scenes/mainpane.fxml b/src/main/resources/scenes/mainpane.fxml
deleted file mode 100644
index ca502553..00000000
--- a/src/main/resources/scenes/mainpane.fxml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/src/main/resources/scenes/race.fxml b/src/main/resources/scenes/race.fxml
new file mode 100644
index 00000000..2f626404
--- /dev/null
+++ b/src/main/resources/scenes/race.fxml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/scenes/racepane.fxml b/src/main/resources/scenes/racepane.fxml
deleted file mode 100644
index f7e5c19f..00000000
--- a/src/main/resources/scenes/racepane.fxml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/main/resources/scenes/start.fxml b/src/main/resources/scenes/start.fxml
new file mode 100644
index 00000000..9b9bd851
--- /dev/null
+++ b/src/main/resources/scenes/start.fxml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file