Linked Raw Data GUI together and tables have some data in them from the database.

This commit is contained in:
Sunguin Peng
2016-09-14 11:38:59 +12:00
parent dff71615cb
commit 6806c0d099
14 changed files with 248 additions and 152 deletions
@@ -1,23 +1,19 @@
package seng202.group9.GUI;
import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import seng202.group9.Controller.DataException;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
import seng202.group9.Core.Airline;
import java.net.URL;
import java.util.ResourceBundle;
/**
* Created by Sunguin on 2016/09/13.
*/
public class AirlineRDController extends MenuController implements Initializable{
public class AirlineRDController extends MenuController {
@FXML
private TableView<Airline> tableView;
@@ -57,13 +53,13 @@ public class AirlineRDController extends MenuController implements Initializable
private Dataset theDataSet = null;
public AirlineRDController(){
App parent;
public void setApp(App parent){
this.parent = parent;
}
//Initializes the table.
//Uses dummy data since I have no idea how the data is connected together.
@Override
public void initialize(URL url, ResourceBundle rb) {
public void loadTables() {
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
@@ -73,17 +69,13 @@ public class AirlineRDController extends MenuController implements Initializable
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country"));
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
try {
theDataSet = new Dataset("test's", Dataset.getExisting);
}catch (DataException e){
e.printStackTrace();
}
try{
System.out.println(theDataSet.importAirline("res/Samples/Airlines.txt"));
} catch (DataException e){
e.printStackTrace();
}
tableView.setItems(theDataSet.getAirlines());
theDataSet = this.parent.getCurrentDataset();
// try{
// System.out.println(theDataSet.importAirline("res/Samples/Airlines.txt"));
// } catch (DataException e){
// e.printStackTrace();
// }
tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
}
//Dummy function to test the add button.
@@ -1,12 +1,98 @@
package seng202.group9.GUI;
import javafx.fxml.Initializable;
import javafx.beans.InvalidationListener;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.util.Callback;
import seng202.group9.Controller.App;
import seng202.group9.Controller.Dataset;
import seng202.group9.Core.Airport;
import seng202.group9.Core.City;
import seng202.group9.Core.Country;
/**
* Created by Sunguin on 2016/09/13.
*/
public class AirportRDController extends MenuController implements Initializable {
public class AirportRDController extends MenuController{
public AirportRDController(){
@FXML
private TableView<Airport> tableViewAirportRD;
@FXML
private TableColumn<Airport, String> airpIDcol;
@FXML
private TableColumn<Airport, String> airpNamecol;
@FXML
private TableColumn<Airport, String> airpCitycol;
@FXML
private TableColumn<Airport, String> airpCountrycol;
@FXML
private TableColumn<Airport, String> airpIATAFFAcol;
@FXML
private TableColumn<Airport, String> airpICAOcol;
@FXML
private TableColumn<Airport, String> airpLatitudecol;
@FXML
private TableColumn<Airport, String> airpLongitudecol;
@FXML
private TableColumn<Airport, String> airpAltitudecol;
@FXML
private TableColumn<Airport, City> airpTimezonecol;
@FXML
private TableColumn<Airport, Country> airpDSTcol;
@FXML
private TableColumn<Airport, City> airpTzcol;
private Dataset theDataSet = null;
App parent;
public void setApp(App parent){
this.parent = parent;
}
public void loadTables() {
theDataSet = this.parent.getCurrentDataset();
airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID"));
airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("City"));
airpCountrycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Country"));
airpIATAFFAcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("IATA_FFA"));
airpICAOcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ICAO"));
airpLatitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Latitude"));
airpLongitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Longitude"));
airpAltitudecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Altitude"));
airpTimezonecol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Timezone"));
airpDSTcol.setCellValueFactory(new PropertyValueFactory<Airport, Country>("DST"));
airpTzcol.setCellValueFactory(new PropertyValueFactory<Airport, City>("Tz"));
// airpTimezonecol.setCellFactory(new Callback<TableColumn<Airport, String>, TableCell<Airport, City>>() {
//
// @Override
// public TableCell<Airport, City> call(TableColumn<Airport, City> param) {
// TableCell<Airport, City> timeZoneCell = new TableCell<Airport, City>() {
// @Override
// protected void updateItem(City timezone, boolean empty) {
// if (timezone != null) {
// Label timeZoneLabel = new Label(timezone.getTimeOlson());
// setGraphic(timeZoneLabel);
// }
// }
// };
//
// return timeZoneCell;
// }
// });
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
}
}
@@ -37,8 +37,29 @@ public class MenuController implements Initializable{
*/
public void viewAirlineRawData() {
try {
parent.replaceSceneContent("menu.fxml");
System.out.println("Loaded Airline Raw Data.");
AirlineRDController summaryController = (AirlineRDController) parent.replaceSceneContent("airline_raw_data.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
} catch (Exception e) {
e.printStackTrace();
}
}
public void viewAirportRawData() {
try {
AirportRDController summaryController = (AirportRDController) parent.replaceSceneContent("airport_raw_data.fxml");
summaryController.setApp(parent);
summaryController.loadTables();
} catch (Exception e) {
e.printStackTrace();
}
}
public void viewRouteRawData() {
try {
RouteRDController summaryController = (RouteRDController) parent.replaceSceneContent("route_raw_data.fxml");
summaryController.setApp(parent);
//summaryController.loadTables();
} catch (Exception e) {
e.printStackTrace();
}
@@ -74,6 +95,7 @@ public class MenuController implements Initializable{
}
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
@@ -0,0 +1,14 @@
package seng202.group9.GUI;
import seng202.group9.Controller.App;
/**
* Created by Sunguin on 2016/09/14.
*/
public class RouteRDController extends MenuController {
App parent;
public void setApp(App parent){
this.parent = parent;
}
}