summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/MainMenu.java
diff options
context:
space:
mode:
authorMichael Lizzio <mjl2396@rit.edu>2025-11-10 15:13:27 -0500
committerMichael Lizzio <mjl2396@rit.edu>2025-11-10 15:13:27 -0500
commit4e45988ddff84205d2c5c81466ae86f57b25de17 (patch)
treede6a499d4acf9c4f29bcc74d952a40204b17c7ee /src/main/java/design/controller/userinput/menus/MainMenu.java
parenta29285b3aaf19becc74ef5b2755052aed8782a57 (diff)
downloaddesignproject-design-6-4e45988ddff84205d2c5c81466ae86f57b25de17.tar.gz
designproject-design-6-4e45988ddff84205d2c5c81466ae86f57b25de17.tar.bz2
designproject-design-6-4e45988ddff84205d2c5c81466ae86f57b25de17.zip
Used UndoManager in Menus to Capture Sanpshots
Diffstat (limited to '')
-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()));
}
}