ScreenFactory.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include <ScreenFactory.h>
  9. #include <CreateProjectCtrl.h>
  10. #include <UpdateProjectCtrl.h>
  11. #include <NewProjectSettingsScreen.h>
  12. #include <GemCatalog/GemCatalogScreen.h>
  13. #include <ProjectsScreen.h>
  14. #include <UpdateProjectSettingsScreen.h>
  15. #include <EngineScreenCtrl.h>
  16. #include <EngineSettingsScreen.h>
  17. #include <GemRepo/GemRepoScreen.h>
  18. namespace O3DE::ProjectManager
  19. {
  20. ScreenWidget* BuildScreen(QWidget* parent, ProjectManagerScreen screen)
  21. {
  22. ScreenWidget* newScreen;
  23. switch(screen)
  24. {
  25. case (ProjectManagerScreen::CreateProject):
  26. newScreen = new CreateProjectCtrl(parent);
  27. break;
  28. case (ProjectManagerScreen::NewProjectSettings):
  29. newScreen = new NewProjectSettingsScreen(parent);
  30. break;
  31. case (ProjectManagerScreen::GemCatalog):
  32. newScreen = new GemCatalogScreen(parent);
  33. break;
  34. case (ProjectManagerScreen::Projects):
  35. newScreen = new ProjectsScreen(parent);
  36. break;
  37. case (ProjectManagerScreen::UpdateProject):
  38. newScreen = new UpdateProjectCtrl(parent);
  39. break;
  40. case (ProjectManagerScreen::UpdateProjectSettings):
  41. newScreen = new UpdateProjectSettingsScreen(parent);
  42. break;
  43. case (ProjectManagerScreen::Engine):
  44. newScreen = new EngineScreenCtrl(parent);
  45. break;
  46. case (ProjectManagerScreen::EngineSettings):
  47. newScreen = new EngineSettingsScreen(parent);
  48. break;
  49. case (ProjectManagerScreen::GemRepos):
  50. newScreen = new GemRepoScreen(parent);
  51. break;
  52. case (ProjectManagerScreen::Empty):
  53. default:
  54. newScreen = new ScreenWidget(parent);
  55. }
  56. return newScreen;
  57. }
  58. } // namespace O3DE::ProjectManager