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/at/ac/tuwien/sepm/assignment | |
| 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/at/ac/tuwien/sepm/assignment')
| -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);      }  | 
