| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /*
- * 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
- *
- */
- #pragma once
- #if !defined(Q_MOC_RUN)
- #include <AtomToolsFramework/Document/AtomToolsDocumentInspector.h>
- #include <AtomToolsFramework/Document/AtomToolsDocumentMainWindow.h>
- #include <AtomToolsFramework/EntityPreviewViewport/EntityPreviewViewportSettingsInspector.h>
- #include <AtomToolsFramework/EntityPreviewViewport/EntityPreviewViewportToolBar.h>
- #include <AtomToolsFramework/EntityPreviewViewport/EntityPreviewViewportWidget.h>
- #include <AtomToolsFramework/Graph/GraphViewSettings.h>
- #include <AzCore/Component/ComponentApplicationBus.h>
- #include <GraphCanvas/Styling/StyleManager.h>
- #include <GraphCanvas/Widgets/Bookmarks/BookmarkDockWidget.h>
- #include <GraphCanvas/Widgets/MiniMapGraphicsView/MiniMapGraphicsView.h>
- #include <GraphCanvas/Widgets/NodePalette/NodePaletteDockWidget.h>
- #include <GraphCanvas/Widgets/NodePalette/NodePaletteWidget.h>
- #include <QTranslator>
- #endif
- namespace MaterialCanvas
- {
- //! MaterialCanvasMainWindow creates and manages all of the graph canvas and viewport related docked windows for Material Canvas.
- class MaterialCanvasMainWindow : public AtomToolsFramework::AtomToolsDocumentMainWindow
- {
- Q_OBJECT
- public:
- AZ_CLASS_ALLOCATOR(MaterialCanvasMainWindow, AZ::SystemAllocator);
- using Base = AtomToolsFramework::AtomToolsDocumentMainWindow;
- MaterialCanvasMainWindow(
- const AZ::Crc32& toolId, AtomToolsFramework::GraphViewSettingsPtr graphViewSettingsPtr, QWidget* parent = 0);
- ~MaterialCanvasMainWindow() = default;
- protected:
- // AtomToolsFramework::AtomToolsMainWindowRequestBus::Handler overrides...
- void ResizeViewportRenderTarget(uint32_t width, uint32_t height) override;
- void LockViewportRenderTargetSize(uint32_t width, uint32_t height) override;
- void UnlockViewportRenderTargetSize() override;
- // AtomToolsFramework::AtomToolsDocumentNotificationBus::Handler overrides...
- void OnDocumentOpened(const AZ::Uuid& documentId) override;
- // AtomToolsFramework::AtomToolsDocumentMainWindow overrides...
- void PopulateSettingsInspector(AtomToolsFramework::InspectorWidget* inspector) const override;
- void OnSettingsDialogClosed() override;
- AZStd::string GetHelpUrl() const override;
- private:
- AtomToolsFramework::AtomToolsDocumentInspector* m_documentInspector = {};
- AtomToolsFramework::EntityPreviewViewportSettingsInspector* m_viewportSettingsInspector = {};
- AtomToolsFramework::EntityPreviewViewportToolBar* m_toolBar = {};
- AtomToolsFramework::EntityPreviewViewportWidget* m_materialViewport = {};
- AtomToolsFramework::GraphViewSettingsPtr m_graphViewSettingsPtr;
- GraphCanvas::BookmarkDockWidget* m_bookmarkDockWidget = {};
- GraphCanvas::NodePaletteDockWidget* m_nodePalette = {};
- GraphCanvas::StyleManager m_styleManager;
- QTranslator m_translator;
- mutable AZStd::shared_ptr<AtomToolsFramework::DynamicPropertyGroup> m_materialCanvasCompileSettingsGroup;
- };
- } // namespace MaterialCanvas
|