package nl.itopia.corendon.components; import javafx.event.ActionEvent; import javafx.scene.control.Button; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.Pane; import nl.itopia.corendon.mvc.ObjectDelete; /** * Used to show the images of our system, * if editable is set to true the user can delete the image * * © 2014, Biodiscus.net Robin */ public class PictureView extends Pane { private ImageView imageView; private Image image; private String path; private Button deleteButton; private boolean editable; private ObjectDelete objectDelete; public PictureView(String path, double width, double height, boolean preserveRatio) { this.path = path; image = new Image(path, width, height, preserveRatio, true); imageView = new ImageView(image); getChildren().add(imageView); deleteButton = new Button("Delete"); deleteButton.setOnAction(this::deleteHandler); getChildren().add(deleteButton); editable = false; } private void deleteHandler(ActionEvent event) { if(objectDelete != null) { objectDelete.action(this); } } public void setOnDelete(ObjectDelete objectDelete) { this.objectDelete = objectDelete; } public String getImagePath() { return path; } public void setEditable(boolean editable) { this.editable = editable; } public boolean getEditable() { return editable; } }