#pragma once /* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #if !defined(Q_MOC_RUN) #include #include #include #include #include #include #include #endif class QAction; class QMenu; namespace AZ { class SerializeContext; namespace SceneAPI { namespace Containers { class Scene; } namespace UI { class ManifestWidget; } } } namespace Ui { class ImporterRootDisplay; } class ImporterRootDisplay : public QWidget , public AZ::SceneAPI::Events::ManifestMetaInfoBus::Handler { Q_OBJECT public: AZ_CLASS_ALLOCATOR(ImporterRootDisplay, AZ::SystemAllocator, 0) ImporterRootDisplay(AZ::SerializeContext* serializeContext, QWidget* parent = nullptr); ~ImporterRootDisplay(); AZ::SceneAPI::UI::ManifestWidget* GetManifestWidget(); void SetSceneDisplay(const QString& headerText, const AZStd::shared_ptr& scene); void SetSceneHeaderText(const QString& headerText); void HandleSceneWasReset(const AZStd::shared_ptr& scene); void HandleSaveWasSuccessful(); bool HasUnsavedChanges() const; signals: void UpdateClicked(); private: // ManifestMetaInfoBus void ObjectUpdated(const AZ::SceneAPI::Containers::Scene& scene, const AZ::SceneAPI::DataTypes::IManifestObject* target, void* sender) override; Ui::ImporterRootDisplay* ui; QScopedPointer m_manifestWidget; bool m_hasUnsavedChanges; };