You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
1.0 KiB

2 years ago
  1. #include "../pch.h"
  2. #include "../StorageEditor/StorageEditor.h"
  3. class InputManager {
  4. public:
  5. typedef int MenuOption;
  6. private:
  7. StorageEditor editor;
  8. MenuOption selectedOption;
  9. MenuOption askMenuOption(std::string question, std::vector<std::string> answers);
  10. void displayDialog(std::string question, std::vector<std::string> answers);
  11. struct WareAndAmount {
  12. Ware ware;
  13. int amount;
  14. };
  15. public:
  16. InputManager(StorageEditor storageEditor);
  17. void displayMainMenu();
  18. void displayWaren(const std::vector<Ware> waren);
  19. WareAndAmount displayAddWareDialog();
  20. WareAndAmount displayRemoveWareDialog();
  21. MenuOption getSelectedOption();
  22. void setSelectedOption(MenuOption option);
  23. template <typename T>
  24. T getInput(std::string message) const;
  25. bool getNeedsCooling();
  26. std::vector<WareAndAmount> sortAndGroupWaren(const std::vector<Ware>& waren);
  27. };