From 4e45988ddff84205d2c5c81466ae86f57b25de17 Mon Sep 17 00:00:00 2001 From: Michael Lizzio Date: Mon, 10 Nov 2025 15:13:27 -0500 Subject: Used UndoManager in Menus to Capture Sanpshots --- .../controller/userinput/menus/MainMenu.java | 25 ++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/MainMenu.java') 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 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())); } } -- cgit v1.2.3 From b58b98704f6b2d2b4a5938f5a8b87eda268ad88b Mon Sep 17 00:00:00 2001 From: Michael Lizzio Date: Mon, 10 Nov 2025 16:09:57 -0500 Subject: Fixed not updateing database on undo/redo --- .../design/controller/userinput/menus/MainMenu.java | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/MainMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java index 07caffa..4a221f0 100644 --- a/src/main/java/design/controller/userinput/menus/MainMenu.java +++ b/src/main/java/design/controller/userinput/menus/MainMenu.java @@ -2,7 +2,7 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; -import design.model.undo.UndoManager; +import design.controller.userinput.UndoActions; import java.util.List; @@ -14,27 +14,14 @@ public class MainMenu extends Menu { @Override public List 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(); - } + UndoActions.undoWithSave(); this.present(); }), new MenuOption("redo", () -> { - if (!um.canRedo()) { - System.out.println("Nothing to redo."); - } else { - System.out.println("Redo: " + um.peekRedoLabel()); - um.redo(); - } + UndoActions.redoWithSave(); this.present(); }), new MenuOption("user settings...", () -> new UserSettings().present()), -- cgit v1.2.3 From e334e4f87f8826bd3827e3dbd2179de30b42d828 Mon Sep 17 00:00:00 2001 From: Michael Lizzio Date: Tue, 11 Nov 2025 08:48:56 -0500 Subject: Added isGuest to Session and updated menus --- .../controller/userinput/menus/MainMenu.java | 43 ++++++++++++++-------- 1 file changed, 28 insertions(+), 15 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/MainMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java index 4a221f0..8a30258 100644 --- a/src/main/java/design/controller/userinput/menus/MainMenu.java +++ b/src/main/java/design/controller/userinput/menus/MainMenu.java @@ -3,6 +3,7 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; import design.controller.userinput.UndoActions; +import design.runtime.Session; import java.util.List; @@ -14,20 +15,32 @@ public class MainMenu extends Menu { @Override public List getMenuOptions() { - return List.of( - new MenuOption("quit", () -> System.exit(0)), - new MenuOption("undo", () -> { - UndoActions.undoWithSave(); - this.present(); - }), - new MenuOption("redo", () -> { - UndoActions.redoWithSave(); - 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())); + boolean guest = Session.isGuest(); + if (guest) { + return List.of( + new MenuOption("quit", () -> System.exit(0)), + new MenuOption("guest settings...", () -> new UserSettings().present()), + new MenuOption("browse courses...", () -> new SearchMenu().present()) + + ); + } else { + return List.of( + new MenuOption("quit", () -> System.exit(0)), + new MenuOption("undo", () -> { + UndoActions.undoWithSave(); + this.present(); + }), + new MenuOption("redo", () -> { + UndoActions.redoWithSave(); + 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()) + + ); + } } } -- cgit v1.2.3 From af23c48329b749ba3d0a4fcd841723d55a16ae95 Mon Sep 17 00:00:00 2001 From: sowgro Date: Wed, 12 Nov 2025 12:57:08 -0500 Subject: stub out some menus --- src/main/java/design/controller/userinput/menus/MainMenu.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/menus/MainMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java index 7522ceb..e476997 100644 --- a/src/main/java/design/controller/userinput/menus/MainMenu.java +++ b/src/main/java/design/controller/userinput/menus/MainMenu.java @@ -19,7 +19,8 @@ public class MainMenu extends Menu { 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()), + new MenuOption("League play...", () -> new SelectLeague().present()) ); } } -- cgit v1.2.3