aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at
diff options
context:
space:
mode:
authorViktoria Pundy <viktoria.pundy@aon.at>2018-06-14 13:31:21 +0200
committerTharre <tharre3@gmail.com>2018-06-17 19:49:34 +0200
commit093583dafc6852215f794593fa35ab2f4567f37b (patch)
treed7651218b8c28304e3ac384c3eba74f0d328bd60 /src/main/java/at
parent4c394df0fd6afeff29d28fd85366c1bb782bc30f (diff)
downloadsepm-groupproject-093583dafc6852215f794593fa35ab2f4567f37b.tar.gz
sepm-groupproject-093583dafc6852215f794593fa35ab2f4567f37b.tar.xz
sepm-groupproject-093583dafc6852215f794593fa35ab2f4567f37b.zip
Added flowpane for Vehicles to OperationDetails Window [#27300]
Diffstat (limited to 'src/main/java/at')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
index 7694b95..ffb4166 100644
--- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java
@@ -7,6 +7,8 @@ import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.Operati
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.io.IOException;
+import java.lang.invoke.MethodHandles;
import java.util.Collection;
import java.util.EnumSet;
import java.util.stream.Collectors;
@@ -19,6 +21,7 @@ import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.layout.AnchorPane;
+import javafx.scene.layout.FlowPane;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@@ -31,13 +34,14 @@ public class OperationDetailsController {
private final OperationService operationService;
private final VehicleService vehicleService;
private final CreateOperationController createOperationController;
- @FXML private ListView<Vehicle> lvVehicles;
+ @FXML private FlowPane fpVehicles;
@FXML private ListView<Operation> lvActiveOperations;
@FXML private Label lblChosenVehicles;
@FXML private Button btnCloseOperation;
@FXML private Button btnCancelOperation;
@FXML private Label lblCode, lblAdditionalInfo, lblAddress;
@FXML private AnchorPane operationDetailsAP;
+ private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public OperationDetailsController(
OperationService operationService,
@@ -50,20 +54,6 @@ public class OperationDetailsController {
@FXML
private void initialize() {
- lvVehicles.setCellFactory(
- param ->
- new ListCell<>() {
- @Override
- protected void updateItem(Vehicle item, boolean empty) {
- super.updateItem(item, empty);
-
- if (empty || item == null || item.name() == null) {
- setText(null);
- } else {
- setText(item.name());
- }
- }
- });
lvActiveOperations.setCellFactory(
param ->
new ListCell<>() {
@@ -89,6 +79,25 @@ public class OperationDetailsController {
});
}
+ private void updateFlowPane() {
+ try {
+ fpVehicles.getChildren().clear();
+ for (Vehicle vehicle : operation.vehicles()) {
+ VehiclePaneController controller = VehiclePaneController.createVehiclePane();
+ controller.setData(vehicle, true);
+ fpVehicles.getChildren().add(controller.getRootElement());
+ }
+ } catch (IOException e) {
+ LOG.error("Error while updating list.", e);
+
+ Alert alert = new Alert(Alert.AlertType.ERROR);
+ alert.setTitle("Fehler");
+ alert.setHeaderText("Fehler!");
+ alert.setContentText(e.getMessage());
+ alert.showAndWait();
+ }
+ }
+
void initOperation(Operation operation) {
fillActiveList();
this.operation = operation;
@@ -99,7 +108,7 @@ public class OperationDetailsController {
lblChosenVehicles.setText(result.toString());
lblAdditionalInfo.setText(operation.additionalInfo());
lblAddress.setText(operation.destination());
- lvVehicles.setItems(FXCollections.observableArrayList(operation.vehicles()));
+ updateFlowPane();
operationDetailsAP.setVisible(true);
}