aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorViktoria Pundy <viktoria.pundy@aon.at>2018-05-02 21:18:20 +0200
committerViktoria Pundy <viktoria.pundy@aon.at>2018-05-06 18:12:30 +0200
commit391eb6e5658eb1395befc736d7fea15678b69eff (patch)
tree60fb1867b8b401a5911d8dc9117b041b7e8f6d1b /src
parent8a351f2056cd26fd220c0193ba1400f2c810f940 (diff)
downloadsepm-groupproject-391eb6e5658eb1395befc736d7fea15678b69eff.tar.gz
sepm-groupproject-391eb6e5658eb1395befc736d7fea15678b69eff.tar.xz
sepm-groupproject-391eb6e5658eb1395befc736d7fea15678b69eff.zip
Created first (unfinished) version for operation UI, started implementing Controller
Diffstat (limited to 'src')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java74
-rw-r--r--src/main/resources/fxmlFiles/CreateOperationController.fxml94
2 files changed, 168 insertions, 0 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
new file mode 100644
index 0000000..10f9f03
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
@@ -0,0 +1,74 @@
+package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.userInterface;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import java.time.Instant;
+import java.util.LinkedList;
+import java.util.List;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.ListView;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.AnchorPane;
+
+public class CreateOperationController {
+
+ public AnchorPane apCreateOperation;
+ public TextField txtCode;
+ public TextField txtAddress;
+ public TextField txtNote;
+ public Button btnCreateOperation;
+ public ListView<Vehicle> lvVehicles;
+ public ListView lvActiveOperations;
+ public Label lblChosenVehicles;
+ public LinkedList<Vehicle> chosenVehicles;
+
+ OperationService operationService = new OperationServiceImpl();
+ VehicleService vehicleService = new VehicleServiceImpl();
+
+ public CreateOperationController() {}
+
+ @FXML
+ public void initialize() {
+ lvVehicles.setOnMouseClicked(
+ event -> {
+ if (event.getClickCount() == 2) {
+ chosenVehicles.add(lvVehicles.getSelectionModel().getSelectedItem());
+ }
+ });
+ }
+
+ @FXML
+ protected void createOperationClicked() {
+ Vehicle[] vehicles = new Vehicle[chosenVehicles.size()];
+ for (int i = 0; i < chosenVehicles.size(); i++) {
+ vehicles[i] = chosenVehicles.get(i);
+ }
+ Operation operation =
+ Operation.builder()
+ .additionalInfo(txtNote.getText())
+ .destination(txtAddress.getText())
+ .created(Instant.now())
+ .opCode(txtCode.getText())
+ .status(Status.ACTIVE)
+ .vehicles(List.of(vehicles))
+ .build();
+
+ try {
+ operationService.add(operation);
+ } catch (InvalidOperationException e) {
+ //TODO
+ } catch (ServiceException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}
diff --git a/src/main/resources/fxmlFiles/CreateOperationController.fxml b/src/main/resources/fxmlFiles/CreateOperationController.fxml
new file mode 100644
index 0000000..7b188fd
--- /dev/null
+++ b/src/main/resources/fxmlFiles/CreateOperationController.fxml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.control.Label?>
+<?import javafx.scene.control.ListView?>
+<?import javafx.scene.control.TextField?>
+<?import javafx.scene.layout.AnchorPane?>
+<?import javafx.scene.text.Font?>
+
+<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="650.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.userInterface.CreateOperationController">
+ <children>
+ <AnchorPane layoutX="964.0" layoutY="-66.0" prefHeight="182.0" prefWidth="1200.0" style="-fx-background-color: blue;" AnchorPane.leftAnchor="0.0" AnchorPane.topAnchor="0.0" />
+ <AnchorPane fx:id="apCreateOperation" layoutX="40.0" layoutY="71.0" prefHeight="151.0" prefWidth="920.0" style="-fx-background-color: white;">
+ <children>
+ <Label layoutX="14.0" layoutY="14.0" prefHeight="30.0" prefWidth="62.0" text="Code">
+ <font>
+ <Font size="19.0" />
+ </font>
+ </Label>
+ <Label layoutX="185.0" layoutY="14.0" prefHeight="30.0" prefWidth="94.0" text="Adresse">
+ <font>
+ <Font size="19.0" />
+ </font>
+ </Label>
+ <Label layoutX="587.0" layoutY="14.0" prefHeight="30.0" prefWidth="121.0" text="Anmerkung">
+ <font>
+ <Font size="19.0" />
+ </font>
+ </Label>
+ <TextField fx:id="txtCode" layoutX="14.0" layoutY="48.0" prefHeight="39.0" prefWidth="163.0" text="ALP-95E7">
+ <font>
+ <Font name="System Bold" size="20.0" />
+ </font>
+ </TextField>
+ <TextField fx:id="txtAddress" layoutX="185.0" layoutY="48.0" prefHeight="39.0" prefWidth="396.0">
+ <font>
+ <Font name="System Bold" size="20.0" />
+ </font>
+ </TextField>
+ <TextField fx:id="txtNote" layoutX="587.0" layoutY="48.0" prefHeight="39.0" prefWidth="319.0">
+ <font>
+ <Font size="20.0" />
+ </font>
+ </TextField>
+ <Label layoutX="14.0" layoutY="101.0" prefHeight="30.0" prefWidth="102.0" text="Fahrzeuge:">
+ <font>
+ <Font size="19.0" />
+ </font>
+ </Label>
+ <Label fx:id="lblChosenVehicles" layoutX="116.0" layoutY="102.0" prefHeight="30.0" prefWidth="610.0" text="keine ausgewählt">
+ <font>
+ <Font size="19.0" />
+ </font>
+ </Label>
+ <Button fx:id="btnCreateOperation" layoutX="740.0" layoutY="95.0" mnemonicParsing="false" onAction="#createOperationClicked" prefHeight="0.0" prefWidth="158.0" text="Erstellen">
+ <font>
+ <Font name="System Bold" size="21.0" />
+ </font>
+ </Button>
+ </children>
+ </AnchorPane>
+ <Label layoutX="55.0" layoutY="38.0" text="Anmeldungen" textFill="WHITE">
+ <font>
+ <Font size="15.0" />
+ </font>
+ </Label>
+ <Label layoutX="802.0" layoutY="38.0" text="Personen" textFill="WHITE">
+ <font>
+ <Font size="15.0" />
+ </font>
+ </Label>
+ <Label layoutX="877.0" layoutY="38.0" text="Fahrzeuge" textFill="WHITE">
+ <font>
+ <Font size="15.0" />
+ </font>
+ </Label>
+ <AnchorPane fx:id="apActiveOperations" layoutX="973.0" layoutY="69.0" prefHeight="243.0" prefWidth="207.0" style="-fx-background-color: white;">
+ <children>
+ <ListView fx:id="lvActiveOperations" layoutX="4.0" layoutY="74.0" prefHeight="242.0" prefWidth="200.0" style="-fx-background-color: white;" />
+ <Label layoutX="10.0" layoutY="14.0" prefHeight="46.0" prefWidth="103.0" text="Aktive Einsätze">
+ <font>
+ <Font name="System Bold" size="14.0" />
+ </font>
+ </Label>
+ <Label layoutX="148.0" layoutY="28.0" text="Archiv">
+ <font>
+ <Font size="13.0" />
+ </font>
+ </Label>
+ </children>
+ </AnchorPane>
+ <ListView fx:id="lvVehicles" layoutX="41.0" layoutY="222.0" prefHeight="394.0" prefWidth="918.0" />
+ </children>
+</AnchorPane>