You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.2 KiB
85 lines
3.2 KiB
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.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;
|
|
|
|
/**
|
|
* Created by michael on 24/09/2016.
|
|
*/
|
|
public class PieChooserController extends Controller{
|
|
|
|
@FXML
|
|
ChoiceBox datatypechooser;
|
|
@FXML
|
|
ListView graph_options;
|
|
@FXML
|
|
CheckBox usefilter;
|
|
|
|
|
|
ObservableList airportOptions = FXCollections.observableArrayList("Name", "ICAO", "IATA FFA", "Altitude",
|
|
"City", "Country");
|
|
|
|
ObservableList airlineOptions = FXCollections.observableArrayList("Name", "ICAO", "IATA", "Active", "Country");
|
|
|
|
ObservableList routeOptions = FXCollections.observableArrayList("Stops", "Codeshare", "Equipment", "Airline",
|
|
"Departure Airport", "Arival airport");
|
|
|
|
ArrayList<ObservableList> allOptions = new ArrayList<ObservableList>();
|
|
|
|
|
|
public void toBarGraphChooser(){replaceSceneContent(SceneCode.BAR_GRAPH_CHOOSER);}
|
|
|
|
public void buildGraph() {
|
|
Session currentsession = this.getParent().getSession();
|
|
ArrayList<String> temp = new ArrayList<String>();
|
|
currentsession.setSelectedDataToGraph(datatypechooser.getSelectionModel().getSelectedItem().toString());
|
|
currentsession.setSelectedgraphagainst(graph_options.getSelectionModel().getSelectedItem().toString());
|
|
currentsession.setUsefilter(usefilter.isSelected());
|
|
currentsession.setForceGraph(Boolean.FALSE);
|
|
replaceSceneContent(SceneCode.AIRPORT_ANALYSER);
|
|
}
|
|
|
|
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<Number>() {
|
|
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
|
|
changeTables();
|
|
}
|
|
});
|
|
graph_options.setItems(airportOptions);
|
|
graph_options.getSelectionModel().selectFirst();
|
|
allOptions.add(airportOptions);
|
|
allOptions.add(airlineOptions);
|
|
allOptions.add(routeOptions);
|
|
}
|
|
|
|
public void newFilter(){
|
|
if (datatypechooser.getSelectionModel().getSelectedItem().toString() == "Airports"){
|
|
createPopUpStage(SceneCode.AIRPORT_FILTER, 600, 330);
|
|
}
|
|
else if (datatypechooser.getSelectionModel().getSelectedItem().toString() == "Airlines"){
|
|
createPopUpStage(SceneCode.AIRLINE_FILTER, 600, 330);
|
|
}
|
|
else if (datatypechooser.getSelectionModel().getSelectedItem().toString() == "Routes"){
|
|
createPopUpStage(SceneCode.ROUTE_FILTER, 600, 330);
|
|
}
|
|
}
|
|
} |