SceneGraphInspectWidget.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #pragma once
  2. /*
  3. * Copyright (c) Contributors to the Open 3D Engine Project.
  4. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  5. *
  6. * SPDX-License-Identifier: Apache-2.0 OR MIT
  7. *
  8. */
  9. #if !defined(Q_MOC_RUN)
  10. #include <QWidget>
  11. #include <AzCore/Memory/SystemAllocator.h>
  12. #include <SceneAPI/SceneUI/SceneUIConfiguration.h>
  13. #endif
  14. namespace AzToolsFramework
  15. {
  16. class ReflectedPropertyEditor;
  17. }
  18. namespace AZ
  19. {
  20. class SerializeContext;
  21. namespace SceneAPI
  22. {
  23. namespace Containers
  24. {
  25. class Scene;
  26. }
  27. namespace DataTypes
  28. {
  29. class IGraphObject;
  30. }
  31. namespace UI
  32. {
  33. // QT space
  34. namespace Ui
  35. {
  36. class SceneGraphInspectWidget;
  37. }
  38. class SceneGraphWidget;
  39. class SCENE_UI_API SceneGraphInspectWidget
  40. : public QWidget
  41. {
  42. public:
  43. Q_OBJECT
  44. public:
  45. AZ_CLASS_ALLOCATOR_DECL;
  46. explicit SceneGraphInspectWidget(const Containers::Scene& scene, QWidget* parent = nullptr, SerializeContext* context = nullptr);
  47. ~SceneGraphInspectWidget() override;
  48. protected:
  49. void OnSelectionChanged(AZStd::shared_ptr<const DataTypes::IGraphObject> item);
  50. AZ_PUSH_DISABLE_DLL_EXPORT_MEMBER_WARNING
  51. QScopedPointer<Ui::SceneGraphInspectWidget> ui;
  52. QScopedPointer<SceneGraphWidget> m_graphView;
  53. QScopedPointer<AzToolsFramework::ReflectedPropertyEditor> m_propertyEditor;
  54. AZ_POP_DISABLE_DLL_EXPORT_MEMBER_WARNING
  55. SerializeContext* m_context;
  56. };
  57. } // UI
  58. } // SceneAPI
  59. } // AZ