diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/controllers/MenuController.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/controllers/MenuController.java deleted file mode 100644 index d63ba4707a43117bbe4fa8e1852459df2267fc97..0000000000000000000000000000000000000000 --- a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/controllers/MenuController.java +++ /dev/null @@ -1,61 +0,0 @@ -package edu.ntnu.idatt2003.mappevurderingprog2.controllers; - -import edu.ntnu.idatt2003.mappevurderingprog2.views.Components.CreateNewFractal; -import edu.ntnu.idatt2003.mappevurderingprog2.views.Components.ExistingFractalsButton; -import javafx.scene.control.Button; -import javafx.scene.layout.VBox; - -public class MenuController { - private CreateNewFractal createNewFractal; - private ExistingFractalsButton existingFractalsButton; - private VBox currentMenu; - private VBox previousMenu; - - - public MenuController() { - } - - public void setCurrentMenu(VBox currentMenu) { - this.previousMenu = this.currentMenu; - this.currentMenu = currentMenu; - } - - public void setCreateNewFractal(CreateNewFractal createNewFractal) { - this.createNewFractal = createNewFractal; - } - - public void setExistingFractalsButton(ExistingFractalsButton existingFractalsButton) { - this.existingFractalsButton = existingFractalsButton; - } - - public void handleCreateFractalButton() { - if (createNewFractal != null && existingFractalsButton != null) { - createNewFractal.createFractalButtons(); - existingFractalsButton.getTransformationButtons().setVisible(false); - setCurrentMenu(createNewFractal.getTransformations()); - } - } - - public void handleExistingFractalsButton() { - if (createNewFractal != null && existingFractalsButton != null) { - existingFractalsButton.getTransformationButtons().setVisible(true); - createNewFractal.getTransformations().setVisible(false); - setCurrentMenu(existingFractalsButton.getTransformationButtons()); - } - } - - public Button createBackButton() { - Button backButton = new Button("Back"); - backButton.setOnAction(event -> handleBackButton()); - return backButton; - } - - - public void handleBackButton() { - if (currentMenu != null && previousMenu != null) { - currentMenu.setVisible(false); - previousMenu.setVisible(true); - } - } - -} diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/Components/Menu.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/Components/Menu.java index ed7cbb9559ffaf4d6e9f1ba0c83e6c17db4f1891..c67d8681a65db85f7221cf92c5735c1c540682f3 100644 --- a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/Components/Menu.java +++ b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/Components/Menu.java @@ -1,59 +1,33 @@ package edu.ntnu.idatt2003.mappevurderingprog2.views.Components; import edu.ntnu.idatt2003.mappevurderingprog2.controllers.GameController; -import edu.ntnu.idatt2003.mappevurderingprog2.controllers.MenuController; -import edu.ntnu.idatt2003.mappevurderingprog2.utils.Size; import edu.ntnu.idatt2003.mappevurderingprog2.views.View; -import javafx.scene.control.Label; -import javafx.geometry.Insets; import javafx.geometry.Pos; +import javafx.scene.control.Label; import javafx.scene.layout.VBox; public class Menu extends VBox { - private final CreateNewFractal transformations; - private final ExistingFractalsButton existingFractalsButton; + private ExistingFractalsMenu existingFractalsMenu; + private CreateFractalMenu createFractalMenu; + private EditFractalMenu editFractalMenu; // Add this line public Menu(View view, GameController gameController) { - MenuController menuController = new MenuController(); - transformations = new CreateNewFractal(menuController); - existingFractalsButton = new ExistingFractalsButton(view, gameController, transformations, menuController); + existingFractalsMenu = new ExistingFractalsMenu(view, gameController); + createFractalMenu = new CreateFractalMenu(); + editFractalMenu = new EditFractalMenu(view, gameController); // Initialize here initializeMenu(); } private void initializeMenu() { - clearLeftBoxUI(); - getChildren().addAll(createMenuLabel(), transformations.getTransformations(), existingFractalsButton, - existingFractalsButton.getTransformationButtons()); - setupMenu(); - } - - private Label createMenuLabel() { Label menuLabel = new Label("Menu"); menuLabel.setStyle("-fx-font-size: 18px; -fx-font-weight: bold;"); - return menuLabel; - } - - private void clearLeftBoxUI() { - getChildren().clear(); - } + setPrefWidth(200); - private void setupMenu() { - menuSizeAndPositioning(); - menuStyling(); - } - - private void menuSizeAndPositioning() { - double screenWidth = Size.getScreenWidth(); - double screenHeight = Size.getScreenHeight(); - setPrefWidth(0.3 * screenWidth); - setMaxWidth(0.3 * screenWidth); - setPrefHeight(screenHeight); + getChildren().addAll(menuLabel, existingFractalsMenu, createFractalMenu, editFractalMenu); // Add to children setAlignment(Pos.TOP_CENTER); - setPadding(new Insets(10, 0, 10, 0)); - } - - private void menuStyling() { - setPadding(new Insets(10, 10, 10, 10)); + setSpacing(20); setStyle("-fx-background-color: #f4f4f4;"); } } + + diff --git a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/View.java b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/View.java index fe86a08ca646f67a408478f3417baffa845bcc50..154c1262c0685735b927ca26f52ac07f9f56aeab 100644 --- a/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/View.java +++ b/src/main/java/edu/ntnu/idatt2003/mappevurderingprog2/views/View.java @@ -8,6 +8,7 @@ import edu.ntnu.idatt2003.mappevurderingprog2.models.chaos.ChaosGameObserver; import edu.ntnu.idatt2003.mappevurderingprog2.utils.Colorpalette; import edu.ntnu.idatt2003.mappevurderingprog2.utils.Size; +import edu.ntnu.idatt2003.mappevurderingprog2.views.Components.Zoom; import java.io.FileNotFoundException; import edu.ntnu.idatt2003.mappevurderingprog2.views.Components.Menu; @@ -34,6 +35,7 @@ public class View extends BorderPane implements ChaosGameObserver { private GameController gameController; private Menu menu; private int greenThreshold, blueThreshold, redThreshold; + private Zoom zoom; public View(GameController gameController) { this.gameController = gameController;