diff --git a/src/main/java/seng202/group9/Controller/SceneCode.java b/src/main/java/seng202/group9/Controller/SceneCode.java index 588369c..3493d78 100644 --- a/src/main/java/seng202/group9/Controller/SceneCode.java +++ b/src/main/java/seng202/group9/Controller/SceneCode.java @@ -11,7 +11,8 @@ 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"); + ROUTE_FILTER("route_filter_form.fxml"),AIRPORT_DIST_CALC("airport_dist_calc.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/GUI/AnalyserController.java b/src/main/java/seng202/group9/GUI/AnalyserController.java new file mode 100644 index 0000000..671547c --- /dev/null +++ b/src/main/java/seng202/group9/GUI/AnalyserController.java @@ -0,0 +1,19 @@ +package seng202.group9.GUI; + +import seng202.group9.Controller.SceneCode; + +/** + * Created by michael on 24/09/2016. + */ +public class AnalyserController extends Controller{ + + public void barGraphButton(){ + replaceSceneContent(SceneCode.BAR_GRAPH_CHOOSER); + } + + public void pieGraphButton(){ + replaceSceneContent(SceneCode.PIE_GRAPH_CHOOSER); + } + + public void load() {} +} diff --git a/src/main/java/seng202/group9/GUI/BarChooserController.java b/src/main/java/seng202/group9/GUI/BarChooserController.java new file mode 100644 index 0000000..8d9085b --- /dev/null +++ b/src/main/java/seng202/group9/GUI/BarChooserController.java @@ -0,0 +1,66 @@ +package seng202.group9.GUI; + +import javafx.beans.Observable; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ChoiceBox; +import javafx.scene.control.ListView; +import javafx.scene.control.SelectionMode; +import seng202.group9.Controller.SceneCode; + +import java.util.ArrayList; + +/** + * Created by michael on 24/09/2016. + */ +public class BarChooserController extends Controller{ + + @FXML + ChoiceBox datatypechooser; + @FXML + ListView graph_against; + @FXML + ListView graph_options; + + ObservableList airportOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA FFA", "Altitude", + "Latitude", "Longitude", "City", "Country"); + + ObservableList airlineOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA", "Alias", + "Call Sign", "Active", "Country"); + + ObservableList routeOptions = FXCollections.observableArrayList("ID", "Stops", "Codeshare", "Equipment", "Airline", + "Departure Airport", "Arival airport"); + + ArrayList allOptions = new ArrayList(); + + public void buildGraph() { + + } + + public void returnToSelection(){replaceSceneContent(SceneCode.ANALYSER_TAB);} + + public void changeTables(){ + int temp = datatypechooser.getSelectionModel().getSelectedIndex(); + graph_against.setItems(allOptions.get(temp)); + graph_options.setItems(allOptions.get(temp)); + } + + public void load(){ + datatypechooser.setItems(FXCollections.observableArrayList("Airports","Airlines","Routes")); + datatypechooser.getSelectionModel().selectFirst(); + datatypechooser.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, Number oldValue, Number newValue) { + changeTables(); + } + }); + graph_against.setItems(airportOptions); + graph_options.setItems(airportOptions); + graph_options.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE); + allOptions.add(airportOptions); + allOptions.add(airlineOptions); + allOptions.add(routeOptions); + } +} diff --git a/src/main/java/seng202/group9/GUI/MenuController.java b/src/main/java/seng202/group9/GUI/MenuController.java index f530c9e..3dd1df1 100644 --- a/src/main/java/seng202/group9/GUI/MenuController.java +++ b/src/main/java/seng202/group9/GUI/MenuController.java @@ -60,6 +60,8 @@ public class MenuController extends Controller{ replaceSceneContent(SceneCode.ROUTE_SUMMARY); } + public void viewAnalyserMain() { replaceSceneContent(SceneCode.ANALYSER_TAB);} + /** * Load Flight Summary Function. */ diff --git a/src/main/java/seng202/group9/GUI/PieChooserController.java b/src/main/java/seng202/group9/GUI/PieChooserController.java new file mode 100644 index 0000000..7cdcaf6 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/PieChooserController.java @@ -0,0 +1,62 @@ +package seng202.group9.GUI; + +import javafx.beans.Observable; +import javafx.beans.value.ChangeListener; +import javafx.beans.value.ObservableValue; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ChoiceBox; +import javafx.scene.control.ListView; +import javafx.scene.control.SelectionMode; +import seng202.group9.Controller.SceneCode; + +import java.util.ArrayList; + +/** + * Created by michael on 24/09/2016. + */ +public class PieChooserController extends Controller{ + + @FXML + ChoiceBox datatypechooser; + @FXML + ListView graph_options; + + ObservableList airportOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA FFA", "Altitude", + "Latitude", "Longitude", "City", "Country"); + + ObservableList airlineOptions = FXCollections.observableArrayList("ID", "Name", "ICAO", "IATA", "Alias", + "Call Sign", "Active", "Country"); + + ObservableList routeOptions = FXCollections.observableArrayList("ID", "Stops", "Codeshare", "Equipment", "Airline", + "Departure Airport", "Arival airport"); + + ArrayList allOptions = new ArrayList(); + + public void buildGraph() { + + } + + public void returnToSelection(){replaceSceneContent(SceneCode.ANALYSER_TAB);} + + public void changeTables(){ + int temp = datatypechooser.getSelectionModel().getSelectedIndex(); + graph_options.setItems(allOptions.get(temp)); + } + + public void load(){ + datatypechooser.setItems(FXCollections.observableArrayList("Airports","Airlines","Routes")); + datatypechooser.getSelectionModel().selectFirst(); + datatypechooser.getSelectionModel().selectedIndexProperty().addListener(new ChangeListener() { + public void changed(ObservableValue observable, Number oldValue, Number newValue) { + changeTables(); + } + }); + + graph_options.setItems(airportOptions); + allOptions.add(airportOptions); + allOptions.add(airlineOptions); + allOptions.add(routeOptions); + } +} \ No newline at end of file diff --git a/src/main/java/seng202/group9/GUI/RouteAnalyser.java b/src/main/java/seng202/group9/GUI/RouteAnalyser.java index 241768b..9a07a06 100644 --- a/src/main/java/seng202/group9/GUI/RouteAnalyser.java +++ b/src/main/java/seng202/group9/GUI/RouteAnalyser.java @@ -38,7 +38,6 @@ public class RouteAnalyser extends Controller { XYChart.Series seriesDeparts = new XYChart.Series(); seriesArivals.setName("Arriving routes"); seriesDeparts.setName("Departs routes"); - System.out.println(useddata.keySet().size()); for (String airport : useddata.keySet()){ ArrayList temp = useddata.get(airport); seriesArivals.getData().add(new XYChart.Data(airport,temp.get(0))); diff --git a/src/main/resources/analyser_main_page.fxml b/src/main/resources/analyser_main_page.fxml new file mode 100644 index 0000000..4061d65 --- /dev/null +++ b/src/main/resources/analyser_main_page.fxml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +