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 --- src/main/java/design/controller/userinput/menus/CourseSearch.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/CourseSearch.java') diff --git a/src/main/java/design/controller/userinput/menus/CourseSearch.java b/src/main/java/design/controller/userinput/menus/CourseSearch.java index b84247a..4dd2cad 100644 --- a/src/main/java/design/controller/userinput/menus/CourseSearch.java +++ b/src/main/java/design/controller/userinput/menus/CourseSearch.java @@ -9,6 +9,7 @@ import design.model.course_search.CurrentSearchQuery; import design.model.course_search.ICourse; import design.persistence.PersonalDatabase; import design.runtime.Session; +import design.model.undo.UndoManager; import java.io.IOException; import java.util.ArrayList; @@ -71,7 +72,7 @@ public class CourseSearch extends Menu { } // recursively go through tree structure of courselist to make menu options. - // this is all for displaying the menu options, not the actual sorting. + // this is all for displaying the menu options, not the actual sorting. private void addCoursesRecursive(List menuOptions, CourseList list) { for (ICourse icourse : list.getCourses()) { // if we find a leaf (course), display it as a menu option @@ -79,6 +80,8 @@ public class CourseSearch extends Menu { var name = String.format("%s, %s, Difficulty: %s, %s holes, %s total par", c.getName(), c.getLocation(), c.getDifficultyRating(), c.getHoleCount(), c.getTotalPar()); menuOptions.add(new MenuOption(name, () -> { + UndoManager.instance().capture(golfer, "Add course " + c.getName()); + // add the course, try to save to DB. golfer.addCourse(c); try { @@ -89,8 +92,7 @@ public class CourseSearch extends Menu { System.out.println("\n Course added to profile. \n"); new MainMenu().present(); - } - )); + })); } // if not, we need to traverse another courselist else if (icourse instanceof CourseList sublist) { -- cgit v1.2.3