GUI displays all fields and altered some GUI

This commit is contained in:
Sunguin Peng
2016-09-16 12:07:15 +12:00
parent de9cee785c
commit 0cfffd258c
10 changed files with 143 additions and 97 deletions
@@ -236,6 +236,7 @@ public class Dataset {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
createDataLinks();
}
/**
@@ -735,14 +736,18 @@ public class Dataset {
public void createDataLinks(){
//this may be seperated into more sepearate function in the future for time optimisation
HashMap<String, Airline> airlineByIATA= new HashMap<String, Airline>();
//create Airline country link
for (Airline airline: airlines){
airlineByIATA.put(airline.getAlias(), airline);
//System.out.println(airline.getAlias());
airline.setCountry(countryDictionary.get(airline.getCountryName()));
}
//create Airport City and Country Link
HashMap<String, Airport> airportsByIATA = new HashMap<String, Airport>(); //this is used later for connecting the routes
HashMap<String, Airport> airportsByICAO = new HashMap<String, Airport>(); //this is used later for connecting the routes
for (Airport airport: airports){
//System.out.println(airport.getIATA_FFA());
airportsByIATA.put(airport.getIATA_FFA(), airport);
airportsByICAO.put(airport.getICAO(), airport);
airport.setCountry(countryDictionary.get(airport.getCountryName()));
@@ -762,7 +767,7 @@ public class Dataset {
}else{
route.setDestinationAirport(airportsByIATA.get(route.getArrivalAirport()));
}
route.setAirline(airlineDictionary.get(route.getAirlineName()));
route.setAirline(airlineByIATA.get(route.getAirlineName()));
}
System.out.println("Links Made");
}
@@ -254,6 +254,31 @@ public class Airport {
return country;
}
//JavaDoc needed
public Double getTimezone() {
if (this.city != null) {
return this.city.getTimezone();
}else{
return 0.0;
}
}
//JavaDoc needed
public String getDST() {
if (this.country != null) {
return this.country.getDST();
}else{
return "";
}
}
//JavaDoc needed
public String getTz() {
if (this.city != null) {
return this.city.getTimeOlson();
}else{
return "";
}
}
/**
* set country class associated with this airport
* @param country
@@ -120,6 +120,31 @@ public class Route {
return ID;
}
}
//JavaDoc needed
public int getAirlineID() throws DataException {
if (this.airline != null) {
return this.getAirline().getID();
}else {
return 0;
}
}
public int getSourceID() throws DataException {
if (this.getSourceAirport() != null) {
return this.getSourceAirport().getID();
} else {
return 0;
}
}
public int getDestID() throws DataException {
if (this.getDestinationAirport() != null) {
return this.getDestinationAirport().getID();
} else {
return 0;
}
}
/**
* returns the number of stops the route stops.
* @return
@@ -1,11 +1,9 @@
package seng202.group9.GUI;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
@@ -47,7 +45,8 @@ public class AirlineRDController extends MenuController {
@FXML
private TextField airlCountryBox;
@FXML
private TextField airlActiveBox;
//private TextField airlActiveBox;
private ComboBox<String> airlActiveCBox;
App parent;
@@ -66,11 +65,13 @@ public class AirlineRDController extends MenuController {
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country"));
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CountryName"));
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
theDataSet = this.parent.getCurrentDataset();
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
//ObservableList<String> activeOptions= FXCollections.observableArrayList("Y", "N");
airlActiveCBox.getItems().addAll("Y", "N");
}
//Dummy function to test the add button.
@@ -84,14 +85,14 @@ public class AirlineRDController extends MenuController {
airlICAOBox.getText(),
airlCallsignBox.getText(),
airlCountryBox.getText(),
airlActiveBox.getText());
airlActiveCBox.getSelectionModel().getSelectedItem().toString());
airlNameBox.clear();
airlAliasBox.clear();
airlIATABox.clear();
airlICAOBox.clear();
airlCallsignBox.clear();
airlCountryBox.clear();
airlActiveBox.clear();
airlActiveCBox.getSelectionModel().clearSelection();
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
} catch ( Exception e ) {
Alert alert = new Alert(Alert.AlertType.ERROR);
@@ -1,6 +1,10 @@
package seng202.group9.GUI;
import com.sun.javafx.collections.ObservableListWrapper;
import javafx.beans.InvalidationListener;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableStringValue;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
@@ -41,11 +45,11 @@ public class AirportRDController extends MenuController{
@FXML
private TableColumn<Airport, String> airpAltitudecol;
@FXML
private TableColumn<Airport, City> airpTimezonecol;
private TableColumn<Airport, String> airpTimezonecol;
@FXML
private TableColumn<Airport, Country> airpDSTcol;
private TableColumn<Airport, String> airpDSTcol;
@FXML
private TableColumn<Airport, City> airpTzcol;
private TableColumn<Airport, String> airpTzcol;
@FXML
private TextField airpNameBox;
@@ -66,7 +70,7 @@ public class AirportRDController extends MenuController{
@FXML
private TextField airpTimezoneBox;
@FXML
private TextField airpDSTBox;
private ComboBox<String> airpDSTCBox;
@FXML
private TextField airpTzBox;
@@ -82,18 +86,18 @@ public class AirportRDController extends MenuController{
public void loadTables() {
airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID"));
airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("City"));
airpCountrycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Country"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("CityName"));
airpCountrycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("CountryName"));
airpIATAFFAcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("IATA_FFA"));
airpICAOcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ICAO"));
airpLatitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Latitude"));
airpLongitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Longitude"));
airpAltitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Altitude"));
airpTimezonecol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Timezone"));
airpDSTcol.setCellValueFactory(new PropertyValueFactory<Airport, Country>("DST"));
airpTzcol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Tz"));
airpAltitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String> ("Altitude"));
airpTimezonecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Timezone"));
airpDSTcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("DST"));
airpTzcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Tz"));
// airpTimezonecol.setCellFactory(new Callback<TableColumn<Airport, String>, TableCell<Airport, City>>() {
// airpTimezonecol.setCellFactory(new Callback<TableColumn<Airport, String>, TableCell<Airport, String>>() {
//
// @Override
// public TableCell<Airport, City> call(TableColumn<Airport, City> param) {
@@ -112,6 +116,8 @@ public class AirportRDController extends MenuController{
// });
theDataSet = this.parent.getCurrentDataset();
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
airpDSTCBox.getItems().addAll("E", "A", "S", "O", "Z", "N", "U");
}
public void addAirportSingle() {
@@ -126,7 +132,7 @@ public class AirportRDController extends MenuController{
airpLongitudeBox.getText(),
airpAltitudeBox.getText(),
airpTimezoneBox.getText(),
airpDSTBox.getText(),
airpDSTCBox.getSelectionModel().getSelectedItem().toString(),
airpTzBox.getText());
airpCityBox.clear();
airpCountryBox.clear();
@@ -136,7 +142,7 @@ public class AirportRDController extends MenuController{
airpLongitudeBox.clear();
airpAltitudeBox.clear();
airpTimezoneBox.clear();
airpDSTBox.clear();
airpDSTCBox.getSelectionModel().clearSelection();
airpTzBox.clear();
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
} catch ( Exception e ) {
@@ -2,10 +2,7 @@ package seng202.group9.GUI;
import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.scene.control.Alert;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
@@ -40,17 +37,11 @@ public class RouteRDController extends MenuController {
@FXML
private TextField rAirlineBox;
@FXML
private TextField rAirlineIDBox;
@FXML
private TextField rSourceBox;
@FXML
private TextField rSourceIDBox;
@FXML
private TextField rDestBox;
@FXML
private TextField rDestIDBox;
@FXML
private TextField rCodeshareBox;
private ComboBox<String> rCodeshareCBox;
@FXML
private TextField rStopsBox;
@FXML
@@ -66,18 +57,20 @@ public class RouteRDController extends MenuController {
private Dataset theDataSet = null;
public void loadTables() {
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Airline"));
//rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
rAirlineCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineName"));
rAirlineIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("AirlineID"));
rSourceCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DepartureAirport"));
//rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
rSourceIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("SourceID"));
rDestCol.setCellValueFactory(new PropertyValueFactory<Route, String>("ArrivalAirport"));
//rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
rDestIDCol.setCellValueFactory(new PropertyValueFactory<Route, String>("DestID"));
rCodeshareCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Code"));
rStopsCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Stops"));
rEquipmentCol.setCellValueFactory(new PropertyValueFactory<Route, String>("Equipment"));
theDataSet = this.parent.getCurrentDataset();
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));
rCodeshareCBox.getItems().addAll("Y", "");
}
public void addRouteSingle() {
@@ -86,14 +79,14 @@ public class RouteRDController extends MenuController {
rAirlineBox.getText(),
rSourceBox.getText(),
rDestBox.getText(),
rCodeshareBox.getText(),
rCodeshareCBox.getSelectionModel().getSelectedItem().toString(),
rStopsBox.getText(),
rEquipmentBox.getText()
);
rAirlineBox.clear();
rSourceBox.clear();
rDestBox.clear();
rCodeshareBox.clear();
rCodeshareCBox.getSelectionModel().clearSelection();
rStopsBox.clear();
rEquipmentBox.clear();
tableViewRouteRD.setItems(FXCollections.observableArrayList(theDataSet.getRoutes()));