Applied single entry add methods to GUI for Airports and Airlines. Made error pop ups for them as well.

main
Sunguin Peng 10 years ago
parent c7f033283d
commit f33cdca373

Binary file not shown.

@ -2,6 +2,7 @@ package seng202.group9.GUI;
import javafx.collections.FXCollections; import javafx.collections.FXCollections;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Alert;
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;
@ -47,11 +48,7 @@ public class AirlineRDController extends MenuController {
private TextField airlCountryBox; private TextField airlCountryBox;
@FXML @FXML
private TextField airlActiveBox; private TextField airlActiveBox;
@FXML
private TextField airlIDBox;
private Dataset theDataSet = null;
App parent; App parent;
@ -59,38 +56,35 @@ public class AirlineRDController extends MenuController {
this.parent = parent; this.parent = parent;
} }
private Dataset theDataSet = null;
public void loadTables() { public void loadTables() {
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"));
airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA")); //Need to check IATA and ICAO
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO")); airlIATAcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("ICAO"));
airlICAOcol.setCellValueFactory(new PropertyValueFactory<Airline, String>("IATA"));
airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign")); airlCallsigncol.setCellValueFactory(new PropertyValueFactory<Airline, String>("CallSign"));
airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country")); airlCountrycol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Country"));
airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active")); airlActivecol.setCellValueFactory(new PropertyValueFactory<Airline, String>("Active"));
theDataSet = this.parent.getCurrentDataset(); 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())); tableView.setItems(FXCollections.observableArrayList(theDataSet.getAirlines()));
} }
//Dummy function to test the add button. //Dummy function to test the add button.
//Will edit when ID is added automatically. //Will edit when ID is added automatically.
public void addAirlineSingle() { public void addAirlineSingle() {
theDataSet.getAirlines().add(new Airline( try {
Integer.parseInt(airlIDBox.getText()), theDataSet.addAirline(
airlNameBox.getText(), airlNameBox.getText(),
airlAliasBox.getText(), airlAliasBox.getText(),
airlIATABox.getText(), airlIATABox.getText(),
airlICAOBox.getText(), airlICAOBox.getText(),
airlCallsignBox.getText(), airlCallsignBox.getText(),
airlCountryBox.getText(), airlCountryBox.getText(),
airlActiveBox.getText())); airlActiveBox.getText());
airlIDBox.clear();
airlNameBox.clear(); airlNameBox.clear();
airlAliasBox.clear(); airlAliasBox.clear();
airlIATABox.clear(); airlIATABox.clear();
@ -98,5 +92,13 @@ public class AirlineRDController extends MenuController {
airlCallsignBox.clear(); airlCallsignBox.clear();
airlCountryBox.clear(); airlCountryBox.clear();
airlActiveBox.clear(); airlActiveBox.clear();
tableView.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.");
alert.setContentText(e.getMessage());
alert.showAndWait();
}
} }
} }

@ -5,10 +5,7 @@ import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener; import javafx.collections.ListChangeListener;
import javafx.collections.ObservableList; import javafx.collections.ObservableList;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.Label; import javafx.scene.control.*;
import javafx.scene.control.TableCell;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.control.cell.PropertyValueFactory;
import javafx.util.Callback; import javafx.util.Callback;
import seng202.group9.Controller.App; import seng202.group9.Controller.App;
@ -50,6 +47,30 @@ public class AirportRDController extends MenuController{
@FXML @FXML
private TableColumn<Airport, City> airpTzcol; private TableColumn<Airport, City> airpTzcol;
@FXML
private TextField airpNameBox;
@FXML
private TextField airpCityBox;
@FXML
private TextField airpCountryBox;
@FXML
private TextField airpIATAFFABox;
@FXML
private TextField airpICAOBox;
@FXML
private TextField airpLatitudeBox;
@FXML
private TextField airpLongitudeBox;
@FXML
private TextField airpAltitudeBox;
@FXML
private TextField airpTimezoneBox;
@FXML
private TextField airpDSTBox;
@FXML
private TextField airpTzBox;
private Dataset theDataSet = null; private Dataset theDataSet = null;
App parent; App parent;
@ -59,8 +80,6 @@ public class AirportRDController extends MenuController{
} }
public void loadTables() { public void loadTables() {
theDataSet = this.parent.getCurrentDataset();
airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID")); airpIDcol.setCellValueFactory(new PropertyValueFactory<Airport, String>("ID"));
airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name")); airpNamecol.setCellValueFactory(new PropertyValueFactory<Airport, String>("Name"));
airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("City")); airpCitycol.setCellValueFactory(new PropertyValueFactory<Airport, String>("City"));
@ -91,8 +110,42 @@ public class AirportRDController extends MenuController{
// return timeZoneCell; // return timeZoneCell;
// } // }
// }); // });
theDataSet = this.parent.getCurrentDataset();
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
}
public void addAirportSingle() {
try {
theDataSet.addAirport(
airpNameBox.getText(),
airpCityBox.getText(),
airpCountryBox.getText(),
airpIATAFFABox.getText(),
airpICAOBox.getText(),
airpLatitudeBox.getText(),
airpLongitudeBox.getText(),
airpAltitudeBox.getText(),
airpTimezoneBox.getText(),
airpDSTBox.getText(),
airpTzBox.getText());
airpCityBox.clear();
airpCountryBox.clear();
airpIATAFFABox.clear();
airpICAOBox.clear();
airpLatitudeBox.clear();
airpLongitudeBox.clear();
airpAltitudeBox.clear();
airpTimezoneBox.clear();
airpDSTBox.clear();
airpTzBox.clear();
tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports())); tableViewAirportRD.setItems(FXCollections.observableArrayList(theDataSet.getAirports()));
} catch ( Exception e ) {
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Airline Data Error");
alert.setHeaderText("Error adding a custom airport entry.");
alert.setContentText(e.getMessage());
alert.showAndWait();
}
} }
} }

@ -85,11 +85,7 @@
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField fx:id="airlIDBox" layoutY="2.0" prefHeight="25.0" prefWidth="93.0" promptText="Airline ID"> <Label layoutY="2.0" prefHeight="25.0" prefWidth="93.0" text="Enter Values:" />
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
</children> </children>
</Pane> </Pane>
</children> </children>

@ -33,74 +33,70 @@
</Label> </Label>
<ScrollPane hbarPolicy="ALWAYS" layoutX="14.0" layoutY="364.0" prefHeight="47.0" prefViewportHeight="29.0" prefViewportWidth="1095.0" prefWidth="770.0" vbarPolicy="NEVER"> <ScrollPane hbarPolicy="ALWAYS" layoutX="14.0" layoutY="364.0" prefHeight="47.0" prefViewportHeight="29.0" prefViewportWidth="1095.0" prefWidth="770.0" vbarPolicy="NEVER">
<content> <content>
<Pane prefHeight="29.0" prefWidth="1087.0"> <Pane prefHeight="29.0" prefWidth="1219.0">
<children> <children>
<TextField layoutX="6.0" layoutY="2.0" prefHeight="25.0" prefWidth="83.0" promptText="Airport ID"> <TextField fx:id="airpNameBox" layoutX="89.0" layoutY="2.0" prefHeight="25.0" prefWidth="137.0" promptText="Name">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="89.0" layoutY="2.0" prefHeight="25.0" prefWidth="137.0" promptText="Name"> <TextField fx:id="airpCityBox" layoutX="226.0" layoutY="2.0" prefHeight="25.0" prefWidth="129.0" promptText="City">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="226.0" layoutY="2.0" prefHeight="25.0" prefWidth="129.0" promptText="City"> <TextField fx:id="airpCountryBox" layoutX="355.0" layoutY="2.0" prefHeight="25.0" prefWidth="96.0" promptText="Country">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="355.0" layoutY="2.0" prefHeight="25.0" prefWidth="96.0" promptText="Country"> <TextField fx:id="airpIATAFFABox" layoutX="451.0" layoutY="2.0" prefHeight="25.0" prefWidth="87.0" promptText="IATA/FAA">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="451.0" layoutY="2.0" prefHeight="25.0" prefWidth="87.0" promptText="IATA/FAA"> <TextField fx:id="airpICAOBox" layoutX="538.0" layoutY="2.0" prefHeight="25.0" prefWidth="48.0" promptText="ICAO">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="538.0" layoutY="2.0" prefHeight="25.0" prefWidth="48.0" promptText="ICAO"> <TextField fx:id="airpLatitudeBox" layoutX="586.0" layoutY="2.0" prefHeight="25.0" prefWidth="82.0" promptText="Latitude">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="586.0" layoutY="2.0" prefHeight="25.0" prefWidth="82.0" promptText="Latitude"> <TextField fx:id="airpLongitudeBox" layoutX="668.0" layoutY="2.0" prefHeight="25.0" prefWidth="92.0" promptText="Longitude">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="668.0" layoutY="2.0" prefHeight="25.0" prefWidth="92.0" promptText="Longitude"> <TextField fx:id="airpAltitudeBox" layoutX="760.0" layoutY="2.0" prefHeight="25.0" prefWidth="78.0" promptText="Altitude">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="760.0" layoutY="2.0" prefHeight="25.0" prefWidth="78.0" promptText="Altitude"> <TextField fx:id="airpTimezoneBox" layoutX="838.0" layoutY="2.0" prefHeight="25.0" prefWidth="80.0" promptText="Timezone">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="838.0" layoutY="2.0" prefHeight="25.0" prefWidth="80.0" promptText="Timezone"> <TextField fx:id="airpTzBox" layoutX="1023.0" layoutY="3.0" prefHeight="25.0" prefWidth="182.0" promptText="Tz database time zone">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="1020.0" layoutY="2.0" prefHeight="25.0" prefWidth="182.0" promptText="Tz database time zone"> <TextField fx:id="airpDSTBox" layoutX="918.0" layoutY="2.0" prefHeight="25.0" prefWidth="102.0" promptText="DST">
<padding>
<Insets left="2.0" right="2.0" />
</padding>
</TextField>
<TextField layoutX="918.0" layoutY="2.0" prefHeight="25.0" prefWidth="102.0" promptText="DST">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<Label layoutY="2.0" prefHeight="25.0" prefWidth="87.0" text="Enter Values:" />
</children> </children>
</Pane> </Pane>
</content> </content>
</ScrollPane> </ScrollPane>
<Button layoutX="10.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" /> <Button layoutX="10.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" />
<Button layoutX="661.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Add" /> <Button layoutX="661.0" layoutY="420.0" mnemonicParsing="false" onAction="#addAirportSingle" prefHeight="25.0" prefWidth="125.0" text="Add" />
<Pane layoutX="15.0" layoutY="60.0" prefHeight="295.0" prefWidth="772.0"> <Pane layoutX="15.0" layoutY="60.0" prefHeight="295.0" prefWidth="772.0">
<children> <children>
<TableView fx:id="tableViewAirportRD" prefHeight="293.0" prefWidth="770.0"> <TableView fx:id="tableViewAirportRD" prefHeight="293.0" prefWidth="770.0">

@ -65,17 +65,17 @@
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="758.0" layoutY="2.0" prefHeight="25.0" prefWidth="99.0" promptText="Codeshare"> <TextField fx:id="rCodeshareCol" layoutX="758.0" layoutY="2.0" prefHeight="25.0" prefWidth="99.0" promptText="Codeshare">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="857.0" layoutY="2.0" prefHeight="25.0" prefWidth="65.0" promptText="Stops"> <TextField fx:id="rStopsCol" layoutX="857.0" layoutY="2.0" prefHeight="25.0" prefWidth="65.0" promptText="Stops">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
</TextField> </TextField>
<TextField layoutX="922.0" layoutY="2.0" prefHeight="25.0" prefWidth="98.0" promptText="Equipment"> <TextField fx:id="rEquipmentCol" layoutX="922.0" layoutY="2.0" prefHeight="25.0" prefWidth="98.0" promptText="Equipment">
<padding> <padding>
<Insets left="2.0" right="2.0" /> <Insets left="2.0" right="2.0" />
</padding> </padding>
@ -85,17 +85,17 @@
</content> </content>
</ScrollPane> </ScrollPane>
<Button layoutX="10.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" /> <Button layoutX="10.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Analyse" />
<Button layoutX="661.0" layoutY="420.0" mnemonicParsing="false" prefHeight="25.0" prefWidth="125.0" text="Add" /> <Button layoutX="661.0" layoutY="420.0" mnemonicParsing="false" onAction="#addRouteSingle" prefHeight="25.0" prefWidth="125.0" text="Add" />
<Pane layoutX="8.0" layoutY="53.0" prefHeight="300.0" prefWidth="776.0"> <Pane layoutX="8.0" layoutY="53.0" prefHeight="300.0" prefWidth="776.0">
<children> <children>
<TableView layoutX="-1.0" prefHeight="300.0" prefWidth="784.0"> <TableView fx:id="tableViewRouteRD" layoutX="-1.0" prefHeight="300.0" prefWidth="784.0">
<columns> <columns>
<TableColumn prefWidth="67.0" text="Airline" /> <TableColumn fx:id="rAirlineCol" prefWidth="67.0" text="Airline" />
<TableColumn prefWidth="86.0" text="Airline ID" /> <TableColumn fx:id="rAirlineIDCol" prefWidth="86.0" text="Airline ID" />
<TableColumn minWidth="0.0" prefWidth="124.0" text="Source airport" /> <TableColumn fx:id="rSourceCol" minWidth="0.0" prefWidth="124.0" text="Source airport" />
<TableColumn minWidth="0.0" prefWidth="141.0" text="Source airport ID" /> <TableColumn fx:id="rSourceIDCol" minWidth="0.0" prefWidth="141.0" text="Source airport ID" />
<TableColumn minWidth="0.0" prefWidth="160.0" text="Destination airport" /> <TableColumn fx:id="rDestCol" minWidth="0.0" prefWidth="160.0" text="Destination airport" />
<TableColumn minWidth="0.0" prefWidth="184.0" text="Destination airport ID" /> <TableColumn fx:id="rDestIDCol" minWidth="0.0" prefWidth="184.0" text="Destination airport ID" />
<TableColumn minWidth="0.0" prefWidth="95.0" text="Codeshare" /> <TableColumn minWidth="0.0" prefWidth="95.0" text="Codeshare" />
<TableColumn minWidth="0.0" prefWidth="69.0" text="Stops" /> <TableColumn minWidth="0.0" prefWidth="69.0" text="Stops" />
<TableColumn prefWidth="98.0" text="Equipment" /> <TableColumn prefWidth="98.0" text="Equipment" />

Loading…
Cancel
Save