Added filter function to the Airline GUI
This commit is contained in:
Binary file not shown.
@@ -4,6 +4,7 @@ import javafx.collections.FXCollections;
|
|||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.PropertyValueFactory;
|
import javafx.scene.control.cell.PropertyValueFactory;
|
||||||
|
import seng202.group9.Controller.AirlineFilter;
|
||||||
import seng202.group9.Controller.Dataset;
|
import seng202.group9.Controller.Dataset;
|
||||||
import seng202.group9.Core.Airline;
|
import seng202.group9.Core.Airline;
|
||||||
|
|
||||||
@@ -46,7 +47,20 @@ public class AirlineRDController extends Controller {
|
|||||||
@FXML
|
@FXML
|
||||||
private ComboBox<String> airlActiveCBox;
|
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;
|
private Dataset theDataSet = null;
|
||||||
|
|
||||||
@@ -83,7 +97,6 @@ public class AirlineRDController extends Controller {
|
|||||||
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
|
airlIDcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ID"));
|
||||||
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
|
airlNamecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Name"));
|
||||||
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
|
airlAliascol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Alias"));
|
||||||
//Need to check IATA and ICAO
|
|
||||||
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
|
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
|
||||||
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
|
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
|
||||||
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
|
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
|
||||||
@@ -102,4 +115,30 @@ public class AirlineRDController extends Controller {
|
|||||||
theDataSet.deleteAirline(toDelete);
|
theDataSet.deleteAirline(toDelete);
|
||||||
tableViewAirlineRD.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
|
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");
|
// System.out.println("Hello");
|
||||||
// filter.printFilter();
|
// filter.printFilter();
|
||||||
tableViewRouteRD.setItems(FXCollections.observableArrayList(filter.getFilteredData()));
|
tableViewRouteRD.setItems(FXCollections.<Route>observableArrayList(filter.getFilteredData()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
<?import javafx.scene.control.ContextMenu?>
|
<?import javafx.scene.control.ContextMenu?>
|
||||||
<?import javafx.scene.control.Label?>
|
<?import javafx.scene.control.Label?>
|
||||||
<?import javafx.scene.control.MenuItem?>
|
<?import javafx.scene.control.MenuItem?>
|
||||||
|
<?import javafx.scene.control.ScrollPane?>
|
||||||
<?import javafx.scene.control.TableColumn?>
|
<?import javafx.scene.control.TableColumn?>
|
||||||
<?import javafx.scene.control.TableView?>
|
<?import javafx.scene.control.TableView?>
|
||||||
<?import javafx.scene.control.TextField?>
|
<?import javafx.scene.control.TextField?>
|
||||||
@@ -34,9 +35,9 @@
|
|||||||
</Label>
|
</Label>
|
||||||
<Button layoutX="14.0" layoutY="526.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" />
|
<Button layoutX="14.0" layoutY="526.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" />
|
||||||
<Button layoutX="654.0" layoutY="526.0" mnemonicParsing="false" onAction="#addAirlineSingle" prefHeight="25.0" prefWidth="125.0" text="Add" />
|
<Button layoutX="654.0" layoutY="526.0" mnemonicParsing="false" onAction="#addAirlineSingle" prefHeight="25.0" prefWidth="125.0" text="Add" />
|
||||||
<Pane layoutX="14.0" layoutY="57.0" prefHeight="403.0" prefWidth="765.0">
|
<Pane layoutX="14.0" layoutY="57.0" prefHeight="340.0" prefWidth="765.0">
|
||||||
<children>
|
<children>
|
||||||
<TableView fx:id="tableViewAirlineRD" layoutX="1.0" prefHeight="403.0" prefWidth="765.0">
|
<TableView fx:id="tableViewAirlineRD" layoutX="1.0" prefHeight="340.0" prefWidth="765.0">
|
||||||
<columns>
|
<columns>
|
||||||
<TableColumn fx:id="airlIDcol" prefWidth="83.0" text="Airline ID" />
|
<TableColumn fx:id="airlIDcol" prefWidth="83.0" text="Airline ID" />
|
||||||
<TableColumn fx:id="airlNamecol" prefWidth="450.0" text="Name" />
|
<TableColumn fx:id="airlNamecol" prefWidth="450.0" text="Name" />
|
||||||
@@ -57,42 +58,91 @@
|
|||||||
</TableView>
|
</TableView>
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
<Pane layoutX="14.0" layoutY="483.0" prefHeight="31.0" prefWidth="765.0">
|
<ScrollPane layoutX="14.0" layoutY="467.0" prefHeight="56.0" prefWidth="765.0">
|
||||||
<children>
|
<content>
|
||||||
<TextField fx:id="airlNameBox" layoutX="97.0" layoutY="-1.0" prefHeight="31.0" prefWidth="137.0" promptText="Name">
|
<Pane prefHeight="37.0" prefWidth="1436.0">
|
||||||
<padding>
|
<children>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlNameBox" layoutX="97.0" layoutY="3.0" prefHeight="31.0" prefWidth="450.0" promptText="Name">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<TextField fx:id="airlAliasBox" layoutX="234.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="Alias">
|
</padding>
|
||||||
<padding>
|
</TextField>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlAliasBox" layoutX="547.0" layoutY="3.0" prefHeight="31.0" prefWidth="56.0" promptText="Alias">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<TextField fx:id="airlIATABox" layoutX="303.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="IATA">
|
</padding>
|
||||||
<padding>
|
</TextField>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlIATABox" layoutX="603.0" layoutY="3.0" prefHeight="31.0" prefWidth="59.0" promptText="IATA">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<TextField fx:id="airlICAOBox" layoutX="372.0" layoutY="-1.0" prefHeight="31.0" prefWidth="69.0" promptText="ICAO">
|
</padding>
|
||||||
<padding>
|
</TextField>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlICAOBox" layoutX="662.0" layoutY="3.0" prefHeight="31.0" prefWidth="68.0" promptText="ICAO">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<TextField fx:id="airlCallsignBox" layoutX="441.0" layoutY="-1.0" prefHeight="31.0" prefWidth="84.0" promptText="Callsign">
|
</padding>
|
||||||
<padding>
|
</TextField>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlCallsignBox" layoutX="730.0" layoutY="3.0" prefHeight="31.0" prefWidth="400.0" promptText="Callsign">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<TextField fx:id="airlCountryBox" layoutX="525.0" layoutY="-1.0" prefHeight="31.0" prefWidth="137.0" promptText="Country">
|
</padding>
|
||||||
<padding>
|
</TextField>
|
||||||
<Insets left="2.0" right="2.0" />
|
<TextField fx:id="airlCountryBox" layoutX="1130.0" layoutY="3.0" prefHeight="31.0" prefWidth="200.0" promptText="Country">
|
||||||
</padding>
|
<padding>
|
||||||
</TextField>
|
<Insets left="2.0" right="2.0" />
|
||||||
<Label layoutY="2.0" prefHeight="25.0" prefWidth="93.0" text="Enter Values:" />
|
</padding>
|
||||||
<ComboBox fx:id="airlActiveCBox" layoutX="662.0" layoutY="-1.0" prefHeight="31.0" prefWidth="102.0" promptText="Active" />
|
</TextField>
|
||||||
</children>
|
<Label layoutX="14.0" layoutY="6.0" prefHeight="25.0" prefWidth="84.0" text="Add Airline:" />
|
||||||
</Pane>
|
<ComboBox fx:id="airlActiveCBox" layoutX="1330.0" layoutY="-1.0" prefHeight="31.0" prefWidth="102.0" promptText="Active" />
|
||||||
|
</children>
|
||||||
|
</Pane>
|
||||||
|
</content>
|
||||||
|
</ScrollPane>
|
||||||
|
<ScrollPane layoutX="14.0" layoutY="406.0" prefHeight="56.0" prefWidth="713.0">
|
||||||
|
<content>
|
||||||
|
<Pane prefHeight="37.0" prefWidth="1315.0">
|
||||||
|
<children>
|
||||||
|
<TextField fx:id="airlNameFilter" layoutX="57.0" layoutY="3.0" prefHeight="31.0" prefWidth="400.0" promptText="Name">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<TextField fx:id="airlAliasFilter" layoutX="457.0" layoutY="3.0" prefHeight="31.0" prefWidth="56.0" promptText="Alias">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<TextField fx:id="airlIATAFilter" layoutX="513.0" layoutY="3.0" prefHeight="31.0" prefWidth="59.0" promptText="IATA">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<TextField fx:id="airlICAOFilter" layoutX="572.0" layoutY="3.0" prefHeight="31.0" prefWidth="68.0" promptText="ICAO">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<TextField fx:id="airlCallsignFilter" layoutX="640.0" layoutY="3.0" prefHeight="31.0" prefWidth="400.0" promptText="Callsign">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<TextField fx:id="airlCountryFilter" layoutX="1040.0" layoutY="3.0" prefHeight="31.0" prefWidth="200.0" promptText="Country">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
<Label layoutX="10.0" layoutY="6.0" prefHeight="25.0" prefWidth="47.0" text="Filter :" />
|
||||||
|
<TextField fx:id="airlActiveFilter" layoutX="1240.0" layoutY="3.0" prefHeight="31.0" prefWidth="66.0" promptText="Active">
|
||||||
|
<padding>
|
||||||
|
<Insets left="2.0" right="2.0" />
|
||||||
|
</padding>
|
||||||
|
</TextField>
|
||||||
|
</children>
|
||||||
|
</Pane>
|
||||||
|
</content>
|
||||||
|
</ScrollPane>
|
||||||
|
<Button layoutX="733.0" layoutY="416.0" mnemonicParsing="false" onAction="#filterAirlines" prefHeight="31.0" prefWidth="40.0" text="Go" />
|
||||||
</children>
|
</children>
|
||||||
</Pane>
|
</Pane>
|
||||||
</children>
|
</children>
|
||||||
|
|||||||
Reference in New Issue
Block a user