Skip to content
Snippets Groups Projects
RecipeViewController.java 1.52 KiB
Newer Older
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import mi.hdm.recipes.Recipe;
import mi.hdm.recipes.RecipeManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class RecipeViewController extends BaseController {
    private static final Logger log = LogManager.getLogger(RecipeViewController.class);

    private final RecipeManager recipeManager;

    @FXML
    private TilePane recipeTilePane;

    public RecipeViewController(RecipeManager recipeManager) {
        this.recipeManager = recipeManager;
    }

    @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() {
        mapRecipes();
        log.debug("Added {} recipes to GUI", recipeManager.getRecipes().size());
    }

    private void mapRecipes() {
        for (Recipe recipe : recipeManager.getRecipes()) {
            Label recipeName = new Label(recipe.getName());
            Label recipeDescription = new Label(recipe.getDescription());
            VBox currentRecipeBox = new VBox(recipeName, recipeDescription);

Karsch Lukas's avatar
Karsch Lukas committed
            currentRecipeBox.setPrefWidth(180);
            currentRecipeBox.setPrefHeight(250);

            recipeTilePane.getChildren().add(currentRecipeBox);
        }
    }