Skip to content
Snippets Groups Projects
Commit 1e31a6b5 authored by Tam Minh Le's avatar Tam Minh Le
Browse files

Merge branch 'Menu' into 'dev'

Try to fix merge conflict

See merge request !32
parents 6a13cb77 003866ca
No related branches found
No related tags found
2 merge requests!54Final release,!32Try to fix merge conflict
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);
}
}
}
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;");
}
}
......@@ -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;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment