Fixing ME and ATWindowNotificationBus

Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
This commit is contained in:
Dayo Lawal
2021-08-03 15:53:20 -05:00
parent 2ed07c2a6a
commit 4eacd076da
12 changed files with 50 additions and 71 deletions
@@ -7,8 +7,8 @@
*/
#pragma once
#include <AzCore/Memory/SystemAllocator.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h>
#include <AzCore/Memory/SystemAllocator.h>
#include <AzQtComponents/Components/DockMainWindow.h>
#include <AzQtComponents/Components/FancyDocking.h>
@@ -44,7 +44,7 @@ namespace AtomToolsFramework
virtual void RemoveTabForDocumentId(const AZ::Uuid& documentId);
virtual void UpdateTabForDocumentId(const AZ::Uuid& documentId);
virtual AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const;
virtual void OpenTabContextMenu();
virtual void SelectPreviousTab();
virtual void SelectNextTab();
@@ -58,6 +58,5 @@ namespace AtomToolsFramework
AZStd::unordered_map<AZStd::string, AzQtComponents::StyledDockWidget*> m_dockWidgets;
QMenu* m_menuFile = {};
//StatusBarWidget* m_statusBar = {};
};
}
} // namespace AtomToolsFramework
@@ -10,17 +10,16 @@
#include <AzCore/EBus/EBus.h>
namespace MaterialEditor
namespace AtomToolsFramework
{
class MaterialEditorWindowNotifications
: public AZ::EBusTraits
class AtomToolsMainWindowNotifications : public AZ::EBusTraits
{
public:
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
virtual void OnMaterialEditorWindowClosing() {};
virtual void OnAtomToolsMainWindowWindowClosing(){};
};
using MaterialEditorWindowNotificationBus = AZ::EBus<MaterialEditorWindowNotifications>;
using AtomToolsMainWindowNotificationBus = AZ::EBus<AtomToolsMainWindowNotifications>;
} // namespace MaterialEditor
} // namespace AtomToolsFramework
@@ -7,7 +7,10 @@
*/
#pragma once
//! Disables "unreferenced formal parameter" warning
#pragma warning(disable : 4100)
#include <AzCore/EBus/EBus.h>
#include <AzCore/std/containers/vector.h>
#include <AzCore/std/string/string.h>
@@ -27,6 +27,7 @@ set(FILES
Include/AtomToolsFramework/Window/AtomToolsMainWindow.h
Include/AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h
Include/AtomToolsFramework/Window/AtomToolsMainWindowFactoryRequestBus.h
Include/AtomToolsFramework/Window/AtomToolsMainWindowNotificationBus.h
Source/Application/AtomToolsApplication.cpp
Source/Communication/LocalServer.cpp
Source/Communication/LocalSocket.cpp
@@ -44,4 +45,4 @@ set(FILES
Source/Viewport/RenderViewportWidget.cpp
Source/Viewport/ModularViewportCameraController.cpp
Source/Window/AtomToolsMainWindow.cpp
)
)
@@ -15,10 +15,10 @@
#include <Atom/Document/MaterialDocumentRequestBus.h>
#include <Atom/Document/MaterialDocumentSystemRequestBus.h>
#include <Atom/Window/MaterialEditorWindowNotificationBus.h>
#include <Atom/Window/MaterialEditorWindowSettings.h>
#include <AtomToolsFramework/Util/Util.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowNotificationBus.h>
#include <AzFramework/Application/Application.h>
#include <AzFramework/StringFunc/StringFunc.h>
@@ -185,7 +185,8 @@ namespace MaterialEditor
QByteArray windowState = m_advancedDockManager->saveState();
windowSettings->m_mainWindowState.assign(windowState.begin(), windowState.end());
MaterialEditorWindowNotificationBus::Broadcast(&MaterialEditorWindowNotifications::OnMaterialEditorWindowClosing);
AtomToolsFramework::AtomToolsMainWindowNotificationBus::Broadcast(
&AtomToolsFramework::AtomToolsMainWindowNotifications::OnAtomToolsMainWindowWindowClosing);
}
void MaterialEditorWindow::OnDocumentOpened(const AZ::Uuid& documentId)
@@ -284,7 +285,7 @@ namespace MaterialEditor
void MaterialEditorWindow::SetupMenu()
{
AtomToolsFramework::AtomToolsMainWindow::SetupMenu();
Base::SetupMenu();
m_actionNew = m_menuFile->addAction("&New...", [this]() {
CreateMaterialDialog createDialog(this);
@@ -482,7 +483,7 @@ namespace MaterialEditor
void MaterialEditorWindow::SetupTabs()
{
AtomToolsFramework::AtomToolsMainWindow::SetupTabs();
Base::SetupTabs();
// This signal will be triggered whenever a tab is added, removed, selected, clicked, dragged
// When the last tab is removed tabIndex will be -1 and the document ID will be null
@@ -9,9 +9,9 @@
#pragma once
#if !defined(Q_MOC_RUN)
#include <AzCore/Memory/SystemAllocator.h>
#include <Atom/Document/MaterialDocumentNotificationBus.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindow.h>
#include <AzCore/Memory/SystemAllocator.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
#include <AzQtComponents/Components/DockMainWindow.h>
@@ -19,14 +19,13 @@ AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnin
#include <AzQtComponents/Components/StyledDockWidget.h>
#include <AzQtComponents/Components/Widgets/TabWidget.h>
#include <Atom/Window/MaterialEditorWindowRequestBus.h>
#include <Viewport/MaterialViewportWidget.h>
#include <Window/ToolBar/MaterialEditorToolBar.h>
#include <Window/StatusBar/StatusBarWidget.h>
#include <Window/ToolBar/MaterialEditorToolBar.h>
#include <QMenuBar>
#include <QToolBar>
#include <QStatusBar>
#include <QToolBar>
AZ_POP_DISABLE_WARNING
#endif
@@ -18,6 +18,8 @@
#include <Window/MaterialEditorWindow.h>
#include <Window/MaterialEditorWindowComponent.h>
#include <Window/ViewportSettingsInspector/ViewportSettingsInspector.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h>
namespace MaterialEditor
{
@@ -33,25 +35,27 @@ namespace MaterialEditor
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
behaviorContext->EBus<MaterialEditorWindowFactoryRequestBus>("MaterialEditorWindowFactoryRequestBus")
using FactoryRequestBus = MaterialEditorWindowFactoryRequestBus;
behaviorContext->EBus<FactoryRequestBus>("MaterialEditorWindowFactoryRequestBus")
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
->Attribute(AZ::Script::Attributes::Category, "Editor")
->Attribute(AZ::Script::Attributes::Module, "materialeditor")
->Event("CreateMaterialEditorWindow", &MaterialEditorWindowFactoryRequestBus::Events::CreateMaterialEditorWindow)
->Event("DestroyMaterialEditorWindow", &MaterialEditorWindowFactoryRequestBus::Events::DestroyMaterialEditorWindow)
->Event("CreateMaterialEditorWindow", &FactoryRequestBus::Events::CreateMaterialEditorWindow)
->Event("DestroyMaterialEditorWindow", &FactoryRequestBus::Events::DestroyMaterialEditorWindow)
;
behaviorContext->EBus<MaterialEditorWindowRequestBus>("MaterialEditorWindowRequestBus")
using RequestBus = AtomToolsFramework::AtomToolsMainWindowRequestBus;
behaviorContext->EBus<RequestBus>("MaterialEditorWindowRequestBus")
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
->Attribute(AZ::Script::Attributes::Category, "Editor")
->Attribute(AZ::Script::Attributes::Module, "materialeditor")
->Event("ActivateWindow", &MaterialEditorWindowRequestBus::Events::ActivateWindow)
->Event("SetDockWidgetVisible", &MaterialEditorWindowRequestBus::Events::SetDockWidgetVisible)
->Event("IsDockWidgetVisible", &MaterialEditorWindowRequestBus::Events::IsDockWidgetVisible)
->Event("GetDockWidgetNames", &MaterialEditorWindowRequestBus::Events::GetDockWidgetNames)
->Event("ResizeViewportRenderTarget", &MaterialEditorWindowRequestBus::Events::ResizeViewportRenderTarget)
->Event("LockViewportRenderTargetSize", &MaterialEditorWindowRequestBus::Events::LockViewportRenderTargetSize)
->Event("UnlockViewportRenderTargetSize", &MaterialEditorWindowRequestBus::Events::UnlockViewportRenderTargetSize)
->Event("ActivateWindow", &RequestBus::Events::ActivateWindow)
->Event("SetDockWidgetVisible", &RequestBus::Events::SetDockWidgetVisible)
->Event("IsDockWidgetVisible", &RequestBus::Events::IsDockWidgetVisible)
->Event("GetDockWidgetNames", &RequestBus::Events::GetDockWidgetNames)
->Event("ResizeViewportRenderTarget", &RequestBus::Events::ResizeViewportRenderTarget)
->Event("LockViewportRenderTargetSize", &RequestBus::Events::LockViewportRenderTargetSize)
->Event("UnlockViewportRenderTargetSize", &RequestBus::Events::UnlockViewportRenderTargetSize)
;
}
}
@@ -9,8 +9,6 @@
set(FILES
Include/Atom/Window/MaterialEditorWindowModule.h
Include/Atom/Window/MaterialEditorWindowSettings.h
Include/Atom/Window/MaterialEditorWindowNotificationBus.h
Include/Atom/Window/MaterialEditorWindowRequestBus.h
Include/Atom/Window/MaterialEditorWindowFactoryRequestBus.h
Source/Window/MaterialEditorBrowserInteractions.h
Source/Window/MaterialEditorBrowserInteractions.cpp
@@ -1,26 +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>
namespace ShaderManagementConsole
{
class ShaderManagementConsoleWindowNotifications
: public AZ::EBusTraits
{
public:
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple;
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
virtual void OnShaderManagementConsoleWindowClosing() {};
};
using ShaderManagementConsoleWindowNotificationBus = AZ::EBus<ShaderManagementConsoleWindowNotifications>;
} // namespace ShaderManagementConsole
@@ -5,6 +5,12 @@
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include <Atom/Document/ShaderManagementConsoleDocumentRequestBus.h>
#include <Atom/Document/ShaderManagementConsoleDocumentSystemRequestBus.h>
#include <AtomToolsFramework/Util/Util.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowNotificationBus.h>
#include <AzCore/Name/Name.h>
@@ -15,11 +21,6 @@
#include <AzToolsFramework/API/EditorPythonRunnerRequestsBus.h>
#include <AzToolsFramework/API/EditorAssetSystemAPI.h>
#include <AzToolsFramework/PythonTerminal/ScriptTermDialog.h>
#include <AtomToolsFramework/Util/Util.h>
#include <Atom/Document/ShaderManagementConsoleDocumentRequestBus.h>
#include <Atom/Document/ShaderManagementConsoleDocumentSystemRequestBus.h>
#include <Atom/Window/ShaderManagementConsoleWindowNotificationBus.h>
#include <Source/Window/ShaderManagementConsoleWindow.h>
@@ -80,7 +81,8 @@ namespace ShaderManagementConsole
return;
}
ShaderManagementConsoleWindowNotificationBus::Broadcast(&ShaderManagementConsoleWindowNotifications::OnShaderManagementConsoleWindowClosing);
AtomToolsFramework::AtomToolsMainWindowNotificationBus::Broadcast(
&AtomToolsFramework::AtomToolsMainWindowNotifications::OnAtomToolsMainWindowWindowClosing);
}
void ShaderManagementConsoleWindow::OnDocumentOpened(const AZ::Uuid& documentId)
@@ -159,7 +161,7 @@ namespace ShaderManagementConsole
void ShaderManagementConsoleWindow::SetupMenu()
{
AtomToolsFramework::AtomToolsMainWindow::SetupMenu();
Base::SetupMenu();
m_actionOpen = m_menuFile->addAction("&Open...", [this]() {
const AZStd::vector<AZ::Data::AssetType> assetTypes = {
@@ -277,7 +279,7 @@ namespace ShaderManagementConsole
void ShaderManagementConsoleWindow::SetupTabs()
{
AtomToolsFramework::AtomToolsMainWindow::SetupTabs();
Base::SetupTabs();
// This signal will be triggered whenever a tab is added, removed, selected, clicked, dragged
// When the last tab is removed tabIndex will be -1 and the document ID will be null
@@ -9,11 +9,11 @@
#pragma once
#if !defined(Q_MOC_RUN)
#include <AzCore/Memory/SystemAllocator.h>
#include <Atom/Document/ShaderManagementConsoleDocumentNotificationBus.h>
#include <AzCore/Memory/SystemAllocator.h>
#include <Atom/RPI.Public/Shader/Shader.h>
#include <Atom/RPI.Edit/Shader/ShaderVariantListSourceData.h>
#include <Atom/RPI.Public/Shader/Shader.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindow.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
@@ -26,8 +26,8 @@ AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnin
#include <Window/ToolBar/ShaderManagementConsoleToolBar.h>
#include <QMenuBar>
#include <QToolBar>
#include <QStandardItemModel>
#include <QToolBar>
AZ_POP_DISABLE_WARNING
#endif
@@ -63,7 +63,7 @@ namespace ShaderManagementConsole
void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override;
void OnDocumentSaved(const AZ::Uuid& documentId) override;
void SetupMenu() override;
void SetupMenu() override;
void SetupTabs() override;
void AddTabForDocumentId(const AZ::Uuid& documentId) override;
@@ -8,7 +8,6 @@
set(FILES
Include/Atom/Window/ShaderManagementConsoleWindowModule.h
Include/Atom/Window/ShaderManagementConsoleWindowNotificationBus.h
Include/Atom/Window/ShaderManagementConsoleWindowRequestBus.h
Include/Atom/Core/ShaderManagementConsoleRequestBus.h
Source/Window/ShaderManagementConsoleBrowserInteractions.h