ATWindowNotificationBus and ATFactoryRequestBus
Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
This commit is contained in:
-33
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* 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 <AzCore/EBus/EBus.h>
|
||||
#include <AzCore/std/containers/vector.h>
|
||||
#include <AzCore/Asset/AssetCommon.h>
|
||||
|
||||
namespace ShaderManagementConsole
|
||||
{
|
||||
//! ShaderManagementConsoleWindowRequestBus provides
|
||||
class ShaderManagementConsoleWindowRequests
|
||||
: public AZ::EBusTraits
|
||||
{
|
||||
public:
|
||||
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
|
||||
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
|
||||
|
||||
/// Creates and shows main window
|
||||
virtual void CreateShaderManagementConsoleWindow() = 0;
|
||||
|
||||
//! Destroys main window
|
||||
virtual void DestroyShaderManagementConsoleWindow() = 0;
|
||||
};
|
||||
using ShaderManagementConsoleWindowRequestBus = AZ::EBus<ShaderManagementConsoleWindowRequests>;
|
||||
|
||||
} // namespace ShaderManagementConsole
|
||||
+6
-27
@@ -35,7 +35,6 @@
|
||||
#include <Atom/Document/ShaderManagementConsoleDocumentSystemRequestBus.h>
|
||||
|
||||
#include <Atom/Window/ShaderManagementConsoleWindowModule.h>
|
||||
#include <Atom/Window/ShaderManagementConsoleWindowRequestBus.h>
|
||||
#include <AzCore/IO/Path/Path.h>
|
||||
#include <AzCore/Settings/SettingsRegistryMergeUtils.h>
|
||||
#include <AzCore/Utils/Utils.h>
|
||||
@@ -77,6 +76,12 @@ namespace ShaderManagementConsole
|
||||
*AZ::SettingsRegistry::Get(), GetBuildTargetName());
|
||||
}
|
||||
|
||||
ShaderManagementConsoleApplication::~ShaderManagementConsoleApplication()
|
||||
{
|
||||
AzToolsFramework::AssetDatabase::AssetDatabaseRequestsBus::Handler::BusDisconnect();
|
||||
AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
void ShaderManagementConsoleApplication::CreateStaticModules(AZStd::vector<AZ::Module*>& outModules)
|
||||
{
|
||||
Base::CreateStaticModules(outModules);
|
||||
@@ -84,23 +89,6 @@ namespace ShaderManagementConsole
|
||||
outModules.push_back(aznew ShaderManagementConsoleWindowModule);
|
||||
}
|
||||
|
||||
void ShaderManagementConsoleApplication::OnShaderManagementConsoleWindowClosing()
|
||||
{
|
||||
ExitMainLoop();
|
||||
ShaderManagementConsoleWindowNotificationBus::Handler::BusDisconnect();
|
||||
AzToolsFramework::EditorPythonConsoleNotificationBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
void ShaderManagementConsoleApplication::Destroy()
|
||||
{
|
||||
// before modules are unloaded, destroy UI to free up any assets it cached
|
||||
ShaderManagementConsole::ShaderManagementConsoleWindowRequestBus::Broadcast(&ShaderManagementConsole::ShaderManagementConsoleWindowRequestBus::Handler::DestroyShaderManagementConsoleWindow);
|
||||
|
||||
ShaderManagementConsoleWindowNotificationBus::Handler::BusDisconnect();
|
||||
|
||||
Base::Destroy();
|
||||
}
|
||||
|
||||
AZStd::vector<AZStd::string> ShaderManagementConsoleApplication::GetCriticalAssetFilters() const
|
||||
{
|
||||
return AZStd::vector<AZStd::string>({ "passes/", "config/" });
|
||||
@@ -129,13 +117,4 @@ namespace ShaderManagementConsole
|
||||
ShaderManagementConsoleDocumentSystemRequestBus::Broadcast(&ShaderManagementConsoleDocumentSystemRequestBus::Events::OpenDocument, openDocumentPath);
|
||||
}
|
||||
}
|
||||
|
||||
void ShaderManagementConsoleApplication::StartInternal()
|
||||
{
|
||||
Base::StartInternal();
|
||||
|
||||
ShaderManagementConsoleWindowNotificationBus::Handler::BusConnect();
|
||||
|
||||
ShaderManagementConsole::ShaderManagementConsoleWindowRequestBus::Broadcast(&ShaderManagementConsole::ShaderManagementConsoleWindowRequestBus::Handler::CreateShaderManagementConsoleWindow);
|
||||
}
|
||||
} // namespace ShaderManagementConsole
|
||||
|
||||
+1
-14
@@ -9,7 +9,6 @@
|
||||
#pragma once
|
||||
|
||||
#include <Atom/Document/ShaderManagementConsoleDocumentSystemRequestBus.h>
|
||||
#include <Atom/Window/ShaderManagementConsoleWindowNotificationBus.h>
|
||||
#include <AtomToolsFramework/Application/AtomToolsApplication.h>
|
||||
|
||||
#include <QTimer>
|
||||
@@ -18,7 +17,6 @@ namespace ShaderManagementConsole
|
||||
{
|
||||
class ShaderManagementConsoleApplication
|
||||
: public AtomToolsFramework::AtomToolsApplication
|
||||
, private ShaderManagementConsoleWindowNotificationBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_TYPE_INFO(ShaderManagementConsole::ShaderManagementConsoleApplication, "{A31B1AEB-4DA3-49CD-884A-CC998FF7546F}");
|
||||
@@ -26,7 +24,7 @@ namespace ShaderManagementConsole
|
||||
using Base = AtomToolsFramework::AtomToolsApplication;
|
||||
|
||||
ShaderManagementConsoleApplication(int* argc, char*** argv);
|
||||
virtual ~ShaderManagementConsoleApplication() = default;
|
||||
virtual ~ShaderManagementConsoleApplication();
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// AzFramework::Application
|
||||
@@ -34,18 +32,7 @@ namespace ShaderManagementConsole
|
||||
const char* GetCurrentConfigurationName() const override;
|
||||
|
||||
private:
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// ShaderManagementConsoleWindowNotificationBus::Handler overrides...
|
||||
void OnShaderManagementConsoleWindowClosing() override;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// AzFramework::Application overrides...
|
||||
void Destroy() override;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void ProcessCommandLine();
|
||||
void StartInternal() override;
|
||||
AZStd::string GetBuildTargetName() const override;
|
||||
AZStd::vector<AZStd::string> GetCriticalAssetFilters() const override;
|
||||
};
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ namespace ShaderManagementConsole
|
||||
}
|
||||
|
||||
AtomToolsFramework::AtomToolsMainWindowNotificationBus::Broadcast(
|
||||
&AtomToolsFramework::AtomToolsMainWindowNotifications::OnAtomToolsMainWindowWindowClosing);
|
||||
&AtomToolsFramework::AtomToolsMainWindowNotifications::OnMainWindowClosing);
|
||||
}
|
||||
|
||||
void ShaderManagementConsoleWindow::OnDocumentOpened(const AZ::Uuid& documentId)
|
||||
|
||||
+5
-5
@@ -44,12 +44,12 @@ namespace ShaderManagementConsole
|
||||
|
||||
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
|
||||
{
|
||||
behaviorContext->EBus<ShaderManagementConsoleWindowRequestBus>("ShaderManagementConsoleWindowRequestBus")
|
||||
behaviorContext->EBus<ShaderManagementConsoleWindowFactoryRequestBus>("ShaderManagementConsoleWindowRequestBus")
|
||||
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Automation)
|
||||
->Attribute(AZ::Script::Attributes::Category, "Editor")
|
||||
->Attribute(AZ::Script::Attributes::Module, "shadermanagementconsole")
|
||||
->Event("CreateShaderManagementConsoleWindow", &ShaderManagementConsoleWindowRequestBus::Events::CreateShaderManagementConsoleWindow)
|
||||
->Event("DestroyShaderManagementConsoleWindow", &ShaderManagementConsoleWindowRequestBus::Events::DestroyShaderManagementConsoleWindow)
|
||||
->Event("CreateShaderManagementConsoleWindow", &ShaderManagementConsoleWindowFactoryRequestBus::Events::CreateShaderManagementConsoleWindow)
|
||||
->Event("DestroyShaderManagementConsoleWindow", &ShaderManagementConsoleWindowFactoryRequestBus::Events::DestroyShaderManagementConsoleWindow)
|
||||
;
|
||||
|
||||
behaviorContext->EBus<ShaderManagementConsoleRequestBus>("ShaderManagementConsoleRequestBus")
|
||||
@@ -87,7 +87,7 @@ namespace ShaderManagementConsole
|
||||
void ShaderManagementConsoleWindowComponent::Activate()
|
||||
{
|
||||
AzToolsFramework::EditorWindowRequestBus::Handler::BusConnect();
|
||||
ShaderManagementConsoleWindowRequestBus::Handler::BusConnect();
|
||||
ShaderManagementConsoleWindowFactoryRequestBus::Handler::BusConnect();
|
||||
ShaderManagementConsoleRequestBus::Handler::BusConnect();
|
||||
AzToolsFramework::SourceControlConnectionRequestBus::Broadcast(&AzToolsFramework::SourceControlConnectionRequests::EnableSourceControl, true);
|
||||
}
|
||||
@@ -95,7 +95,7 @@ namespace ShaderManagementConsole
|
||||
void ShaderManagementConsoleWindowComponent::Deactivate()
|
||||
{
|
||||
ShaderManagementConsoleRequestBus::Handler::BusDisconnect();
|
||||
ShaderManagementConsoleWindowRequestBus::Handler::BusDisconnect();
|
||||
ShaderManagementConsoleWindowFactoryRequestBus::Handler::BusDisconnect();
|
||||
AzToolsFramework::EditorWindowRequestBus::Handler::BusDisconnect();
|
||||
|
||||
m_window.reset();
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@
|
||||
|
||||
#include <Atom/RPI.Reflect/Material/MaterialAsset.h>
|
||||
|
||||
#include <Atom/Window/ShaderManagementConsoleWindowRequestBus.h>
|
||||
#include <Atom/Window/ShaderManagementConsoleWindowFactoryRequestBus.h>
|
||||
#include <Atom/Core/ShaderManagementConsoleRequestBus.h>
|
||||
#include <Source/Window/ShaderManagementConsoleBrowserInteractions.h>
|
||||
#include <Source/Window/ShaderManagementConsoleWindow.h>
|
||||
@@ -24,7 +24,7 @@ namespace ShaderManagementConsole
|
||||
//! used for initialization and registration of other classes, including ShaderManagementConsoleWindow.
|
||||
class ShaderManagementConsoleWindowComponent
|
||||
: public AZ::Component
|
||||
, private ShaderManagementConsoleWindowRequestBus::Handler
|
||||
, private ShaderManagementConsoleWindowFactoryRequestBus::Handler
|
||||
, private ShaderManagementConsoleRequestBus::Handler
|
||||
, private AzToolsFramework::EditorWindowRequestBus::Handler
|
||||
{
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
set(FILES
|
||||
Include/Atom/Window/ShaderManagementConsoleWindowModule.h
|
||||
Include/Atom/Window/ShaderManagementConsoleWindowRequestBus.h
|
||||
Include/Atom/Core/ShaderManagementConsoleRequestBus.h
|
||||
Source/Window/ShaderManagementConsoleBrowserInteractions.h
|
||||
Source/Window/ShaderManagementConsoleBrowserInteractions.cpp
|
||||
|
||||
Reference in New Issue
Block a user