SettingsMainContainer.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * SettingsMainContainer.h, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #pragma once
  11. #include "gui/InterfaceObjectConfigurable.h"
  12. class BattleInterface;
  13. class CTabbedInt;
  14. enum class EUserEvent;
  15. class SettingsMainContainer : public InterfaceObjectConfigurable
  16. {
  17. private:
  18. BattleInterface * parentBattleInterface;
  19. std::shared_ptr<CTabbedInt> tabContentArea;
  20. std::shared_ptr<CIntObject> createTab(size_t index);
  21. void openTab(size_t index);
  22. void close(); //TODO: copypaste of WindowBase::close(), consider changing Windowbase to IWindowbase with default close() implementation and changing WindowBase inheritance to CIntObject + IWindowBase
  23. void closeAndPushEvent(EUserEvent code);
  24. void loadGameButtonCallback();
  25. void saveGameButtonCallback();
  26. void quitGameButtonCallback();
  27. void backButtonCallback();
  28. void restartGameButtonCallback();
  29. void mainMenuButtonCallback();
  30. public:
  31. SettingsMainContainer(BattleInterface * parentBattleInterface = nullptr);
  32. };