Conflicts: src/main/java/seng202/group9/Controller/SceneCode.java src/main/java/seng202/group9/Controller/Session.java src/main/java/seng202/group9/GUI/AirportAnalyser.java src/main/java/seng202/group9/GUI/RouteAnalyser.javamain
commit
a666eeef83
Binary file not shown.
@ -0,0 +1,45 @@
|
||||
package seng202.group9.Core;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 2/10/16.
|
||||
*/
|
||||
public class Equipment {
|
||||
private String name;
|
||||
private HashMap<Integer, Route> routesUsed;
|
||||
|
||||
public Equipment(String name){
|
||||
this.name = name;
|
||||
routesUsed = new HashMap<>();
|
||||
}
|
||||
|
||||
public void resetRoutes(){
|
||||
routesUsed = new HashMap<>();
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public void addRoute(Route route){
|
||||
routesUsed.put(routesUsed.size(), route);
|
||||
}
|
||||
|
||||
public HashMap<Integer, Route> getRoutesUsed() {
|
||||
return routesUsed;
|
||||
}
|
||||
|
||||
public void setRoutesUsed(HashMap<Integer, Route> routesUsed) {
|
||||
this.routesUsed = routesUsed;
|
||||
}
|
||||
|
||||
public int getRouteNum(){
|
||||
return routesUsed.size();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.DataException;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.EntryParser;
|
||||
import seng202.group9.Controller.Session;
|
||||
import seng202.group9.Core.Airline;
|
||||
|
||||
|
||||
/**
|
||||
* The GUI controller class for airline_edit_form.fxml.
|
||||
* Extends from the abstract class {@link Controller}.
|
||||
* Created by Sunguin
|
||||
*/
|
||||
public class AirlineEditController extends Controller {
|
||||
//Setting up text fields for editing data.
|
||||
@FXML
|
||||
private TextField airlNameEdit;
|
||||
@FXML
|
||||
private TextField airlAliasEdit;
|
||||
@FXML
|
||||
private TextField airlIATAEdit;
|
||||
@FXML
|
||||
private TextField airlICAOEdit;
|
||||
@FXML
|
||||
private TextField airlCallsignEdit;
|
||||
@FXML
|
||||
private TextField airlCountryEdit;
|
||||
@FXML
|
||||
private TextField airlActiveEdit;
|
||||
@FXML
|
||||
private Button applyButton;
|
||||
|
||||
//Sets up an empty Dataset to be assigned to the current dataset.
|
||||
private Dataset theDataSet = null;
|
||||
//Sets up an empty session to be assigned to the current session.
|
||||
private Session currentSession = null;
|
||||
//Sets up an empty airline to be assigned to the airline being edited.
|
||||
private Airline toEdit = null;
|
||||
|
||||
|
||||
/**
|
||||
* Loads up the current dataset and current session.
|
||||
* Also gets the airline to be edited from the table.
|
||||
* Sets the text fields as the airline selected.
|
||||
*/
|
||||
public void load() {
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
currentSession = getParent().getSession();
|
||||
|
||||
toEdit = theDataSet.getAirlineDictionary().get(currentSession.getAirlineToEdit());
|
||||
|
||||
airlNameEdit.setText(toEdit.getName());
|
||||
airlAliasEdit.setText(toEdit.getAlias());
|
||||
airlIATAEdit.setText(toEdit.getIATA());
|
||||
airlICAOEdit.setText(toEdit.getICAO());
|
||||
airlCallsignEdit.setText(toEdit.getCallSign());
|
||||
airlCountryEdit.setText(toEdit.getCountryName());
|
||||
airlActiveEdit.setText(toEdit.getActive());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Edits the current airline and closes the popup window.
|
||||
* Takes in the values from the text fields.
|
||||
* @see Dataset
|
||||
*/
|
||||
public void editAirline() {
|
||||
//Tries to edit an airport and comes up with a popup if successful and exits the popup.
|
||||
//Otherwise an error message will pop up with what is wrong.
|
||||
try {
|
||||
EntryParser parser = new EntryParser();
|
||||
parser.parseAirline(airlNameEdit.getText(), airlAliasEdit.getText(), airlIATAEdit.getText(),
|
||||
airlICAOEdit.getText(), airlCallsignEdit.getText(), airlCountryEdit.getText(), airlActiveEdit.getText());
|
||||
theDataSet.editAirline(toEdit, airlNameEdit.getText(), airlAliasEdit.getText(), airlIATAEdit.getText(),
|
||||
airlICAOEdit.getText(), airlCallsignEdit.getText(), airlCountryEdit.getText(), airlActiveEdit.getText());
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Airline Edit Successful");
|
||||
alert.setHeaderText("Airline data edited!");
|
||||
alert.setContentText("Your airline data has been successfully edited.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) applyButton.getScene().getWindow();
|
||||
stage.close();
|
||||
} catch (DataException e) {
|
||||
System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.DataException;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.EntryParser;
|
||||
import seng202.group9.Controller.Session;
|
||||
import seng202.group9.Core.Airport;
|
||||
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/24.
|
||||
*/
|
||||
public class AirportEditController extends Controller {
|
||||
//Setting up text fields for adding data
|
||||
@FXML
|
||||
private TextField airpNameEdit;
|
||||
@FXML
|
||||
private TextField airpCityEdit;
|
||||
@FXML
|
||||
private TextField airpCountryEdit;
|
||||
@FXML
|
||||
private TextField airpIATAFAAEdit;
|
||||
@FXML
|
||||
private TextField airpICAOEdit;
|
||||
@FXML
|
||||
private TextField airpLatitudeEdit;
|
||||
@FXML
|
||||
private TextField airpLongitudeEdit;
|
||||
@FXML
|
||||
private TextField airpAltitudeEdit;
|
||||
@FXML
|
||||
private TextField airpTimezoneEdit;
|
||||
@FXML
|
||||
private TextField airpDSTEdit;
|
||||
@FXML
|
||||
private TextField airpTzEdit;
|
||||
@FXML
|
||||
private Button editButton;
|
||||
|
||||
//Set an empty Dataset to be assigned later
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
private Session currentSession = null;
|
||||
|
||||
private Airport toEdit = null;
|
||||
|
||||
public void editAirport() {
|
||||
try {
|
||||
EntryParser parser = new EntryParser();
|
||||
parser.parseAirport(airpNameEdit.getText(), airpCityEdit.getText(), airpCountryEdit.getText(), airpIATAFAAEdit.getText(),
|
||||
airpICAOEdit.getText(), airpLatitudeEdit.getText(), airpLongitudeEdit.getText(), airpAltitudeEdit.getText(),
|
||||
airpTimezoneEdit.getText(), airpDSTEdit.getText(), airpTzEdit.getText());
|
||||
theDataSet.editAirport(toEdit, airpNameEdit.getText(), airpCityEdit.getText(), airpCountryEdit.getText(), airpIATAFAAEdit.getText(),
|
||||
airpICAOEdit.getText(), airpLatitudeEdit.getText(), airpLongitudeEdit.getText(), airpAltitudeEdit.getText(),
|
||||
airpTimezoneEdit.getText(), airpDSTEdit.getText(), airpTzEdit.getText());
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Airport Edit Successful");
|
||||
alert.setHeaderText("Airport data edited!");
|
||||
alert.setContentText("Your airport data has been successfully edited.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) editButton.getScene().getWindow();
|
||||
stage.close();
|
||||
} catch (DataException e) {
|
||||
System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON");
|
||||
}
|
||||
}
|
||||
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
currentSession = getParent().getSession();
|
||||
|
||||
toEdit = theDataSet.getAirportDictionary().get(currentSession.getAirportToEdit());
|
||||
|
||||
airpNameEdit.setText(toEdit.getName());
|
||||
airpCityEdit.setText(toEdit.getCityName());
|
||||
airpCountryEdit.setText(toEdit.getCountryName());
|
||||
airpIATAFAAEdit.setText(toEdit.getIATA_FFA());
|
||||
airpICAOEdit.setText(toEdit.getICAO());
|
||||
airpLatitudeEdit.setText(Double.toString(toEdit.getLatitude()));
|
||||
airpLongitudeEdit.setText(Double.toString(toEdit.getLongitude()));
|
||||
airpAltitudeEdit.setText(Double.toString(toEdit.getAltitude()));
|
||||
airpTimezoneEdit.setText(Double.toString(toEdit.getTimezone()));
|
||||
airpDSTEdit.setText(toEdit.getDST());
|
||||
airpTzEdit.setText(toEdit.getTz());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,68 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.beans.InvalidationListener;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.web.WebView;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Core.*;
|
||||
import seng202.group9.Map.Map;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 1/10/16.
|
||||
*/
|
||||
public class AirportRouteMapController extends Controller{
|
||||
@FXML
|
||||
WebView mapView;
|
||||
@FXML
|
||||
TableView airportsTable;
|
||||
@FXML
|
||||
TableColumn<Airport, String> airportName;
|
||||
@FXML
|
||||
TableColumn<Airport, Integer> routes;
|
||||
ObservableList<Airport> airportsToDisplay;
|
||||
Dataset currentDataset;
|
||||
Map map;
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
currentDataset = getParent().getCurrentDataset();
|
||||
//Sets up map.
|
||||
map = new Map(mapView, new RoutePath(), airportsTable);
|
||||
airportName.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
|
||||
routes.setCellValueFactory(new PropertyValueFactory<Airport, Integer>("TotalRoutes"));
|
||||
airportsToDisplay = FXCollections.observableArrayList();
|
||||
for (Airport airport: currentDataset.getAirports()){
|
||||
if (airport.getTotalRoutes() > 0) {
|
||||
airportsToDisplay.add(airport);
|
||||
}
|
||||
}
|
||||
airportsTable.setItems(airportsToDisplay);
|
||||
airportsTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Airport>() {
|
||||
public void changed(ObservableValue<? extends Airport> observable, Airport oldValue, Airport newValue) {
|
||||
Airport selectedAirport= (Airport) airportsTable.getSelectionModel().getSelectedItems().get(0);
|
||||
|
||||
ArrayList<RoutePath> routePaths = new ArrayList<RoutePath>();
|
||||
for (Route route:selectedAirport.getArrivalRoutes()){
|
||||
routePaths.add(route.getRoutePath());
|
||||
}
|
||||
for (Route route:selectedAirport.getDepartureRoutes()){
|
||||
routePaths.add(route.getRoutePath());
|
||||
}
|
||||
map.displayRoutes(routePaths);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.beans.InvalidationListener;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.collections.ListChangeListener;
|
||||
import javafx.collections.ObservableList;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.ListView;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.DataException;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import static javafx.collections.FXCollections.observableArrayList;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 30/09/16.
|
||||
*/
|
||||
public class DatasetController extends Controller{
|
||||
|
||||
@FXML
|
||||
ListView datasetView;
|
||||
@FXML
|
||||
TextField datasetName;
|
||||
@FXML
|
||||
Button openDataset;
|
||||
Dataset curDataset = null;
|
||||
ObservableList<Dataset> datasetList = observableArrayList();
|
||||
|
||||
public void load() {
|
||||
curDataset = getParent().getCurrentDataset();
|
||||
loadTable();
|
||||
}
|
||||
|
||||
public void loadTable(){
|
||||
ArrayList<Dataset> datasets = getParent().getDatasets();
|
||||
datasetList = observableArrayList(datasets);
|
||||
datasetView.setItems(datasetList);
|
||||
}
|
||||
|
||||
public void deleteDataset(){
|
||||
Dataset datasetToDelete = (Dataset) datasetView.getSelectionModel().getSelectedItem();
|
||||
getParent().deleteDataset(datasetToDelete);
|
||||
loadTable();
|
||||
}
|
||||
|
||||
public void addDataset(){
|
||||
String name = datasetName.getText();
|
||||
if (!name.equals("") && name != null) {
|
||||
try {
|
||||
getParent().createDataset(name);
|
||||
} catch (DataException e) {
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Dataset Creation Error");
|
||||
alert.setHeaderText("Error creating Dataset.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
}
|
||||
}else{
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Dataset Creation Error");
|
||||
alert.setHeaderText("Error creating Dataset.");
|
||||
alert.setContentText("Dataset Name Cannot be Empty");
|
||||
alert.showAndWait();
|
||||
}
|
||||
loadTable();
|
||||
}
|
||||
|
||||
public void openDataset(){
|
||||
Dataset datasetToOpen = (Dataset) datasetView.getSelectionModel().getSelectedItem();
|
||||
getParent().setCurrentDataset(datasetToOpen);
|
||||
loadTable();
|
||||
((Stage) openDataset.getScene().getWindow()).close();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,69 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
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.TableColumn;
|
||||
import javafx.scene.control.TableView;
|
||||
import javafx.scene.control.cell.PropertyValueFactory;
|
||||
import javafx.scene.web.WebView;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Core.Airport;
|
||||
import seng202.group9.Core.Equipment;
|
||||
import seng202.group9.Core.Route;
|
||||
import seng202.group9.Core.RoutePath;
|
||||
import seng202.group9.Map.Map;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* Created by fwy13 on 2/10/16.
|
||||
*/
|
||||
public class EquipByRouteController extends Controller{
|
||||
@FXML
|
||||
WebView mapView;
|
||||
@FXML
|
||||
TableView<Equipment> equipTable;
|
||||
@FXML
|
||||
TableColumn<Airport, String> equipName;
|
||||
@FXML
|
||||
TableColumn<Airport, Integer> routes;
|
||||
ObservableList<Equipment> equipToDisplay;
|
||||
Dataset currentDataset;
|
||||
Map map;
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
currentDataset = getParent().getCurrentDataset();
|
||||
//Sets up map.
|
||||
map = new Map(mapView, new RoutePath(), equipTable);
|
||||
equipName.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
|
||||
routes.setCellValueFactory(new PropertyValueFactory<Airport, Integer>("RouteNum"));
|
||||
equipToDisplay = FXCollections.observableArrayList();
|
||||
ArrayList<String> keys = new ArrayList<>(currentDataset.getEquipmentDictionary().keySet());
|
||||
for (int i = 0; i < currentDataset.getEquipmentDictionary().size(); i ++){
|
||||
if (currentDataset.getEquipmentDictionary().get(keys.get(i)).getRouteNum() > 0){
|
||||
equipToDisplay.add(currentDataset.getEquipmentDictionary().get(keys.get(i)));
|
||||
}
|
||||
}
|
||||
equipTable.setItems(equipToDisplay);
|
||||
equipTable.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Equipment>() {
|
||||
public void changed(ObservableValue<? extends Equipment> observable, Equipment oldValue, Equipment newValue) {
|
||||
Equipment selectedEquip= (Equipment) equipTable.getSelectionModel().getSelectedItems().get(0);
|
||||
ArrayList<RoutePath> routePaths = new ArrayList<RoutePath>();
|
||||
HashMap<Integer, Route> routes = selectedEquip.getRoutesUsed();
|
||||
for (int i = 0; i < routes.size(); i ++){
|
||||
routePaths.add(routes.get(i).getRoutePath());
|
||||
}
|
||||
map.displayRoutes(routePaths);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.Session;
|
||||
|
||||
/**
|
||||
* Created by Sunguin on 2016/10/01.
|
||||
*/
|
||||
public class FlightAddController extends Controller {
|
||||
//Set up text fields for adding data
|
||||
@FXML
|
||||
private TextField fNameAdd;
|
||||
@FXML
|
||||
private TextField fTypeAdd;
|
||||
@FXML
|
||||
private TextField fAltitudeAdd;
|
||||
@FXML
|
||||
private TextField fLatitudeAdd;
|
||||
@FXML
|
||||
private TextField fLongitudeAdd;
|
||||
@FXML
|
||||
private Button flightAddButton;
|
||||
|
||||
//Set an empty Dataset to be assigned later
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
private Session currentSession = null;
|
||||
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
currentSession = getParent().getSession();
|
||||
}
|
||||
|
||||
public void addFlight() {
|
||||
try {
|
||||
theDataSet.addFlightPointToPath(currentSession.getCurrentFlightPathID(),
|
||||
fNameAdd.getText(),
|
||||
fTypeAdd.getText(),
|
||||
fAltitudeAdd.getText(),
|
||||
fLatitudeAdd.getText(),
|
||||
fLongitudeAdd.getText());
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Flight Point Add Successful");
|
||||
alert.setHeaderText("New Flight Point added!");
|
||||
alert.setContentText("Your new flight point has been successfully added into the database.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) flightAddButton.getScene().getWindow();
|
||||
stage.close();
|
||||
} catch ( Exception e ) {
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Flight Point Data Error");
|
||||
alert.setHeaderText("Error adding a custom flight point entry.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,101 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.Session;
|
||||
import seng202.group9.Core.FlightPoint;
|
||||
|
||||
/**
|
||||
* Controller for the Flights Edit Point Pop up Scene.
|
||||
* Created by Liam Beckett on 23/09/2016.
|
||||
*/
|
||||
public class FlightEditorController extends Controller{
|
||||
//Setting up text fields for adding data
|
||||
@FXML
|
||||
TextField fNameEdit;
|
||||
@FXML
|
||||
TextField fTypeEdit;
|
||||
@FXML
|
||||
TextField fAltitudeEdit;
|
||||
@FXML
|
||||
TextField fLatitudeEdit;
|
||||
@FXML
|
||||
TextField fLongitudeEdit;
|
||||
@FXML
|
||||
private Button flightEditButton;
|
||||
|
||||
//Set an empty Dataset to be assigned later
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
/**
|
||||
* Edits a single flight entry in the database.
|
||||
* Takes in values from the field the user right clicked.
|
||||
* @see Dataset
|
||||
*/
|
||||
public void editFlight() {
|
||||
//Data is pre-loaded into the text fields and any accepted changes will be implemented.
|
||||
//Otherwise an error message will pop up with what is wrong with edit
|
||||
try {
|
||||
Session session = getParent().getSession();
|
||||
int flightPointID = session.getCurrentFlightPointID();
|
||||
|
||||
theDataSet.editFlight(
|
||||
theDataSet.getFlightPointDictionary().get(flightPointID),
|
||||
fNameEdit.getText(),
|
||||
fTypeEdit.getText(),
|
||||
fAltitudeEdit.getText(),
|
||||
fLatitudeEdit.getText(),
|
||||
fLongitudeEdit.getText()
|
||||
);
|
||||
session.setCurrentFlightPointID(flightPointID);
|
||||
|
||||
fNameEdit.clear();
|
||||
fTypeEdit.clear();
|
||||
fAltitudeEdit.clear();
|
||||
fLatitudeEdit.clear();
|
||||
fLongitudeEdit.clear();
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Flight Path Edit Successful");
|
||||
alert.setHeaderText("Flight Point Edited!");
|
||||
alert.setContentText("Your flight point has been updated in the database.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) flightEditButton.getScene().getWindow();
|
||||
stage.close();
|
||||
|
||||
} catch ( Exception e ) {
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Flight Data Error");
|
||||
alert.setHeaderText("Error editing a flight point.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loader which is used to load the selected information into the text fields for editing.
|
||||
*/
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
|
||||
Session session = getParent().getSession();
|
||||
int flightPointID = session.getCurrentFlightPointID();
|
||||
FlightPoint flightPoint = theDataSet.getFlightPointDictionary().get(flightPointID);
|
||||
|
||||
fNameEdit.setText(flightPoint.getName());
|
||||
fTypeEdit.setText(flightPoint.getType());
|
||||
fAltitudeEdit.setText(Double.toString(flightPoint.getAltitude()));
|
||||
fLatitudeEdit.setText(Double.toString(flightPoint.getLatitude()));
|
||||
fLongitudeEdit.setText(Double.toString(flightPoint.getLongitude()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,45 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.scene.control.Alert;
|
||||
import seng202.group9.Controller.SceneCode;
|
||||
|
||||
/**
|
||||
* Created by spe76 on 26/09/16.
|
||||
*/
|
||||
public class GettingStartedController extends Controller {
|
||||
|
||||
public void load() {
|
||||
}
|
||||
|
||||
public void importAirlines() {
|
||||
getParent().getMenuController().changeDatasetPrompt();
|
||||
Importer importer = new Importer(SceneCode.AIRLINE_RAW_DATA, getParent(), getParent().getPrimaryStage());
|
||||
}
|
||||
|
||||
public void importAirports() {
|
||||
getParent().getMenuController().changeDatasetPrompt();
|
||||
Importer importer = new Importer(SceneCode.AIRPORT_RAW_DATA, getParent(), getParent().getPrimaryStage());
|
||||
}
|
||||
|
||||
public void importRoutes() {
|
||||
getParent().getMenuController().changeDatasetPrompt();
|
||||
Importer importer = new Importer(SceneCode.ROUTE_RAW_DATA, getParent(), getParent().getPrimaryStage());
|
||||
}
|
||||
|
||||
public void importFlightData() {
|
||||
getParent().getMenuController().changeDatasetPrompt();
|
||||
Importer importer = new Importer(SceneCode.FLIGHT_RAW_DATA, getParent(), getParent().getPrimaryStage());
|
||||
}
|
||||
|
||||
public void manageDatasets() {
|
||||
getParent().getMenuController().openDataset();
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Dataset Selected");
|
||||
alert.setHeaderText("You have decided to change the Dataset.");
|
||||
alert.setContentText("You will now be taken to the airline summary page.");
|
||||
alert.showAndWait();
|
||||
|
||||
replaceSceneContent(SceneCode.AIRLINE_SUMMARY);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,168 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.beans.value.ChangeListener;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.TreeItem;
|
||||
import javafx.scene.control.TreeView;
|
||||
import javafx.scene.text.Text;
|
||||
import javafx.scene.text.TextFlow;
|
||||
|
||||
/**
|
||||
* The GUI controller class for help.fxml.
|
||||
* Extends from the abstract class {@link Controller}.
|
||||
* Created by Sunguin.
|
||||
*/
|
||||
public class HelpController extends Controller {
|
||||
@FXML
|
||||
private TreeView treeView;
|
||||
@FXML
|
||||
private TextFlow textArea;
|
||||
|
||||
Text text = new Text();
|
||||
|
||||
//The TreeItems for the TreeView.
|
||||
TreeItem main_root = new TreeItem("Main Root");
|
||||
|
||||
TreeItem importing = new TreeItem("Importing Data");
|
||||
TreeItem importing_start = new TreeItem("Importing on Startup");
|
||||
TreeItem importing_after = new TreeItem("Importing after Startup");
|
||||
|
||||
TreeItem viewing = new TreeItem("Viewing Data");
|
||||
TreeItem summary_viewing = new TreeItem("Viewing Summary Data");
|
||||
TreeItem raw_viewing = new TreeItem("Viewing Raw Data");
|
||||
|
||||
TreeItem manipulating = new TreeItem("Manipulating Data");
|
||||
TreeItem adding = new TreeItem("Adding Data");
|
||||
TreeItem filter = new TreeItem("Filtering Data");
|
||||
TreeItem edit = new TreeItem("Editing Data");
|
||||
TreeItem delete = new TreeItem("Deleting Data");
|
||||
|
||||
TreeItem analysing = new TreeItem("Analysing Data");
|
||||
TreeItem graphing = new TreeItem("Graphs");
|
||||
TreeItem distance = new TreeItem("Distance Calculator");
|
||||
|
||||
/**
|
||||
* Loads the TreeView and sets up the TreeView.
|
||||
*/
|
||||
public void load() {
|
||||
treeView.setRoot(main_root);
|
||||
treeView.setShowRoot(false);
|
||||
|
||||
main_root.getChildren().add(importing);
|
||||
importing.getChildren().add(importing_start);
|
||||
importing.getChildren().add(importing_after);
|
||||
|
||||
main_root.getChildren().add(viewing);
|
||||
viewing.getChildren().add(summary_viewing);
|
||||
viewing.getChildren().add(raw_viewing);
|
||||
|
||||
main_root.getChildren().add(manipulating);
|
||||
manipulating.getChildren().add(adding);
|
||||
manipulating.getChildren().add(filter);
|
||||
manipulating.getChildren().add(edit);
|
||||
manipulating.getChildren().add(delete);
|
||||
|
||||
main_root.getChildren().add(analysing);
|
||||
analysing.getChildren().add(graphing);
|
||||
analysing.getChildren().add(distance);
|
||||
|
||||
text = new Text("Please select an option on the left side menu to display its contents.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
|
||||
|
||||
public void changed(ObservableValue observable, Object oldValue,
|
||||
Object newValue) {
|
||||
TreeItem<String> selectedItem = (TreeItem<String>) newValue;
|
||||
String menuValue = selectedItem.getValue();
|
||||
|
||||
if ( menuValue != null ){
|
||||
textArea.getChildren().clear();
|
||||
if (menuValue.equals("Importing on Startup")) {
|
||||
text = new Text("Importing on Startup\n" + "You can import data from the first start up of the application." +
|
||||
"\nTo import data, select the type of data you wish to import along the bottom of the screen." +
|
||||
" Then select the file (.csv and .txt file) from the " +
|
||||
"file selector. The data will be loaded into the program and taken to the " +
|
||||
"corresponding summary page.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Importing after Startup")) {
|
||||
text = new Text("Importing after Startup\n" +
|
||||
"You can import data from the 'File' menu on the top of the screen.\n" +
|
||||
"To import data, select the type of data you wish to import. " +
|
||||
"Then select the file (.csv and .txt file) from the file selector. " +
|
||||
"The data will be loaded into the program and taken to the corresponding summary page.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Viewing Summary Data")) {
|
||||
text = new Text("Viewing Summary Data\n" +
|
||||
"The summary data view consists of a reduced version of the data and a map of the currently selected value. " +
|
||||
"The flight summary data also has a flight path selector to select which flight points you want to view.\n" +
|
||||
"The summary views are accessible from the menu on the top of the screen under the " +
|
||||
"'View' tab. You first choose which set of data you want to view and then you can select 'Summary'." +
|
||||
"\nEach summary page also has buttons that lead to their corresponding raw data view and the other summary views.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Viewing Raw Data")) {
|
||||
text = new Text("Viewing Raw Data\n" +
|
||||
"The raw data view allows the user to view the full data table." +
|
||||
"The user can also add, filter, edit and delete data values as well.\n" +
|
||||
"These are accessible from the menu on the top of the screen under the " +
|
||||
"'View' tab. You first choose which set of data you want to view and then you can select 'Raw Data'.\n" +
|
||||
"The summary view does not have every column but provides a map of where the " +
|
||||
"The raw data page also has buttons that lead to the analysis of that type of data and to go back to the" +
|
||||
" corresponding summary page.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Adding Data")) {
|
||||
text = new Text("Adding Data\n" +
|
||||
"To add a new entry, first go to the raw data view for that data type. Then click " +
|
||||
"on the add button located on the bottom of the page. Then fill out the entries in the " +
|
||||
"pop-up box and click add at the bottom of the screen. " +
|
||||
"When the program detects an invalid field, a message will pop up and state where the error is.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Filtering Data")) {
|
||||
text = new Text("Filtering Data\n" +
|
||||
"To filter all current entries, click on the filter option and a pop " +
|
||||
"up will appear. Then type in the fields the values you wish to filter by and press the filter button. " +
|
||||
"The table should update with the fields specified.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Editing Data")) {
|
||||
text = new Text("Editing Data\n" +
|
||||
"The edit function can be accessed by right clicking on the entry you wish to edit and" +
|
||||
" clicking the edit option. This will lead to a pop up where you can edit the current entry." +
|
||||
" When the edit has been completed, you can press the apply button on the bottom of the pop up. " +
|
||||
"When the program detects an invalid field, a message will pop up and state where the error is.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Deleting Data")) {
|
||||
text = new Text("Deleting Data\n" +
|
||||
"The delete function is accessed by right clicking an entry and pressing the delete option. " +
|
||||
"This will come up with a pop up to confirm your delete. When you press OK, the entry will be deleted " +
|
||||
"from the program. The program also allows multiple deletes.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Graphs")) {
|
||||
text = new Text("Graphs\n" + "The program has the ability to produce graphs according to the type of data.\n" +
|
||||
"This is done by going to the raw data page for the data you wish to graph. Then press the analyse data button" +
|
||||
" on the bottom of the screen. This will produce a graph specific for that type of data.");
|
||||
textArea.getChildren().add(text);
|
||||
|
||||
} else if (menuValue.equals("Distance Calculator")) {
|
||||
text = new Text("Distance Calculator\n" + "You can calculate the distance between two airports.\n" +
|
||||
"First, go to the 'Analysis' tab on the top of the menu bar. You will be taken to a page that " +
|
||||
"allows them to select two airports, one from each column and press 'Calculate' to get the distance between" +
|
||||
" the two airports.");
|
||||
textArea.getChildren().add(text);
|
||||
} else {
|
||||
text = new Text("Please select an option on the left side menu to display its contents.");
|
||||
textArea.getChildren().add(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.DataException;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.EntryParser;
|
||||
import seng202.group9.Controller.Session;
|
||||
import seng202.group9.Core.Route;
|
||||
|
||||
/**
|
||||
* Created by Sunguin on 2016/09/24.
|
||||
*/
|
||||
public class RouteEditController extends Controller {
|
||||
@FXML
|
||||
private TextField rAirlineEdit;
|
||||
@FXML
|
||||
private TextField rSourceEdit;
|
||||
@FXML
|
||||
private TextField rDestEdit;
|
||||
@FXML
|
||||
private TextField rCodeshareEdit;
|
||||
@FXML
|
||||
private TextField rStopsEdit;
|
||||
@FXML
|
||||
private TextField rEquipmentEdit;
|
||||
@FXML
|
||||
private Button editButton;
|
||||
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
private Session currentSession = null;
|
||||
|
||||
private Route toEdit = null;
|
||||
|
||||
public void editRoute() {
|
||||
try {
|
||||
EntryParser parser = new EntryParser();
|
||||
parser.parseRoute(rAirlineEdit.getText(), rSourceEdit.getText(), rDestEdit.getText(), rCodeshareEdit.getText(),
|
||||
rStopsEdit.getText(), rEquipmentEdit.getText());
|
||||
theDataSet.editRoute(toEdit, rAirlineEdit.getText(), rSourceEdit.getText(), rDestEdit.getText(), rCodeshareEdit.getText(),
|
||||
rStopsEdit.getText(), rEquipmentEdit.getText());
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Route Edit Successful");
|
||||
alert.setHeaderText("Route data edited!");
|
||||
alert.setContentText("Your route data has been successfully edited.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) editButton.getScene().getWindow();
|
||||
stage.close();
|
||||
} catch (DataException e) {
|
||||
System.err.println("RIP Harambe: " + e.getMessage() + "IT WAS TOO SOON");
|
||||
}
|
||||
}
|
||||
|
||||
public void load() {
|
||||
if (!checkDataset()){
|
||||
return;
|
||||
}
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
currentSession = getParent().getSession();
|
||||
|
||||
toEdit = theDataSet.getRouteDictionary().get(currentSession.getRouteToEdit());
|
||||
|
||||
rAirlineEdit.setText(toEdit.getAirlineName());
|
||||
rSourceEdit.setText(toEdit.getDepartureAirport());
|
||||
rDestEdit.setText(toEdit.getArrivalAirport());
|
||||
rCodeshareEdit.setText(toEdit.getCode());
|
||||
rStopsEdit.setText(Integer.toString(toEdit.getStops()));
|
||||
rEquipmentEdit.setText(toEdit.getEquipment());
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="370.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.AirlineEditController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="125.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="445.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Edit Airline" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Name" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Alias" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="IATA" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="ICAO" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Callsign" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Country" GridPane.halignment="LEFT" GridPane.rowIndex="6">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Active" GridPane.halignment="LEFT" GridPane.rowIndex="7">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="applyButton" mnemonicParsing="false" onAction="#editAirline" text="Apply Conditions" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="8" />
|
||||
<TextField fx:id="airlNameEdit" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="airlAliasEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="airlIATAEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="airlICAOEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="airlCallsignEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
<TextField fx:id="airlCountryEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<TextField fx:id="airlActiveEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="480.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.AirportEditController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="125.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="445.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Edit Airport" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Name*" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="City*" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Country*" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="IATA/FAA" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="ICAO" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Latitude*" GridPane.halignment="LEFT" GridPane.rowIndex="6">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Longitude*" GridPane.halignment="LEFT" GridPane.rowIndex="7">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="editButton" mnemonicParsing="false" onAction="#editAirport" text="Edit Airport" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="12" />
|
||||
<TextField fx:id="airpNameEdit" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="airpCityEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="airpCountryEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="airpIATAFAAEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="airpICAOEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
<TextField fx:id="airpLatitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<Label prefHeight="21.0" prefWidth="117.0" text="* = required field" GridPane.columnSpan="2" GridPane.halignment="LEFT" GridPane.rowIndex="12">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" top="15.0" />
|
||||
</GridPane.margin></Label>
|
||||
<TextField fx:id="airpLongitudeEdit" GridPane.columnIndex="1" GridPane.rowIndex="7" />
|
||||
<TextField fx:id="airpAltitudeEdit" GridPane.columnIndex="1" GridPane.rowIndex="8" />
|
||||
<TextField fx:id="airpTimezoneEdit" GridPane.columnIndex="1" GridPane.rowIndex="9" />
|
||||
<TextField fx:id="airpDSTEdit" GridPane.columnIndex="1" GridPane.rowIndex="10" />
|
||||
<TextField fx:id="airpTzEdit" GridPane.columnIndex="1" GridPane.rowIndex="11" />
|
||||
<Label text="Altitude*" GridPane.halignment="LEFT" GridPane.rowIndex="8">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Timezone*" GridPane.halignment="LEFT" GridPane.rowIndex="9">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="DST" GridPane.halignment="LEFT" GridPane.rowIndex="10">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Time Olson" GridPane.halignment="LEFT" GridPane.rowIndex="11">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.web.*?>
|
||||
<?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.ContextMenu?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.MenuItem?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<GridPane alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="568.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.AirportRouteMapController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="205.0" minWidth="10.0" prefWidth="197.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="686.0" minWidth="10.0" prefWidth="603.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="50.0" minHeight="0.0" prefHeight="50.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="520.0" minHeight="10.0" prefHeight="20.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="520.0" minHeight="10.0" prefHeight="500.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Routes By Airport">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<Label text="Airports" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="15.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<WebView fx:id="mapView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1" GridPane.rowSpan="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="20.0" />
|
||||
</GridPane.margin>
|
||||
</WebView>
|
||||
<TableView fx:id="airportsTable" prefHeight="471.0" prefWidth="142.0" GridPane.rowIndex="2">
|
||||
<columns>
|
||||
<TableColumn fx:id="airportName" prefWidth="88.0" text="Airport" />
|
||||
<TableColumn fx:id="routes" prefWidth="62.0" text="Routes" />
|
||||
</columns>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" />
|
||||
</GridPane.margin>
|
||||
</TableView>
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -1,99 +1,76 @@
|
||||
<?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.scene.web.*?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
<?import javafx.scene.web.WebView?>
|
||||
|
||||
<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.AirportSummaryController">
|
||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="568.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.AirportSummaryController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="429.0" minHeight="10.0" prefHeight="408.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="118.0" minHeight="10.0" prefHeight="110.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<ScrollPane prefHeight="800.0" prefWidth="800.0">
|
||||
<content>
|
||||
<AnchorPane prefHeight="800.0" prefWidth="800.0">
|
||||
<children>
|
||||
<HBox alignment="CENTER" prefHeight="300.0" prefWidth="583.0" AnchorPane.topAnchor="25.0">
|
||||
<children>
|
||||
<AnchorPane prefHeight="300.0" prefWidth="330.0">
|
||||
<children>
|
||||
<Pane layoutY="-6.0" prefHeight="60.0" prefWidth="330.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||
<children>
|
||||
<Text layoutX="21.0" layoutY="40.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Airports Summary">
|
||||
<font>
|
||||
<Font size="29.0" />
|
||||
</font>
|
||||
</Text>
|
||||
</children>
|
||||
</Pane>
|
||||
<Pane layoutY="52.0" prefHeight="240.0" prefWidth="480.0" AnchorPane.bottomAnchor="0.0">
|
||||
<children>
|
||||
<Pane layoutX="25.0" layoutY="10.0" prefHeight="220.0" prefWidth="120.0">
|
||||
<children>
|
||||
<TableView fx:id="tableView" layoutX="10.0" layoutY="10.0" prefHeight="200.0" prefWidth="378.0">
|
||||
<columns>
|
||||
<TableColumn fx:id="columnName" maxWidth="150.0" prefWidth="75.0" text="Name" />
|
||||
<TableColumn fx:id="columnCity" prefWidth="75.0" text="City" />
|
||||
<TableColumn fx:id="columnCountry" prefWidth="75.0" text="Country" />
|
||||
<TableColumn fx:id="columnAltitude" prefWidth="75.0" text="Altitude" />
|
||||
<TableColumn fx:id="columnIATA" prefWidth="75.0" text="IATA/FAA" />
|
||||
</columns>
|
||||
</TableView>
|
||||
</children>
|
||||
</Pane>
|
||||
</children>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
</Pane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
<AnchorPane prefHeight="300.0" prefWidth="253.0">
|
||||
<children>
|
||||
<Pane layoutY="200.0" prefHeight="100.0" prefWidth="253.0">
|
||||
<children>
|
||||
<Button layoutX="20.0" layoutY="14.0" mnemonicParsing="false" onAction="#airlineSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Airline">
|
||||
<font>
|
||||
<Font size="12.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button layoutX="94.0" layoutY="14.0" mnemonicParsing="false" onAction="#routeSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Routes">
|
||||
<font>
|
||||
<Font size="12.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button layoutX="169.0" layoutY="14.0" mnemonicParsing="false" onAction="#flightSummaryButton" prefHeight="25.0" prefWidth="65.0" text="Flights">
|
||||
<font>
|
||||
<Font size="12.0" />
|
||||
</font>
|
||||
</Button>
|
||||
<Button layoutX="20.0" layoutY="61.0" mnemonicParsing="false" onAction="#airportRawDataButton" prefHeight="25.0" prefWidth="214.0" text="Airport Raw Data" />
|
||||
</children>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
</Pane>
|
||||
<Pane prefHeight="200.0" prefWidth="253.0">
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<WebView fx:id="mapView" prefHeight="200.0" prefWidth="254.0" />
|
||||
</children>
|
||||
</Pane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</children>
|
||||
</HBox>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</content>
|
||||
</ScrollPane>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Airports Summary">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<WebView fx:id="mapView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" right="15.0" />
|
||||
</GridPane.margin>
|
||||
</WebView>
|
||||
<Button mnemonicParsing="false" onAction="#airlineSummaryButton" prefHeight="25.0" prefWidth="100.0" text="Airlines" GridPane.columnIndex="1" GridPane.halignment="LEFT" GridPane.rowIndex="2" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#routeSummaryButton" prefHeight="25.0" prefWidth="100.0" text="Routes" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#flightSummaryButton" prefHeight="25.0" prefWidth="100.0" text="Flights" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button maxWidth="1.7976931348623157E308" mnemonicParsing="false" onAction="#airportRawDataButton" prefHeight="25.0" prefWidth="200.0" text="Airport Raw Data" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="BOTTOM">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<TableView fx:id="tableView" prefHeight="200.0" prefWidth="378.0" GridPane.rowIndex="1" GridPane.rowSpan="2">
|
||||
<columns>
|
||||
<TableColumn fx:id="columnName" minWidth="100.0" prefWidth="133.0" text="Name" />
|
||||
<TableColumn fx:id="columnCity" minWidth="50.0" prefWidth="65.0" text="City" />
|
||||
<TableColumn fx:id="columnCountry" minWidth="45.0" prefWidth="99.0" text="Country" />
|
||||
<TableColumn fx:id="columnTotalRoutes" minWidth="18.0" prefWidth="70.0" text="Routes" />
|
||||
</columns>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" />
|
||||
</GridPane.margin>
|
||||
</TableView>
|
||||
</children>
|
||||
</VBox>
|
||||
</GridPane>
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.text.*?>
|
||||
<?import javafx.geometry.*?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import java.lang.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
|
||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="598.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8" fx:controller="seng202.group9.GUI.DatasetController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="517.0" minWidth="10.0" prefWidth="496.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="300.0" minWidth="10.0" prefWidth="104.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="319.0" minHeight="10.0" prefHeight="41.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="319.0" minHeight="10.0" prefHeight="264.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="194.0" minHeight="10.0" prefHeight="40.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="194.0" minHeight="10.0" prefHeight="41.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<ListView fx:id="datasetView" prefHeight="200.0" prefWidth="597.0" GridPane.columnSpan="2" GridPane.rowIndex="1">
|
||||
<contextMenu>
|
||||
<ContextMenu>
|
||||
<items>
|
||||
<MenuItem fx:id="deleteBtn" mnemonicParsing="false" onAction="#deleteDataset" text="Delete Dataset" />
|
||||
</items>
|
||||
</ContextMenu>
|
||||
</contextMenu>
|
||||
</ListView>
|
||||
<TextField fx:id="datasetName" prefHeight="25.0" prefWidth="485.0" promptText="Dataset Name" GridPane.rowIndex="2" />
|
||||
<Button fx:id="addDataset" mnemonicParsing="false" onAction="#addDataset" prefHeight="25.0" prefWidth="84.0" text="Add" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<Label text="Select or Add a Dataset" GridPane.columnSpan="2" GridPane.halignment="CENTER">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Button fx:id="openDataset" mnemonicParsing="false" onAction="#openDataset" prefHeight="25.0" prefWidth="785.0" text="Open" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.rowIndex="3" />
|
||||
</children>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
</GridPane>
|
||||
@ -0,0 +1,72 @@
|
||||
<?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.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="280.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.FlightAddController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="125.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="402.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Add Flight Point" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Name" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Type" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Altitude" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Latitude" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Longitude" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="flightAddButton" mnemonicParsing="false" onAction="#addFlight" text="Add Flight Point" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<TextField fx:id="fNameAdd" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="fTypeAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="fAltitudeAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="fLatitudeAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="fLongitudeAdd" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="289.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.FlightEditorController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="168.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="402.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Edit Flight Point" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Name" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Type" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Altitude" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Latitude" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Longitude" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="flightEditButton" mnemonicParsing="false" onAction="#editFlight" text="Edit Flight" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<TextField fx:id="fNameEdit" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="fTypeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="fAltitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="fLatitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="fLongitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -1,181 +1,114 @@
|
||||
<?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.ContextMenu?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.MenuItem?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.Pane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.FlightRDController">
|
||||
<GridPane alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="568.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.FlightRDController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="142.0" minWidth="10.0" prefWidth="142.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="686.0" minWidth="10.0" prefWidth="658.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="50.0" minHeight="0.0" prefHeight="50.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="450.0" minHeight="10.0" prefHeight="450.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="68.0" minHeight="0.0" prefHeight="68.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<ScrollPane hbarPolicy="NEVER" prefHeight="603.0" prefWidth="751.0" vbarPolicy="NEVER">
|
||||
<content>
|
||||
<AnchorPane prefHeight="371.0" prefWidth="600.0">
|
||||
<children>
|
||||
<GridPane prefHeight="600.0" prefWidth="800.0">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="193.0" minHeight="10.0" prefHeight="57.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="521.0" minHeight="10.0" prefHeight="513.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="62.0" minHeight="0.0" prefHeight="28.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<GridPane GridPane.rowIndex="1">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="393.0" minWidth="10.0" prefWidth="162.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="651.0" minWidth="10.0" prefWidth="638.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Pane prefHeight="505.0" prefWidth="162.0">
|
||||
<children>
|
||||
<Button layoutX="32.0" layoutY="480.0" mnemonicParsing="false" onAction="#newPath" prefHeight="25.0" prefWidth="99.0" text="New" />
|
||||
<ListView fx:id="flightPathListView" layoutX="19.0" layoutY="25.0" prefHeight="444.0" prefWidth="125.0">
|
||||
<contextMenu>
|
||||
<ContextMenu>
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" onAction="#deletePath" text="Delete" />
|
||||
</items>
|
||||
</ContextMenu>
|
||||
</contextMenu></ListView>
|
||||
<Label layoutX="16.0" text="Flight Path File(s)">
|
||||
<font>
|
||||
<Font size="15.0" />
|
||||
</font>
|
||||
</Label>
|
||||
</children>
|
||||
</Pane>
|
||||
<GridPane prefHeight="467.0" prefWidth="638.0" GridPane.columnIndex="1">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="617.0" minWidth="10.0" prefWidth="607.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="318.0" minWidth="10.0" prefWidth="43.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="414.0" minHeight="10.0" prefHeight="386.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="137.0" minHeight="1.0" prefHeight="17.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="137.0" minHeight="10.0" prefHeight="62.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="137.0" minHeight="10.0" prefHeight="44.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<ScrollPane prefHeight="52.0" prefViewportHeight="25.0" prefViewportWidth="765.0" prefWidth="601.0" GridPane.rowIndex="2">
|
||||
<content>
|
||||
<Pane layoutY="25.0">
|
||||
<children>
|
||||
<TextField fx:id="flightLatitudeBox" layoutX="440.0" prefHeight="25.0" prefWidth="100.0" promptText="Latitude">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightTypeBox" layoutX="190.0" prefHeight="25.0" prefWidth="75.0" promptText="Type">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightAltitudeBox" layoutX="365.0" prefHeight="25.0" prefWidth="75.0" promptText="Altitude">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<Label prefHeight="25.0" prefWidth="90.0" text="Enter Values:" />
|
||||
<TextField fx:id="flightViaBox" layoutX="265.0" prefHeight="25.0" prefWidth="100.0" promptText="Via">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightHeadingBox" layoutX="640.0" prefHeight="25.0" prefWidth="100.0" promptText="Heading">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightLongitudeBox" layoutX="540.0" prefHeight="25.0" prefWidth="100.0" promptText="Longitude">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightNameBox" layoutX="90.0" prefHeight="25.0" prefWidth="100.0" promptText="Name">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightLegDistBox" layoutX="740.0" prefHeight="25.0" prefWidth="75.0" promptText="Leg Dist">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
<TextField fx:id="flightTotDistBox" layoutX="815.0" prefHeight="25.0" prefWidth="75.0" promptText="Tot Dist">
|
||||
<padding>
|
||||
<Insets left="2.0" right="2.0" />
|
||||
</padding>
|
||||
</TextField>
|
||||
</children>
|
||||
<opaqueInsets>
|
||||
<Insets />
|
||||
</opaqueInsets>
|
||||
</Pane>
|
||||
</content>
|
||||
</ScrollPane>
|
||||
<Pane prefHeight="44.0" prefWidth="601.0" GridPane.rowIndex="3">
|
||||
<children>
|
||||
<Button layoutX="476.0" layoutY="11.0" mnemonicParsing="false" onAction="#addFlightPoint" prefHeight="25.0" prefWidth="125.0" text="Add" />
|
||||
<Button layoutY="11.0" mnemonicParsing="false" onAction="#flightAnalyser" prefHeight="25.0" prefWidth="125.0" text="Analyse" />
|
||||
</children>
|
||||
</Pane>
|
||||
<TableView fx:id="flightTableView" prefHeight="377.0" prefWidth="601.0">
|
||||
<columns>
|
||||
<TableColumn fx:id="flightIdCol" prefWidth="90.0" text="ID" />
|
||||
<TableColumn fx:id="flightNameCol" prefWidth="100.0" text="Name" />
|
||||
<TableColumn fx:id="flightTypeCol" prefWidth="75.0" text="Type" />
|
||||
<TableColumn fx:id="flightViaCol" prefWidth="100.0" text="Via" />
|
||||
<TableColumn fx:id="flightAltitudeCol" prefWidth="75.0" text="Altitude" />
|
||||
<TableColumn fx:id="flightLatCol" prefWidth="100.0" text="Latitude" />
|
||||
<TableColumn fx:id="flightLongCol" prefWidth="100.0" text="Longitude" />
|
||||
<TableColumn fx:id="flightHeadCol" prefWidth="100.0" text="Heading" />
|
||||
<TableColumn fx:id="flightLegDisCol" prefWidth="75.0" text="Leg Dist" />
|
||||
<TableColumn fx:id="flightTotDisCol" prefWidth="75.0" text="Tot Dist" />
|
||||
</columns>
|
||||
<contextMenu>
|
||||
<ContextMenu>
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" onAction="#deletePoint" text="Delete" />
|
||||
</items>
|
||||
</ContextMenu>
|
||||
</contextMenu>
|
||||
</TableView>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
</GridPane>
|
||||
<Pane prefHeight="55.0" prefWidth="800.0">
|
||||
<children>
|
||||
<Text layoutX="14.0" layoutY="42.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Flight Raw Data">
|
||||
<font>
|
||||
<Font size="29.0" />
|
||||
</font>
|
||||
</Text>
|
||||
</children>
|
||||
</Pane>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</content>
|
||||
</ScrollPane>
|
||||
<HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnSpan="2" GridPane.halignment="RIGHT" GridPane.rowIndex="2" GridPane.valignment="BASELINE">
|
||||
<children>
|
||||
<Button mnemonicParsing="false" onAction="#newPath" text="New Flight Path">
|
||||
<HBox.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</HBox.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#flightAnalyser" text="Analyse Flight Data">
|
||||
<HBox.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</HBox.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" nodeOrientation="LEFT_TO_RIGHT" onAction="#openAdd" text="Add New Flight Point">
|
||||
<HBox.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</HBox.margin>
|
||||
</Button>
|
||||
</children>
|
||||
</HBox>
|
||||
<Button mnemonicParsing="false" nodeOrientation="LEFT_TO_RIGHT" onAction="#flightSummaryButton" text="Back to Flight Summary" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" GridPane.valignment="TOP">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Flight Raw Data">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<ListView fx:id="flightPathListView" prefHeight="415.0" prefWidth="128.0" GridPane.rowIndex="1">
|
||||
<contextMenu>
|
||||
<ContextMenu>
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" onAction="#deletePath" text="Delete" />
|
||||
</items>
|
||||
</ContextMenu>
|
||||
</contextMenu>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" top="20.0" />
|
||||
</GridPane.margin>
|
||||
</ListView>
|
||||
<Label text="Flight Path File(s)" GridPane.halignment="CENTER" GridPane.rowIndex="1" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="15.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<TableView fx:id="flightTableView" prefHeight="377.0" prefWidth="601.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<columns>
|
||||
<TableColumn fx:id="flightIdCol" prefWidth="90.0" text="ID" />
|
||||
<TableColumn fx:id="flightNameCol" prefWidth="100.0" text="Name" />
|
||||
<TableColumn fx:id="flightTypeCol" prefWidth="75.0" text="Type" />
|
||||
<TableColumn fx:id="flightViaCol" prefWidth="100.0" text="Via" visible="false" />
|
||||
<TableColumn fx:id="flightAltitudeCol" prefWidth="75.0" text="Altitude" />
|
||||
<TableColumn fx:id="flightLatCol" prefWidth="100.0" text="Latitude" />
|
||||
<TableColumn fx:id="flightLongCol" prefWidth="100.0" text="Longitude" />
|
||||
<TableColumn fx:id="flightHeadCol" prefWidth="100.0" text="Heading" />
|
||||
<TableColumn fx:id="flightLegDisCol" prefWidth="75.0" text="Leg Dist" />
|
||||
<TableColumn fx:id="flightTotDisCol" prefWidth="75.0" text="Tot Dist" />
|
||||
</columns>
|
||||
<contextMenu>
|
||||
<ContextMenu>
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" onAction="#movePointUp" text="Move Up" />
|
||||
<MenuItem mnemonicParsing="false" onAction="#movePointDown" text="Move Down" />
|
||||
<MenuItem mnemonicParsing="false" onAction="#editPoint" text="Edit" />
|
||||
<MenuItem mnemonicParsing="false" onAction="#deletePoint" text="Delete" />
|
||||
</items>
|
||||
</ContextMenu>
|
||||
</contextMenu>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" />
|
||||
</GridPane.margin>
|
||||
</TableView>
|
||||
</children>
|
||||
</VBox>
|
||||
</GridPane>
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="568.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.GettingStartedController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="160.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="160.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="160.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="160.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="160.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="453.0" minHeight="0.0" prefHeight="444.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="505.0" minHeight="10.0" prefHeight="150.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="293.0" minHeight="10.0" prefHeight="100.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Button mnemonicParsing="false" onAction="#importAirlines" text="Import Airlines" GridPane.halignment="CENTER" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#importAirports" text="Import Airports" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#importRoutes" text="Import Routes" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Button mnemonicParsing="false" onAction="#importFlightData" text="Import Flights" GridPane.columnIndex="3" GridPane.halignment="CENTER" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Label alignment="TOP_CENTER" text="Welcome!" GridPane.columnSpan="5" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button mnemonicParsing="false" onAction="#manageDatasets" text="Manage Datasets" GridPane.columnIndex="4" GridPane.halignment="CENTER" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" right="15.0" />
|
||||
</GridPane.margin>
|
||||
</Button>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="To get started, select which type of data you wish to import or manage your datasets." textAlignment="CENTER" wrappingWidth="480.84765625" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<font>
|
||||
<Font size="20.0" />
|
||||
</font>
|
||||
</Text>
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.control.TreeView?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.TextFlow?>
|
||||
|
||||
<GridPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.HelpController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="286.0" minWidth="10.0" prefWidth="200.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="471.0" minWidth="10.0" prefWidth="400.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="126.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="305.0" minHeight="10.0" prefHeight="289.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Label text="Help Section" GridPane.columnSpan="2" GridPane.halignment="CENTER">
|
||||
<font>
|
||||
<Font size="24.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<ScrollPane prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="10.0" right="10.0" />
|
||||
</GridPane.margin>
|
||||
<content>
|
||||
<TextFlow fx:id="textArea" maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="289.0" prefWidth="364.0" textAlignment="JUSTIFY" />
|
||||
</content>
|
||||
</ScrollPane>
|
||||
<TreeView fx:id="treeView" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" />
|
||||
</GridPane.margin>
|
||||
</TreeView>
|
||||
</children>
|
||||
<padding>
|
||||
<Insets top="10.0" />
|
||||
</padding>
|
||||
</GridPane>
|
||||
@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.web.*?>
|
||||
<?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.ContextMenu?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.ListView?>
|
||||
<?import javafx.scene.control.MenuItem?>
|
||||
<?import javafx.scene.control.TableColumn?>
|
||||
<?import javafx.scene.control.TableView?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<GridPane alignment="CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="568.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.EquipByRouteController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="205.0" minWidth="10.0" prefWidth="197.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="686.0" minWidth="10.0" prefWidth="603.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="50.0" minHeight="0.0" prefHeight="50.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="520.0" minHeight="10.0" prefHeight="500.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<Text strokeType="OUTSIDE" strokeWidth="0.0" text="Routes By Equip">
|
||||
<font>
|
||||
<Font size="36.0" />
|
||||
</font>
|
||||
<GridPane.margin>
|
||||
<Insets left="15.0" />
|
||||
</GridPane.margin>
|
||||
</Text>
|
||||
<TableView fx:id="equipTable" prefHeight="471.0" prefWidth="142.0" GridPane.rowIndex="1">
|
||||
<columns>
|
||||
<TableColumn fx:id="equipName" prefWidth="88.0" text="Equipment" />
|
||||
<TableColumn fx:id="routes" prefWidth="62.0" text="Routes" />
|
||||
</columns>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" />
|
||||
</GridPane.margin>
|
||||
</TableView>
|
||||
<WebView fx:id="mapView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="1" />
|
||||
</children>
|
||||
</GridPane>
|
||||
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="330.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.RouteEditController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="168.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="402.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Edit Route" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Airline*" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Source Airport*" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Desintation Airport*" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Codeshare" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Stops" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Equipment" GridPane.halignment="LEFT" GridPane.rowIndex="6">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="editButton" mnemonicParsing="false" onAction="#editRoute" text="Edit Route" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="7" />
|
||||
<TextField fx:id="rAirlineEdit" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="rSourceEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="rDestEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="rCodeshareEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="rStopsEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
<TextField fx:id="rEquipmentEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<Label text="* = required field" GridPane.halignment="LEFT" GridPane.rowIndex="7">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin></Label>
|
||||
</children>
|
||||
</GridPane>
|
||||
Loading…
Reference in new issue