From b7308f19207a2f5c8ca2de1c07bac75135aabc85 Mon Sep 17 00:00:00 2001 From: Sunguin Date: Mon, 26 Sep 2016 14:50:49 +1300 Subject: [PATCH] Added a controller and a fxml file for getting started. --- .../java/seng202/group9/Controller/App.java | 38 ++++++---- .../seng202/group9/Controller/SceneCode.java | 2 +- .../group9/GUI/GettingStartedController.java | 33 ++++++++ .../seng202/group9/GUI/MenuController.java | 4 + src/main/resources/getting_started.fxml | 76 +++++++++++++++++++ src/main/resources/menu.fxml | 10 ++- src/main/resources/route_raw_data.fxml | 20 ++++- 7 files changed, 165 insertions(+), 18 deletions(-) create mode 100644 src/main/java/seng202/group9/GUI/GettingStartedController.java create mode 100644 src/main/resources/getting_started.fxml diff --git a/src/main/java/seng202/group9/Controller/App.java b/src/main/java/seng202/group9/Controller/App.java index bc481ea..a7cf27d 100644 --- a/src/main/java/seng202/group9/Controller/App.java +++ b/src/main/java/seng202/group9/Controller/App.java @@ -50,6 +50,23 @@ public class App extends Application @Override public void start(Stage primaryStage) { this.primaryStage = primaryStage; + //after all loading then load the previous session + try{ + FileInputStream fileIn = new FileInputStream("res/session.ser"); + ObjectInputStream objectIn = new ObjectInputStream(fileIn); + session = (Session) objectIn.readObject(); + objectIn.close(); + fileIn.close(); + }catch(IOException e){ + session = new Session(); + System.out.println("New Session File Created"); + }catch(ClassNotFoundException e){ + System.out.println("Missing Session Class"); + System.exit(1); + } catch (Exception e) { + session = new Session(); + e.printStackTrace(); + } //load the menu and the first container try { FXMLLoader loader = new FXMLLoader(); @@ -61,6 +78,9 @@ public class App extends Application primaryStage.sizeToScene(); menuController = (MenuController) loader.getController(); menuController.setApp(this); + + menuController.replaceSceneContent(SceneCode.INITIAL); + in.close(); } catch (Exception e) { e.printStackTrace(); @@ -78,25 +98,13 @@ public class App extends Application }catch (DataException e){ e.printStackTrace(); } - //after all loading then load the previous session - try{ - FileInputStream fileIn = new FileInputStream("res/session.ser"); - ObjectInputStream objectIn = new ObjectInputStream(fileIn); - session = (Session) objectIn.readObject(); - Controller controller = (Controller) replaceSceneContent(session.getSceneDisplayed()); + Controller controller = null; + try { + controller = (Controller) replaceSceneContent(session.getSceneDisplayed()); controller.setApp(this); controller.load(); controller.loadOnce(); - objectIn.close(); - fileIn.close(); - }catch(IOException e){ - session = new Session(); - System.out.println("New Session File Created"); - }catch(ClassNotFoundException e){ - System.out.println("Missing Session Class"); - System.exit(1); } catch (Exception e) { - session = new Session(); e.printStackTrace(); } } diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java index eb6844b..e8d103e 100644 --- a/src/main/java/seng202/group9/Controller/SceneCode.java +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -5,7 +5,7 @@ package seng202.group9.Controller; * SceneCode enum is used for Serialization of sessions as well as changing the GUI state from one to the other. */ public enum SceneCode { - INITIAL(""), AIRLINE_SUMMARY("airline_summary.fxml"), AIRLINE_RAW_DATA("airline_raw_data.fxml"), + INITIAL("getting_started.fxml"), AIRLINE_SUMMARY("airline_summary.fxml"), AIRLINE_RAW_DATA("airline_raw_data.fxml"), AIRPORT_SUMMARY("airport_summary.fxml"), AIRPORT_RAW_DATA("airport_raw_data.fxml"), ROUTE_SUMMARY("routes_summary.fxml"), ROUTE_RAW_DATA("route_raw_data.fxml"), FLIGHT_SUMMARY("flight_data_summary.fxml"), FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml"), diff --git a/src/main/java/seng202/group9/GUI/GettingStartedController.java b/src/main/java/seng202/group9/GUI/GettingStartedController.java new file mode 100644 index 0000000..c241f96 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/GettingStartedController.java @@ -0,0 +1,33 @@ +package seng202.group9.GUI; + +import seng202.group9.Controller.SceneCode; + +/** + * Created by spe76 on 26/09/16. + */ +public class GettingStartedController extends Controller { + + public void load() { + + } + + public void importAirlines() { + Importer importer = new Importer(SceneCode.AIRLINE_RAW_DATA, getParent(), getParent().getPrimaryStage()); + } + + public void importAirports() { + Importer importer = new Importer(SceneCode.AIRPORT_RAW_DATA, getParent(), getParent().getPrimaryStage()); + } + + public void importRoutes() { + Importer importer = new Importer(SceneCode.ROUTE_RAW_DATA, getParent(), getParent().getPrimaryStage()); + } + + public void importFlightData() { + Importer importer = new Importer(SceneCode.FLIGHT_RAW_DATA, getParent(), getParent().getPrimaryStage()); + } + + public void goToAirlineSummary() { + replaceSceneContent(SceneCode.AIRLINE_SUMMARY); + } +} diff --git a/src/main/java/seng202/group9/GUI/MenuController.java b/src/main/java/seng202/group9/GUI/MenuController.java index f530c9e..96eab73 100644 --- a/src/main/java/seng202/group9/GUI/MenuController.java +++ b/src/main/java/seng202/group9/GUI/MenuController.java @@ -74,6 +74,10 @@ public class MenuController extends Controller{ replaceSceneContent(SceneCode.FLIGHT_RAW_DATA); } + public void goToGettingStarted() { + replaceSceneContent(SceneCode.INITIAL); + } + public void load() { //nothing to load } diff --git a/src/main/resources/getting_started.fxml b/src/main/resources/getting_started.fxml new file mode 100644 index 0000000..da88619 --- /dev/null +++ b/src/main/resources/getting_started.fxml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/menu.fxml b/src/main/resources/menu.fxml index e6d61d5..4a9cd9e 100644 --- a/src/main/resources/menu.fxml +++ b/src/main/resources/menu.fxml @@ -1,12 +1,15 @@ + + + - + @@ -49,6 +52,11 @@ + + + + + diff --git a/src/main/resources/route_raw_data.fxml b/src/main/resources/route_raw_data.fxml index 80775bf..3a7a3ce 100644 --- a/src/main/resources/route_raw_data.fxml +++ b/src/main/resources/route_raw_data.fxml @@ -1,5 +1,10 @@ + + + + + @@ -13,7 +18,7 @@ - + @@ -80,5 +85,18 @@ + +