diff options
| author | Tyler Ferrari <69283684+Sowgro@users.noreply.github.com> | 2025-10-05 14:29:39 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-05 14:29:39 -0400 |
| commit | 7ce2647830e34c61a479eebc69b679f7d20df94a (patch) | |
| tree | 18fdc4d99f8f5b23baf156e7753d352607e619d4 /src/main/java/design/controller/userinput/menus | |
| parent | c5cbe4ffd56b7c96d85dc1676387993c6c15af7b (diff) | |
| parent | 75ef9ca83d43051616c0083af85eacbd71b4b4b6 (diff) | |
| download | designproject-design-6-7ce2647830e34c61a479eebc69b679f7d20df94a.tar.gz designproject-design-6-7ce2647830e34c61a479eebc69b679f7d20df94a.tar.bz2 designproject-design-6-7ce2647830e34c61a479eebc69b679f7d20df94a.zip | |
Merge pull request #3 from RIT-SWEN-262/user-input-dev
User input dev
Diffstat (limited to 'src/main/java/design/controller/userinput/menus')
4 files changed, 95 insertions, 0 deletions
diff --git a/src/main/java/design/controller/userinput/menus/MainMenu.java b/src/main/java/design/controller/userinput/menus/MainMenu.java new file mode 100644 index 0000000..fb3cee9 --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/MainMenu.java @@ -0,0 +1,23 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; + +import java.util.List; + +public class MainMenu extends Menu { + @Override + public String getTitle() { + return "main menu"; + } + + @Override + public List<MenuOption> getMenuOptions() { + return List.of( + new MenuOption("user settings...", (a) -> new UserSettings().present()), + new MenuOption("statistics...", (a) -> new StatisticsMenu().present()), + new MenuOption("log round...", (a) -> {}), + new MenuOption("quit", (a) -> {}) + ); + } +} diff --git a/src/main/java/design/controller/userinput/menus/SelectUser.java b/src/main/java/design/controller/userinput/menus/SelectUser.java new file mode 100644 index 0000000..1963f1d --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/SelectUser.java @@ -0,0 +1,27 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; +import design.persistence.PersonalDatabase; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +public class SelectUser extends Menu { + PersonalDatabase personalDB = PersonalDatabase.INSTANCE; + + @Override + public String getTitle() { + return "select user"; + } + + @Override + public List<MenuOption> getMenuOptions() { + var l = new ArrayList<MenuOption>(); + l.addAll(Arrays.stream(personalDB.getGolfers()) + .map(i -> new MenuOption(i.getUsername(), (a) -> {})).toList()); + l.add(new MenuOption("<create>", (a) -> {})); + return l; + } +} diff --git a/src/main/java/design/controller/userinput/menus/StatisticsMenu.java b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java new file mode 100644 index 0000000..66d60e3 --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/StatisticsMenu.java @@ -0,0 +1,21 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; + +import java.util.List; + +public class StatisticsMenu extends Menu { + + @Override + public String getTitle() { + return "statistics menu"; + } + + @Override + public List<MenuOption> getMenuOptions() { + return List.of( + new MenuOption("return to main menu", (c) -> new MainMenu().present()) + ); + } +} diff --git a/src/main/java/design/controller/userinput/menus/UserSettings.java b/src/main/java/design/controller/userinput/menus/UserSettings.java new file mode 100644 index 0000000..a866889 --- /dev/null +++ b/src/main/java/design/controller/userinput/menus/UserSettings.java @@ -0,0 +1,24 @@ +package design.controller.userinput.menus; + +import design.controller.userinput.Menu; +import design.controller.userinput.MenuOption; + +import java.util.List; + +public class UserSettings extends Menu { + + @Override + public String getTitle() { + return "user settings"; + } + + @Override + public List<MenuOption> getMenuOptions() { + return List.of( + new MenuOption("return to main menu", (a) -> new MainMenu().present()), + new MenuOption("switch user...", (a) -> new SelectUser().present()), + new MenuOption("set username...", (a -> {})), + new MenuOption("set password...", (a) -> {}) + ); + } +} |
