summaryrefslogtreecommitdiff
path: root/src/main/java/design/controller/userinput/menus/SearchMenu.java
diff options
context:
space:
mode:
authorTyler Ferrari <69283684+Sowgro@users.noreply.github.com>2025-10-09 08:14:57 -0400
committerGitHub <noreply@github.com>2025-10-09 08:14:57 -0400
commitf115308210fd98e6b6f83f8c091ca72dbfb666fb (patch)
treebb2199639272496e79e79e221513b5346f553084 /src/main/java/design/controller/userinput/menus/SearchMenu.java
parentbf6b01e5005618e6ccdfb4217311a8f94dd5a0dd (diff)
parentddcfcf82baf737e183ec7b00edeee26894516c58 (diff)
downloaddesignproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.tar.gz
designproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.tar.bz2
designproject-design-6-f115308210fd98e6b6f83f8c091ca72dbfb666fb.zip
Merge pull request #10 from RIT-SWEN-262/course-search
Course Search Menu
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java')
-rw-r--r--src/main/java/design/controller/userinput/menus/SearchMenu.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java
new file mode 100644
index 0000000..8b50265
--- /dev/null
+++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java
@@ -0,0 +1,35 @@
+package design.controller.userinput.menus;
+
+import design.controller.userinput.Menu;
+import design.controller.userinput.MenuOption;
+import design.model.course_search.SortByDifficulty;
+import design.model.course_search.SortByHoles;
+import design.model.course_search.SortByLocation;
+import design.model.course_search.SortByPar;
+
+import java.util.List;
+
+/*
+ * The main control panel for course searching.
+ */
+public class SearchMenu extends Menu {
+
+ @Override
+ public String getTitle() {
+ return "search menu";
+ }
+
+ @Override
+ public List<MenuOption> getMenuOptions() {
+ return List.of(
+ new MenuOption("return to main menu", () -> new MainMenu().present()),
+ new MenuOption("search...", () -> new CourseSearch().search()),
+ new MenuOption("add difficulty filter...", () -> new FiltersMenu().addFilter(new SortByDifficulty())),
+ new MenuOption("add hole count filter...", () -> new FiltersMenu().addFilter(new SortByHoles())),
+ new MenuOption("add location filter...", () -> new FiltersMenu().addFilter(new SortByLocation())),
+ new MenuOption("add par filter...", () -> new FiltersMenu().addFilter(new SortByPar())),
+ new MenuOption("list filters", () -> new FiltersMenu().present()),
+ new MenuOption("clear all filters", () -> new FiltersMenu().clearFilters())
+ );
+ }
+}