diff options
author | Viktoria Pundy <viktoria.pundy@aon.at> | 2018-05-02 21:18:20 +0200 |
---|---|---|
committer | Viktoria Pundy <viktoria.pundy@aon.at> | 2018-05-06 18:12:30 +0200 |
commit | 391eb6e5658eb1395befc736d7fea15678b69eff (patch) | |
tree | 60fb1867b8b401a5911d8dc9117b041b7e8f6d1b /src/main | |
parent | 8a351f2056cd26fd220c0193ba1400f2c810f940 (diff) | |
download | sepm-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/main')
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> |