diff options
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/EmployeeListItemController.java | 66 | 
1 files changed, 66 insertions, 0 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/EmployeeListItemController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/EmployeeListItemController.java new file mode 100644 index 0000000..5246d03 --- /dev/null +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/EmployeeListItemController.java @@ -0,0 +1,66 @@ +package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.controller; + +import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Employee; +import java.io.IOException; +import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; +import javafx.scene.Node; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; + +public class EmployeeListItemController { + +    @FXML private Label lblName; +    @FXML private Label lblQualification; +    @FXML private Label lblPilot; +    @FXML private Label lblDriver; +    @FXML private ImageView imgPilot; +    @FXML private ImageView imgDriver; + +    private Node rootElement; + +    private Runnable consumerEditEmployeeClicked; + +    @FXML +    public void onEditEmployeeClicked() { +        if (consumerEditEmployeeClicked != null) { +            consumerEditEmployeeClicked.run(); +        } +    } + +    private void setData(Employee employee) { +        lblName.setText(employee.name()); +        lblQualification.setText(employee.educationLevel().name()); +        lblPilot.setText(String.format("%s Pilot", employee.isPilot() ? "ist" : "nicht")); +        imgPilot.setImage(new Image("../images/NEF.png")); // TODO: add real picture here +        lblDriver.setText(String.format("%s Fahrer", employee.isDriver() ? "ist" : "nicht")); +        imgDriver.setImage(new Image("../images/NEF.png")); // TODO: add real picture here +    } + +    public static EmployeeListItemController createEmployeeListItemController(Employee employee) +            throws IOException { +        EmployeeListItemController controller = createEmployeeListItemController(); +        controller.setData(employee); +        return controller; +    } + +    public static EmployeeListItemController createEmployeeListItemController() throws IOException { +        FXMLLoader loader = +                new FXMLLoader( +                        EmployeeListItemController.class.getResource( +                                "/fxml/employeeListItem.fxml")); +        Node root = loader.load(); +        EmployeeListItemController controller = loader.getController(); +        controller.rootElement = root; +        return controller; +    } + +    public Node getRootElement() { +        return rootElement; +    } + +    public void setConsumerEditEmployeeClicked(Runnable consumerEditEmployeeClicked) { +        this.consumerEditEmployeeClicked = consumerEditEmployeeClicked; +    } +}  | 
