Added backend controllers which pass the selected options to their respected graphs when creating the graph.

main
Michael 9 years ago
parent e0f9f0c944
commit f6696e1859

@ -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;

@ -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<Integer, String> filteredAirlines;
private HashMap<Integer, String> filteredAirports;
private HashMap<Integer, String> filteredRoutes;
private String selectedgraphagainst;
private ArrayList<String> selectedgraphoptions;
private Boolean usefilter;
public String getSelectedgraphagainst() {
return selectedgraphagainst;
}
public void setSelectedgraphagainst(String selectedgraphagainst) {
this.selectedgraphagainst = selectedgraphagainst;
}
public ArrayList<String> getSelectedgraphoptions() {
return selectedgraphoptions;
}
public void setSelectedgraphoptions(ArrayList<String> 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<Integer, String> getFilteredRoutes() {
return filteredRoutes;
}
}

@ -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<ObservableList> allOptions = new ArrayList<ObservableList>();
public void buildGraph() {
Session currentsession = this.getParent().getSession();
ArrayList<String> temp = new ArrayList<String>();
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();

@ -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<ObservableList> allOptions = new ArrayList<ObservableList>();
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<String> temp = new ArrayList<String>();
currentsession.setSelectedgraphagainst(graph_options.getSelectionModel().getSelectedItem().toString());
currentsession.setUsefilter(usefilter.isSelected());
replaceSceneContent(SceneCode.AIRPORT_ANALYSER);
}
public void changeTables(){
int temp = datatypechooser.getSelectionModel().getSelectedIndex();

@ -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);
}

@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ChoiceBox?>
@ -12,7 +17,7 @@
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.45" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.BarChooserController">
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.BarChooserController">
<children>
<ScrollPane prefHeight="800.0" prefWidth="800.0">
<content>
@ -58,6 +63,7 @@
</HBox>
<Button layoutX="244.0" layoutY="400.0" mnemonicParsing="false" onAction="#buildGraph" text="Build Graph" />
<Button layoutX="400.0" layoutY="400.0" mnemonicParsing="false" onAction="#returnToSelection" text="Change Graph Type" />
<CheckBox fx:id="usefilter" layoutX="277.0" layoutY="449.0" mnemonicParsing="false" text="Use filters from Raw Data or here." />
</children>
</AnchorPane>
</content>

@ -1,5 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ChoiceBox?>
@ -12,7 +17,7 @@
<?import javafx.scene.text.Font?>
<?import javafx.scene.text.Text?>
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.45" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.PieChooserController">
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.PieChooserController">
<children>
<ScrollPane prefHeight="800.0" prefWidth="800.0">
<content>
@ -49,6 +54,8 @@
</padding>
<children>
<ChoiceBox fx:id="datatypechooser" layoutY="14.0" prefWidth="150.0" />
<Label layoutX="-6.0" layoutY="120.0" text="Values to be Graphed." />
<Label layoutX="15.0" layoutY="-7.0" text="Data Type Used" />
</children>
</Pane>
</children>
@ -56,7 +63,8 @@
</children>
</HBox>
<Button layoutX="234.0" layoutY="413.0" mnemonicParsing="false" onAction="#buildGraph" text="Build Graph" />
<Button layoutX="462.0" layoutY="413.0" mnemonicParsing="false" onAction="#returnToSelection" text="Change Graph Type" />
<Button layoutX="462.0" layoutY="413.0" mnemonicParsing="false" onAction="#toBarGraphChooser" text="Change Graph Type" />
<CheckBox fx:id="usefilter" layoutX="356.0" layoutY="464.0" mnemonicParsing="false" text="Use filters from Raw Data" />
</children>
</AnchorPane>
</content>

Loading…
Cancel
Save