diff --git a/src/main/java/seng202/group9/GUI/AirlineAddController.java b/src/main/java/seng202/group9/GUI/AirlineAddController.java new file mode 100644 index 0000000..3bbe491 --- /dev/null +++ b/src/main/java/seng202/group9/GUI/AirlineAddController.java @@ -0,0 +1,66 @@ +package seng202.group9.GUI; + +import javafx.collections.FXCollections; +import javafx.fxml.FXML; +import javafx.scene.control.Alert; +import javafx.scene.control.TextField; +import seng202.group9.Controller.Dataset; + +/** + * Created by Sunguin on 2016/09/22. + */ +public class AirlineAddController extends AirlineRDController{ + //Setting up text fields for adding data + @FXML + private TextField airlNameAdd; + @FXML + private TextField airlAliasAdd; + @FXML + private TextField airlIATAAdd; + @FXML + private TextField airlICAOAdd; + @FXML + private TextField airlCallsignAdd; + @FXML + private TextField airlCountryAdd; + @FXML + private TextField airlActiveAdd; + + Dataset theDataSet = null; + + /** + * Adds a single airline entry to the database. + * Takes in values from the GUI the user has typed in. + * @see Dataset + */ + public void addAirlineSingle() { + //Tries to add a new airline and clears the fields to their initial state if successful. + //Otherwise an error message will pop up with what is wrong with the manual data. + + try { + theDataSet.addAirline( + airlNameAdd.getText(), + airlAliasAdd.getText(), + airlIATAAdd.getText(), + airlICAOAdd.getText(), + airlCallsignAdd.getText(), + airlCountryAdd.getText(), + airlActiveAdd.getText()); + airlNameAdd.clear(); + airlAliasAdd.clear(); + airlIATAAdd.clear(); + airlICAOAdd.clear(); + airlCallsignAdd.clear(); + airlCountryAdd.clear(); + airlActiveAdd.getText(); + //setData(theDataSet); + } catch (Exception e) { + Alert alert = new Alert(Alert.AlertType.ERROR); + alert.setTitle("Airline Data Error"); + alert.setHeaderText("Error adding a custom airline entry."); + System.out.println(e); + alert.setContentText(e.getMessage()); + alert.showAndWait(); + } + } +} diff --git a/src/main/java/seng202/group9/GUI/AirlineFilterController.java b/src/main/java/seng202/group9/GUI/AirlineFilterController.java new file mode 100644 index 0000000..6a77efe --- /dev/null +++ b/src/main/java/seng202/group9/GUI/AirlineFilterController.java @@ -0,0 +1,69 @@ +package seng202.group9.GUI; + +import javafx.collections.FXCollections; +import javafx.fxml.FXML; +import javafx.scene.control.TextField; +import seng202.group9.Controller.AirlineFilter; +import seng202.group9.Controller.Dataset; +import seng202.group9.Core.Airline; + +/** + * Created by Sunguin on 2016/09/22. + */ +public class AirlineFilterController extends AirlineRDController{ + + //Setting up text fields for filtering data + @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; + + Dataset theDataSet = null; + + + /** + * Filters airlines by any field. + * These are specified by what the user has typed in the filter boxes. + * Updates the GUI accordingly. + * @see AirlineFilter + */ + public void filterAirlines() { + //System.out.println(getData()); + //The filter function also operates like a search function + //theDataSet = getParent().getCurrentDataset(); + 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()); + } + //Sets the data according to the criteria specified by the user. + //setDataL(FXCollections.observableArrayList(filter.getFilteredData())); + } +} diff --git a/src/main/java/seng202/group9/GUI/AirlineRDController.java b/src/main/java/seng202/group9/GUI/AirlineRDController.java index c1f8081..949b597 100644 --- a/src/main/java/seng202/group9/GUI/AirlineRDController.java +++ b/src/main/java/seng202/group9/GUI/AirlineRDController.java @@ -47,41 +47,12 @@ public class AirlineRDController extends Controller { @FXML private TableColumn airlActiveCol; - //Setting up text fields for adding data - @FXML - private TextField airlNameAdd; - @FXML - private TextField airlAliasAdd; - @FXML - private TextField airlIATAAdd; - @FXML - private TextField airlICAOAdd; - @FXML - private TextField airlCallsignAdd; - @FXML - private TextField airlCountryAdd; - @FXML - private TextField airlActiveAdd; - - //Setting up text fields for filtering data - @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; //Set an empty Dataset to be assigned later. private Dataset theDataSet = null; + private ObservableList dataL = null; + /** * Loads the initial airline data to the GUI table. * Also sets up the dropdown menu options. @@ -102,6 +73,7 @@ public class AirlineRDController extends Controller { tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } + /** * Opens the Airline add form. */ @@ -118,80 +90,40 @@ public class AirlineRDController extends Controller { } catch (IOException e) { e.printStackTrace(); } - + tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } + /** - * Adds a single airline entry to the database. - * Takes in values from the GUI the user has typed in. - * @see Dataset + * Opens the Airline Filter form. */ - public void addAirlineSingle() { - //Tries to add a new airline and clears the fields to their initial state if successful. - //Otherwise an error message will pop up with what is wrong with the manual data. - - //How to get this dataset into here to show data? + public void openFilter() { try { - theDataSet.addAirline( - airlNameAdd.getText(), - airlAliasAdd.getText(), - airlIATAAdd.getText(), - airlICAOAdd.getText(), - airlCallsignAdd.getText(), - airlCountryAdd.getText(), - airlActiveAdd.getText()); - airlNameAdd.clear(); - airlAliasAdd.clear(); - airlIATAAdd.clear(); - airlICAOAdd.clear(); - airlCallsignAdd.clear(); - airlCountryAdd.clear(); - airlActiveAdd.getText(); - tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); - } catch (Exception e) { - Alert alert = new Alert(Alert.AlertType.ERROR); - alert.setTitle("Airline Data Error"); - alert.setHeaderText("Error adding a custom airline entry."); - System.out.println(e); - alert.setContentText(e.getMessage()); - alert.showAndWait(); + Parent root = FXMLLoader.load(getClass().getResource("/airline_filter_form.fxml")); + final Stage filter = new Stage(); + filter.initModality(Modality.APPLICATION_MODAL); + filter.setResizable(false); + filter.setTitle("Airline Filter"); + filter.setScene(new Scene(root, 600, 370)); + filter.show(); + } catch (IOException e) { + e.printStackTrace(); } + tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } - /** - * Filters airlines by any field. - * These are specified by what the user has typed in the filter boxes. - * Updates the GUI accordingly. - * @see AirlineFilter - */ - public void filterAirlines() { - //The filter function also operates like a search function - //theDataSet = getParent().getCurrentDataset(); - 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()); - } - //Sets the data according to the criteria specified by the user. - tableViewAirlineRD.setItems(FXCollections.observableArrayList(filter.getFilteredData())); - } +// public void setData(Dataset data) { +// this.theDataSet = data; +// } +// +// public Dataset getData() { +// return theDataSet; +// } +// +// public void setDataL(ObservableList re) { +// this.dataL = re; +// } + /** * Deletes a single selected airline entry from the database. @@ -205,23 +137,6 @@ public class AirlineRDController extends Controller { tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines())); } - /** - * Opens the Airline Filter form. - */ - public void openFilter() { - try { - Parent root = FXMLLoader.load(getClass().getResource("/airline_filter_form.fxml")); - final Stage filter = new Stage(); - filter.initModality(Modality.APPLICATION_MODAL); - filter.setResizable(false); - filter.setTitle("Airline Filter"); - filter.setScene(new Scene(root, 600, 370)); - filter.show(); - } catch (IOException e) { - e.printStackTrace(); - } - } - /** * Analyses the current data and creates a graph based on the data. diff --git a/src/main/resources/airline_add_form.fxml b/src/main/resources/airline_add_form.fxml index 1a31a01..8945ab5 100644 --- a/src/main/resources/airline_add_form.fxml +++ b/src/main/resources/airline_add_form.fxml @@ -9,7 +9,7 @@ - + diff --git a/src/main/resources/airline_filter_form.fxml b/src/main/resources/airline_filter_form.fxml index 5005932..49a0ead 100644 --- a/src/main/resources/airline_filter_form.fxml +++ b/src/main/resources/airline_filter_form.fxml @@ -9,7 +9,7 @@ - +