diff options
author | Viktoria Pundy <viktoria.pundy@aon.at> | 2018-06-14 13:31:21 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2018-06-17 19:49:34 +0200 |
commit | 093583dafc6852215f794593fa35ab2f4567f37b (patch) | |
tree | d7651218b8c28304e3ac384c3eba74f0d328bd60 /src/main/java | |
parent | 4c394df0fd6afeff29d28fd85366c1bb782bc30f (diff) | |
download | sepm-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')
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/OperationDetailsController.java | 41 |
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); } |