summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/MainMenu.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/MainMenu.java')
-rw-r--r--src/main/java/design/controller/userinput/menus/MainMenu.java25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java
index 7522ceb..07caffa 100644
--- a/src/main/java/design/controller/userinput/menus/MainMenu.java
+++ b/src/main/java/design/controller/userinput/menus/MainMenu.java
@@ -2,6 +2,7 @@ package design.controller.userinput.menus;
import design.controller.userinput.Menu;
import design.controller.userinput.MenuOption;
+import design.model.undo.UndoManager;
import java.util.List;
@@ -13,13 +14,33 @@ public class MainMenu extends Menu {
@Override
public List<MenuOption> getMenuOptions() {
+
+ UndoManager um = UndoManager.instance();
+
return List.of(
new MenuOption("quit", () -> System.exit(0)),
+ new MenuOption("undo", () -> {
+ if (!um.canUndo()) {
+ System.out.println("Nothing to undo.");
+ } else {
+ System.out.println("Undo: " + um.peekUndoLabel());
+ um.undo();
+ }
+ this.present();
+ }),
+ new MenuOption("redo", () -> {
+ if (!um.canRedo()) {
+ System.out.println("Nothing to redo.");
+ } else {
+ System.out.println("Redo: " + um.peekRedoLabel());
+ um.redo();
+ }
+ this.present();
+ }),
new MenuOption("user settings...", () -> new UserSettings().present()),
new MenuOption("manage courses...", () -> new ManageCourses().present()),
new MenuOption("manage clubs...", () -> new ManageClubs().present()),
new MenuOption("statistics...", () -> new StatisticsMenu().present()),
- new MenuOption("log round...", () -> new HolePlayMenu().present())
- );
+ new MenuOption("log round...", () -> new HolePlayMenu().present()));
}
}