commit
a8a377a893
Binary file not shown.
@ -0,0 +1,99 @@
|
||||
package seng202.group9.GUI;
|
||||
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.Button;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.stage.Stage;
|
||||
import seng202.group9.Controller.Dataset;
|
||||
import seng202.group9.Controller.Session;
|
||||
import seng202.group9.Core.FlightPoint;
|
||||
|
||||
/**
|
||||
* Controller for the Flights Edit Point Pop up Scene.
|
||||
* Created by Liam Beckett on 23/09/2016.
|
||||
*/
|
||||
public class FlightEditorController extends Controller{
|
||||
//Setting up text fields for adding data
|
||||
@FXML
|
||||
TextField fNameEdit;
|
||||
@FXML
|
||||
TextField fTypeEdit;
|
||||
@FXML
|
||||
TextField fAltitudeEdit;
|
||||
@FXML
|
||||
TextField fLatitudeEdit;
|
||||
@FXML
|
||||
TextField fLongitudeEdit;
|
||||
@FXML
|
||||
private Button flightEditButton;
|
||||
|
||||
//Set an empty Dataset to be assigned later
|
||||
private Dataset theDataSet = null;
|
||||
|
||||
/**
|
||||
* Edits a single flight entry in the database.
|
||||
* Takes in values from the field the user right clicked.
|
||||
* @see Dataset
|
||||
*/
|
||||
public void editFlight() {
|
||||
//Data is pre-loaded into the text fields and any accepted changes will be implemented.
|
||||
//Otherwise an error message will pop up with what is wrong with edit
|
||||
try {
|
||||
Session session = getParent().getSession();
|
||||
int flightPointID = session.getCurrentFlightPointID();
|
||||
|
||||
theDataSet.editFlight(
|
||||
theDataSet.getFlightPointDictionary().get(flightPointID),
|
||||
fNameEdit.getText(),
|
||||
fTypeEdit.getText(),
|
||||
fAltitudeEdit.getText(),
|
||||
fLatitudeEdit.getText(),
|
||||
fLongitudeEdit.getText()
|
||||
);
|
||||
session.setCurrentFlightPointID(flightPointID);
|
||||
|
||||
fNameEdit.clear();
|
||||
fTypeEdit.clear();
|
||||
fAltitudeEdit.clear();
|
||||
fLatitudeEdit.clear();
|
||||
fLongitudeEdit.clear();
|
||||
|
||||
Alert alert = new Alert(Alert.AlertType.INFORMATION);
|
||||
alert.setTitle("Flight Path Edit Successful");
|
||||
alert.setHeaderText("Flight Point Edited!");
|
||||
alert.setContentText("Your flight point has been updated in the database.");
|
||||
alert.showAndWait();
|
||||
|
||||
Stage stage = (Stage) flightEditButton.getScene().getWindow();
|
||||
stage.close();
|
||||
|
||||
} catch ( Exception e ) {
|
||||
e.printStackTrace();
|
||||
Alert alert = new Alert(Alert.AlertType.ERROR);
|
||||
alert.setTitle("Flight Data Error");
|
||||
alert.setHeaderText("Error editing a flight point.");
|
||||
alert.setContentText(e.getMessage());
|
||||
alert.showAndWait();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loader which is used to load the selected information into the text fields for editing.
|
||||
*/
|
||||
public void load() {
|
||||
theDataSet = getParent().getCurrentDataset();
|
||||
|
||||
Session session = getParent().getSession();
|
||||
int flightPointID = session.getCurrentFlightPointID();
|
||||
FlightPoint flightPoint = theDataSet.getFlightPointDictionary().get(flightPointID);
|
||||
|
||||
fNameEdit.setText(flightPoint.getName());
|
||||
fTypeEdit.setText(flightPoint.getType());
|
||||
fAltitudeEdit.setText(Double.toString(flightPoint.getAltitude()));
|
||||
fLatitudeEdit.setText(Double.toString(flightPoint.getLatitude()));
|
||||
fLongitudeEdit.setText(Double.toString(flightPoint.getLongitude()));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.ColumnConstraints?>
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.layout.RowConstraints?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
|
||||
<GridPane hgap="10.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="289.0" prefWidth="600.0" vgap="10.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="seng202.group9.GUI.FlightEditorController">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="280.0" minWidth="10.0" prefWidth="168.0" />
|
||||
<ColumnConstraints hgrow="SOMETIMES" maxWidth="515.0" minWidth="10.0" prefWidth="402.0" />
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints maxHeight="30.0" minHeight="0.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="4.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
<RowConstraints maxHeight="30.0" minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
|
||||
</rowConstraints>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
|
||||
</padding>
|
||||
<children>
|
||||
<Label text="Edit Flight Point" GridPane.columnSpan="2" GridPane.halignment="CENTER" GridPane.valignment="TOP">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label text="Name" GridPane.halignment="LEFT" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Type" GridPane.halignment="LEFT" GridPane.rowIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Altitude" GridPane.halignment="LEFT" GridPane.rowIndex="3">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Latitude" GridPane.halignment="LEFT" GridPane.rowIndex="4">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Label text="Longitude" GridPane.halignment="LEFT" GridPane.rowIndex="5">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="15.0" left="15.0" right="15.0" top="15.0" />
|
||||
</GridPane.margin>
|
||||
</Label>
|
||||
<Button fx:id="flightEditButton" mnemonicParsing="false" onAction="#editFlight" text="Edit Flight" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="6" />
|
||||
<TextField fx:id="fNameEdit" prefHeight="31.0" prefWidth="432.0" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="1" />
|
||||
<TextField fx:id="fTypeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="2" />
|
||||
<TextField fx:id="fAltitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="3" />
|
||||
<TextField fx:id="fLatitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="4" />
|
||||
<TextField fx:id="fLongitudeEdit" GridPane.columnIndex="1" GridPane.halignment="RIGHT" GridPane.rowIndex="5" />
|
||||
</children>
|
||||
</GridPane>
|
||||
Loading…
Reference in new issue