diff options
| author | Michael Lizzio <mjl2396@rit.edu> | 2025-11-10 15:13:27 -0500 |
|---|---|---|
| committer | Michael Lizzio <mjl2396@rit.edu> | 2025-11-10 15:13:27 -0500 |
| commit | 4e45988ddff84205d2c5c81466ae86f57b25de17 (patch) | |
| tree | de6a499d4acf9c4f29bcc74d952a40204b17c7ee /src/main/java/design/controller/userinput/menus/MainMenu.java | |
| parent | a29285b3aaf19becc74ef5b2755052aed8782a57 (diff) | |
| download | designproject-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 'src/main/java/design/controller/userinput/menus/MainMenu.java')
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/MainMenu.java | 25 |
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())); } } |
