c98d14ad92
• Working toward creating a standalone application template Removing application level modules and system components that make it difficult to navigate the project and add a lot of boilerplate code • Temporarily keeping viewport module and components because shutting down the application deactivates module entities before system entities without respecting component service dependency order. This caused several RPI assets and names to leak because they were not being destroyed in the correct order. • Fixing include paths not referenced source folders • Mostly cleanup and reorganization, no behavioral changes Signed-off-by: Guthrie Adams <guthadam@amazon.com>
55 lines
2.1 KiB
C++
55 lines
2.1 KiB
C++
/*
|
|
* 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
|
|
|
|
#include <AtomToolsFramework/Document/AtomToolsDocumentApplication.h>
|
|
#include <AtomToolsFramework/Window/AtomToolsMainWindowFactoryRequestBus.h>
|
|
#include <AzToolsFramework/API/EditorWindowRequestBus.h>
|
|
#include <Window/MaterialEditorBrowserInteractions.h>
|
|
#include <Window/MaterialEditorWindow.h>
|
|
|
|
namespace MaterialEditor
|
|
{
|
|
class MaterialThumbnailRenderer;
|
|
|
|
class MaterialEditorApplication
|
|
: public AtomToolsFramework::AtomToolsDocumentApplication
|
|
, private AzToolsFramework::EditorWindowRequestBus::Handler
|
|
, private AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Handler
|
|
{
|
|
public:
|
|
AZ_TYPE_INFO(MaterialEditor::MaterialEditorApplication, "{30F90CA5-1253-49B5-8143-19CEE37E22BB}");
|
|
|
|
using Base = AtomToolsFramework::AtomToolsDocumentApplication;
|
|
|
|
MaterialEditorApplication(int* argc, char*** argv);
|
|
~MaterialEditorApplication();
|
|
|
|
// AzFramework::Application overrides...
|
|
void Reflect(AZ::ReflectContext* context) override;
|
|
void CreateStaticModules(AZStd::vector<AZ::Module*>& outModules) override;
|
|
const char* GetCurrentConfigurationName() const override;
|
|
void StartCommon(AZ::Entity* systemEntity) override;
|
|
|
|
// AtomToolsFramework::AtomToolsApplication overrides...
|
|
AZStd::string GetBuildTargetName() const override;
|
|
AZStd::vector<AZStd::string> GetCriticalAssetFilters() const override;
|
|
|
|
// AtomToolsMainWindowFactoryRequestBus::Handler overrides...
|
|
void CreateMainWindow() override;
|
|
void DestroyMainWindow() override;
|
|
|
|
// AzToolsFramework::EditorWindowRequests::Bus::Handler
|
|
QWidget* GetAppMainWindow() override;
|
|
|
|
AZStd::unique_ptr<MaterialEditorWindow> m_window;
|
|
AZStd::unique_ptr<MaterialEditorBrowserInteractions> m_materialEditorBrowserInteractions;
|
|
};
|
|
} // namespace MaterialEditor
|