SourceAssetDetailsPanel.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 "AssetDetailsPanel.h"
  11. #include <AzCore/std/smart_ptr/shared_ptr.h>
  12. #include <QScopedPointer>
  13. #endif
  14. class QItemSelection;
  15. namespace Ui
  16. {
  17. class SourceAssetDetailsPanel;
  18. }
  19. namespace AssetProcessor
  20. {
  21. class AssetDatabaseConnection;
  22. class SourceAssetTreeItemData;
  23. class SourceAssetDetailsPanel
  24. : public AssetDetailsPanel
  25. {
  26. Q_OBJECT
  27. public:
  28. explicit SourceAssetDetailsPanel(QWidget* parent = nullptr);
  29. ~SourceAssetDetailsPanel() override;
  30. void SetIsIntermediateAsset() { m_isIntermediateAsset = true; }
  31. public Q_SLOTS:
  32. void AssetDataSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
  33. protected:
  34. void ResetText();
  35. void SetDetailsVisible(bool visible);
  36. void BuildProducts(
  37. AssetDatabaseConnection& assetDatabaseConnection,
  38. const AZStd::shared_ptr<const SourceAssetTreeItemData> sourceItemData);
  39. void BuildOutgoingSourceDependencies(
  40. AssetDatabaseConnection& assetDatabaseConnection,
  41. const AZStd::shared_ptr<const SourceAssetTreeItemData> sourceItemData);
  42. void BuildIncomingSourceDependencies(
  43. AssetDatabaseConnection& assetDatabaseConnection,
  44. const AZStd::shared_ptr<const SourceAssetTreeItemData> sourceItemData);
  45. QScopedPointer<Ui::SourceAssetDetailsPanel> m_ui;
  46. AZStd::optional<AZ::s64> m_intermediateAssetFolderID;
  47. bool m_isIntermediateAsset = false;
  48. };
  49. } // namespace AssetProcessor