Added filter function to the Airline GUI

This commit is contained in:
Sunguin Peng
2016-09-17 18:16:10 +12:00
parent 30f7b2d842
commit 1feb1c9153
4 changed files with 130 additions and 41 deletions
@@ -4,6 +4,7 @@ import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.control.cell.PropertyValueFactory;
import seng202.group9.Controller.AirlineFilter;
import seng202.group9.Controller.Dataset;
import seng202.group9.Core.Airline;
@@ -46,7 +47,20 @@ public class AirlineRDController extends Controller {
@FXML
private ComboBox<String> airlActiveCBox;
@FXML
private TextField airlNameFilter;
@FXML
private TextField airlAliasFilter;
@FXML
private TextField airlIATAFilter;
@FXML
private TextField airlICAOFilter;
@FXML
private TextField airlCallsignFilter;
@FXML
private TextField airlCountryFilter;
@FXML
private TextField airlActiveFilter;
private Dataset theDataSet = null;
@@ -83,7 +97,6 @@ public class AirlineRDController extends Controller {
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
//Need to check IATA and ICAO
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
@@ -102,4 +115,30 @@ public class AirlineRDController extends Controller {
theDataSet.deleteAirline(toDelete);
tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
}
public void filterAirlines() {
AirlineFilter filter = new AirlineFilter(theDataSet.getAirlines());
if (airlNameFilter.getText() != null) {
filter.filterName(airlNameFilter.getText());
}
if (airlAliasFilter.getText() != null) {
filter.filterAlias(airlAliasFilter.getText());
}
if (airlIATAFilter.getText() != null) {
filter.filterIATA(airlIATAFilter.getText());
}
if (airlICAOFilter.getText() != null) {
filter.filterICAO(airlICAOFilter.getText());
}
if (airlCallsignFilter.getText() != null) {
filter.filterCallsign(airlCallsignFilter.getText());
}
if (airlCountryFilter.getText() != null) {
filter.filterCountry(airlCountryFilter.getText());
}
if (airlActiveFilter.getText() != null) {
filter.filterActive(airlActiveFilter.getText());
}
tableViewAirlineRD.setItems(FXCollections.<Airline>observableArrayList(filter.getFilteredData()));
}
}
@@ -147,6 +147,6 @@ public class RouteRDController extends Controller {
}
// System.out.println("Hello");
// filter.printFilter();
tableViewRouteRD.setItems(FXCollections.observableArrayList(filter.getFilteredData()));
tableViewRouteRD.setItems(FXCollections.<Route>observableArrayList(filter.getFilteredData()));
}
}