diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java index 3493d78..a8c3d17 100644 --- a/src/main/java/seng202/group9/Controller/SceneCode.java +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -11,7 +11,7 @@ public enum SceneCode { FLIGHT_RAW_DATA("flight_raw_data.fxml"), AIRPORT_ANALYSER("airport_analyser.fxml"), ROUTE_ANALYSER("route_analyser.fxml"), AIRPORT_DIST_CALC("airport_dist_calc.fxml"), AIRLINE_ADD("airline_add_form.fxml"), AIRLINE_FILTER("airline_filter_form.fxml"), AIRPORT_ADD("airport_add_form.fxml"), AIRPORT_FILTER("airport_filter_form.fxml"), ROUTE_ADD("route_add_form.fxml"), - ROUTE_FILTER("route_filter_form.fxml"),AIRPORT_DIST_CALC("airport_dist_calc.fxml"), ANALYSER_TAB("analyser_main_page.fxml"), + ROUTE_FILTER("route_filter_form.fxml"),ANALYSER_TAB("analyser_main_page.fxml"), BAR_GRAPH_CHOOSER("bar_graph_chooser.fxml"), PIE_GRAPH_CHOOSER("pie_graph_chooser.fxml"); private String filePath; diff --git a/src/main/java/seng202/group9/Controller/Session.java b/src/main/java/seng202/group9/Controller/Session.java index c63461d..100fc9d 100644 --- a/src/main/java/seng202/group9/Controller/Session.java +++ b/src/main/java/seng202/group9/Controller/Session.java @@ -1,9 +1,10 @@ package seng202.group9.Controller; -import javafx.collections.ObservableList; + import seng202.group9.Core.Airline; import java.io.Serializable; +import java.util.ArrayList; import java.util.HashMap; /** @@ -11,10 +12,38 @@ import java.util.HashMap; * Users last session state is store here. */ public class Session implements Serializable { + private SceneCode sceneDisplayed; private HashMap filteredAirlines; private HashMap filteredAirports; private HashMap filteredRoutes; + private String selectedgraphagainst; + private ArrayList selectedgraphoptions; + private Boolean usefilter; + + public String getSelectedgraphagainst() { + return selectedgraphagainst; + } + + public void setSelectedgraphagainst(String selectedgraphagainst) { + this.selectedgraphagainst = selectedgraphagainst; + } + + public ArrayList getSelectedgraphoptions() { + return selectedgraphoptions; + } + + public void setSelectedgraphoptions(ArrayList selectedgraphoptions) { + this.selectedgraphoptions = selectedgraphoptions; + } + + public Boolean getUsefilter() { + return usefilter; + } + + public void setUsefilter(Boolean usefilter) { + this.usefilter = usefilter; + } /** * Constructor for a new session @@ -71,4 +100,5 @@ public class Session implements Serializable { public HashMap getFilteredRoutes() { return filteredRoutes; } + } diff --git a/src/main/java/seng202/group9/GUI/BarChooserController.java b/src/main/java/seng202/group9/GUI/BarChooserController.java index 8d9085b..cb5f1d0 100644 --- a/src/main/java/seng202/group9/GUI/BarChooserController.java +++ b/src/main/java/seng202/group9/GUI/BarChooserController.java @@ -6,10 +6,12 @@ import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.CheckBox; import javafx.scene.control.ChoiceBox; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; import seng202.group9.Controller.SceneCode; +import seng202.group9.Controller.Session; import java.util.ArrayList; @@ -24,6 +26,8 @@ public class BarChooserController extends Controller{ ListView graph_against; @FXML ListView graph_options; + @FXML + CheckBox usefilter; ObservableList airportOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA FFA", "Altitude", "Latitude", "Longitude", "City", "Country"); @@ -37,10 +41,17 @@ public class BarChooserController extends Controller{ ArrayList allOptions = new ArrayList(); public void buildGraph() { - + Session currentsession = this.getParent().getSession(); + ArrayList temp = new ArrayList(); + temp.addAll(graph_options.getSelectionModel().getSelectedItems()); + currentsession.setSelectedgraphoptions(temp); + currentsession.setUsefilter(usefilter.isSelected()); + currentsession.setSelectedgraphagainst(graph_options.getSelectionModel().getSelectedItem().toString()); + currentsession.setUsefilter(usefilter.isSelected()); + replaceSceneContent(SceneCode.ROUTE_ANALYSER); } - public void returnToSelection(){replaceSceneContent(SceneCode.ANALYSER_TAB);} + public void returnToSelection(){replaceSceneContent(SceneCode.PIE_GRAPH_CHOOSER);} public void changeTables(){ int temp = datatypechooser.getSelectionModel().getSelectedIndex(); diff --git a/src/main/java/seng202/group9/GUI/PieChooserController.java b/src/main/java/seng202/group9/GUI/PieChooserController.java index 7cdcaf6..88b0c4d 100644 --- a/src/main/java/seng202/group9/GUI/PieChooserController.java +++ b/src/main/java/seng202/group9/GUI/PieChooserController.java @@ -6,10 +6,12 @@ import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.fxml.FXML; +import javafx.scene.control.CheckBox; import javafx.scene.control.ChoiceBox; import javafx.scene.control.ListView; import javafx.scene.control.SelectionMode; import seng202.group9.Controller.SceneCode; +import seng202.group9.Controller.Session; import java.util.ArrayList; @@ -22,6 +24,9 @@ public class PieChooserController extends Controller{ ChoiceBox datatypechooser; @FXML ListView graph_options; + @FXML + CheckBox usefilter; + ObservableList airportOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA FFA", "Altitude", "Latitude", "Longitude", "City", "Country"); @@ -34,11 +39,16 @@ public class PieChooserController extends Controller{ ArrayList allOptions = new ArrayList(); - public void buildGraph() { - } + public void toBarGraphChooser(){replaceSceneContent(SceneCode.BAR_GRAPH_CHOOSER);} - public void returnToSelection(){replaceSceneContent(SceneCode.ANALYSER_TAB);} + public void buildGraph() { + Session currentsession = this.getParent().getSession(); + ArrayList temp = new ArrayList(); + currentsession.setSelectedgraphagainst(graph_options.getSelectionModel().getSelectedItem().toString()); + currentsession.setUsefilter(usefilter.isSelected()); + replaceSceneContent(SceneCode.AIRPORT_ANALYSER); + } public void changeTables(){ int temp = datatypechooser.getSelectionModel().getSelectedIndex(); diff --git a/src/main/java/seng202/group9/GUI/RouteAnalyser.java b/src/main/java/seng202/group9/GUI/RouteAnalyser.java index 9a07a06..2d66c79 100644 --- a/src/main/java/seng202/group9/GUI/RouteAnalyser.java +++ b/src/main/java/seng202/group9/GUI/RouteAnalyser.java @@ -43,6 +43,7 @@ public class RouteAnalyser extends Controller { seriesArivals.getData().add(new XYChart.Data(airport,temp.get(0))); seriesDeparts.getData().add(new XYChart.Data(airport,temp.get(1))); } + System.out.println(useddata.keySet().size()); //Gives the formatted data to the graph. analyserGraph.getData().addAll(seriesArivals,seriesDeparts); } diff --git a/src/main/resources/bar_graph_chooser.fxml b/src/main/resources/bar_graph_chooser.fxml index 1ba723d..f7581f5 100644 --- a/src/main/resources/bar_graph_chooser.fxml +++ b/src/main/resources/bar_graph_chooser.fxml @@ -1,5 +1,10 @@ + + + + + @@ -12,7 +17,7 @@ - + @@ -58,6 +63,7 @@