Newer
Older

Karsch Lukas
committed
package mi.hdm.controllers;

Karsch Lukas
committed
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;

Karsch Lukas
committed
import javafx.scene.layout.AnchorPane;
import mi.hdm.recipes.Recipe;

Karsch Lukas
committed
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

Karsch Lukas
committed
public class RecipeViewController extends BaseController {

Karsch Lukas
committed
private static final Logger log = LogManager.getLogger(RecipeViewController.class);
private final Recipe recipe;

Karsch Lukas
committed
@FXML
private AnchorPane parent;
// @FXML
//private Label recipeDescription;
@FXML
private Label recipeName;
@FXML
private ImageView recipeImage;

Karsch Lukas
committed
public RecipeViewController(Recipe recipe) {
this.recipe = recipe;

Karsch Lukas
committed
}
@FXML
public void changeSceneToMain() {
try {
changeScene(View.MAIN);
} catch (Exception e) {
e.printStackTrace();
log.error("Something went wrong when changing the scene.");
}
}
@FXML
public void initialize() {

Karsch Lukas
committed
loadHeader(parent);
recipeName.setText(recipe.getName());
//recipeDescription.setText(recipe.getDescription());
//TODO: display recipe description, preparation and ingredients
//idea for solution from: https://stackoverflow.com/questions/22710053/how-can-i-show-an-image-using-the-imageview-component-in-javafx-and-fxml
log.debug("Trying to load image for recipe from '{}'", recipe.getImageURL());
Image image = new Image(recipe.getImageURL().toString());
recipeImage.setImage(image);

Karsch Lukas
committed
}