ProjectGemCatalogScreen.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. #pragma once
  9. #if !defined(Q_MOC_RUN)
  10. #include <GemCatalog/GemCatalogScreen.h>
  11. #endif
  12. namespace O3DE::ProjectManager
  13. {
  14. QT_FORWARD_DECLARE_CLASS(DownloadController);
  15. //! A wrapper for a GemCatalogScreen that shows what gems are active in a project
  16. class ProjectGemCatalogScreen
  17. : public GemCatalogScreen
  18. {
  19. public:
  20. explicit ProjectGemCatalogScreen(DownloadController* downloadController, QWidget* parent = nullptr);
  21. ~ProjectGemCatalogScreen() = default;
  22. ProjectManagerScreen GetScreenEnum() override;
  23. bool IsTab() override;
  24. enum class ConfiguredGemsResult
  25. {
  26. Failed = 0,
  27. Success,
  28. Cancel
  29. };
  30. ConfiguredGemsResult ConfigureGemsForProject(const QString& projectPath);
  31. };
  32. } // namespace O3DE::ProjectManager