Addressing requests

Signed-off-by: Dayo Lawal <lawalfua@amazon.com>
This commit is contained in:
Dayo Lawal
2021-08-05 17:59:00 -05:00
parent e8d685211b
commit e507236257
11 changed files with 42 additions and 76 deletions
@@ -476,7 +476,7 @@ namespace AtomToolsFramework
appType.m_maskValue = AZ::ApplicationTypeQuery::Masks::Game;
}
void AtomToolsApplication::OnTraceMessage([[maybe_unused]] AZStd::string_view message)
void AtomToolsApplication::OnTraceMessage([[maybe_unused]] AZStd::string_view message)
{
#if defined(AZ_ENABLE_TRACING)
AZStd::vector<AZStd::string> lines;
@@ -25,6 +25,8 @@ namespace AtomToolsFramework
m_statusBar->setObjectName("StatusBar");
statusBar()->addPermanentWidget(m_statusBar, 1);
m_centralWidget = new QWidget(this);
AtomToolsMainWindowRequestBus::Handler::BusConnect();
}
@@ -109,11 +111,26 @@ namespace AtomToolsFramework
void AtomToolsMainWindow::CreateTabBar()
{
m_centralWidget = new QWidget(this);
m_tabWidget = new AzQtComponents::TabWidget(m_centralWidget);
m_tabWidget->setObjectName("TabWidget");
m_tabWidget->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Preferred);
m_tabWidget->setContentsMargins(0, 0, 0, 0);
// The tab bar should only be visible if it has active documents
m_tabWidget->setVisible(false);
m_tabWidget->setTabBarAutoHide(false);
m_tabWidget->setMovable(true);
m_tabWidget->setTabsClosable(true);
m_tabWidget->setUsesScrollButtons(true);
// Add context menu for right-clicking on tabs
m_tabWidget->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(
m_tabWidget, &QWidget::customContextMenuRequested, this,
[this]()
{
OpenTabContextMenu();
});
}
void AtomToolsMainWindow::AddTabForDocumentId(const AZ::Uuid& documentId)
@@ -38,8 +38,8 @@
#include <AzToolsFramework/UI/PropertyEditor/PropertyManagerComponent.h>
#include <AzToolsFramework/SourceControl/SourceControlAPI.h>
#include <Source/MaterialEditorApplication.h>
#include <MaterialEditor_Traits_Platform.h>
#include <MaterialEditorApplication.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
#include <QMessageBox>
@@ -488,19 +488,6 @@ namespace MaterialEditor
{
Base::CreateTabBar();
// The tab bar should only be visible if it has active documents
m_tabWidget->setVisible(false);
m_tabWidget->setTabBarAutoHide(false);
m_tabWidget->setMovable(true);
m_tabWidget->setTabsClosable(true);
m_tabWidget->setUsesScrollButtons(true);
// Add context menu for right-clicking on tabs
m_tabWidget->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(m_tabWidget, &QWidget::customContextMenuRequested, this, [this]() {
OpenTabContextMenu();
});
// 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
// This should automatically clear the active document
@@ -14,18 +14,9 @@
#include <AzCore/Memory/SystemAllocator.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
#include <AzQtComponents/Components/DockMainWindow.h>
#include <AzQtComponents/Components/FancyDocking.h>
#include <AzQtComponents/Components/StyledDockWidget.h>
#include <AzQtComponents/Components/Widgets/TabWidget.h>
#include <Viewport/MaterialViewportWidget.h>
#include <Window/StatusBar/StatusBarWidget.h>
#include <Window/ToolBar/MaterialEditorToolBar.h>
#include <QMenuBar>
#include <QStatusBar>
#include <QToolBar>
#include <Window/ToolBar/MaterialEditorToolBar.h>r>
AZ_POP_DISABLE_WARNING
#endif
@@ -6,7 +6,8 @@
*
*/
#include <Atom/Window/MaterialEditorWindowSettings.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowFactoryRequestBus.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h>
#include <AzCore/RTTI/BehaviorContext.h>
#include <AzCore/Serialization/EditContext.h>
#include <AzCore/Serialization/SerializeContext.h>
@@ -17,14 +18,9 @@
#include <Window/MaterialEditorWindow.h>
#include <Window/MaterialEditorWindowComponent.h>
#include <Window/ViewportSettingsInspector/ViewportSettingsInspector.h>
#include <AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h>
namespace MaterialEditor
{
using FactoryRequestBus = AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus;
using RequestBus = AtomToolsFramework::AtomToolsMainWindowRequestBus;
void MaterialEditorWindowComponent::Reflect(AZ::ReflectContext* context)
{
MaterialEditorWindowSettings::Reflect(context);
@@ -37,25 +33,25 @@ namespace MaterialEditor
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
behaviorContext->EBus<FactoryRequestBus>("MaterialEditorWindowFactoryRequestBus")
behaviorContext->EBus<AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus>("MaterialEditorWindowAtomToolsFramework::AtomToolsMainWindowFactoryRequestBus")
->Attribute(AZ::Script::Attributes::Scope, AZ::Script::Attributes::ScopeFlags::Common)
->Attribute(AZ::Script::Attributes::Category, "Editor")
->Attribute(AZ::Script::Attributes::Module, "materialeditor")
->Event("CreateMaterialEditorWindow", &FactoryRequestBus::Events::CreateMainWindow)
->Event("DestroyMaterialEditorWindow", &FactoryRequestBus::Events::DestroyMainWindow)
->Event("CreateMaterialEditorWindow", &AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Events::CreateMainWindow)
->Event("DestroyMaterialEditorWindow", &AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Events::DestroyMainWindow)
;
behaviorContext->EBus<RequestBus>("MaterialEditorWindowRequestBus")
behaviorContext->EBus<AtomToolsFramework::AtomToolsMainWindowRequestBus>("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", &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)
->Event("ActivateWindow", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::ActivateWindow)
->Event("SetDockWidgetVisible", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::SetDockWidgetVisible)
->Event("IsDockWidgetVisible", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::IsDockWidgetVisible)
->Event("GetDockWidgetNames", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::GetDockWidgetNames)
->Event("ResizeViewportRenderTarget", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::ResizeViewportRenderTarget)
->Event("LockViewportRenderTargetSize", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::LockViewportRenderTargetSize)
->Event("UnlockViewportRenderTargetSize", &AtomToolsFramework::AtomToolsMainWindowRequestBus::Events::UnlockViewportRenderTargetSize)
;
}
}
@@ -84,13 +80,13 @@ namespace MaterialEditor
void MaterialEditorWindowComponent::Activate()
{
AzToolsFramework::EditorWindowRequestBus::Handler::BusConnect();
FactoryRequestBus::Handler::BusConnect();
AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Handler::BusConnect();
AzToolsFramework::SourceControlConnectionRequestBus::Broadcast(&AzToolsFramework::SourceControlConnectionRequests::EnableSourceControl, true);
}
void MaterialEditorWindowComponent::Deactivate()
{
FactoryRequestBus::Handler::BusDisconnect();
AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Handler::BusDisconnect();
AzToolsFramework::EditorWindowRequestBus::Handler::BusDisconnect();
m_window.reset();
@@ -39,9 +39,6 @@ set(FILES
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.ui
Source/Window/StatusBar/StatusBarWidget.cpp
Source/Window/StatusBar/StatusBarWidget.h
Source/Window/StatusBar/StatusBarWidget.ui
Source/Window/ToolBar/MaterialEditorToolBar.h
Source/Window/ToolBar/MaterialEditorToolBar.cpp
Source/Window/ToolBar/ModelPresetComboBox.h
@@ -36,7 +36,7 @@
#include <AzToolsFramework/UI/UICore/QWidgetSavedState.h>
#include <ShaderManagementConsole_Traits_Platform.h>
#include <Source/ShaderManagementConsoleApplication.h>
#include <ShaderManagementConsoleApplication.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
#include <QMessageBox>
@@ -284,19 +284,6 @@ namespace ShaderManagementConsole
{
Base::CreateTabBar();
// The tab bar should only be visible if it has active documents
m_tabWidget->setVisible(false);
m_tabWidget->setTabBarAutoHide(false);
m_tabWidget->setMovable(true);
m_tabWidget->setTabsClosable(true);
m_tabWidget->setUsesScrollButtons(true);
// Add context menu for right-clicking on tabs
m_tabWidget->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(m_tabWidget, &QWidget::customContextMenuRequested, this, [this]() {
OpenTabContextMenu();
});
// 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
// This should automatically clear the active document
@@ -17,17 +17,10 @@
#include <AtomToolsFramework/Window/AtomToolsMainWindow.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
#include <AzQtComponents/Components/DockMainWindow.h>
#include <AzQtComponents/Components/FancyDocking.h>
#include <AzQtComponents/Components/StyledDockWidget.h>
#include <AzQtComponents/Components/Widgets/TabWidget.h>
#include <Window/ShaderManagementConsoleBrowserWidget.h>
#include <Window/ToolBar/ShaderManagementConsoleToolBar.h>
#include <QMenuBar>
#include <QStandardItemModel>
#include <QToolBar>
AZ_POP_DISABLE_WARNING
#endif
@@ -34,8 +34,6 @@ AZ_POP_DISABLE_WARNING
namespace ShaderManagementConsole
{
using FactoryRequestBus = AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus;
void ShaderManagementConsoleWindowComponent::Reflect(AZ::ReflectContext* context)
{
if (AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context))
@@ -46,12 +44,12 @@ namespace ShaderManagementConsole
if (AZ::BehaviorContext* behaviorContext = azrtti_cast<AZ::BehaviorContext*>(context))
{
behaviorContext->EBus<FactoryRequestBus>("ShaderManagementConsoleWindowRequestBus")
behaviorContext->EBus<AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus>("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", &FactoryRequestBus::Events::CreateMainWindow)
->Event("DestroyShaderManagementConsoleWindow", &FactoryRequestBus::Events::DestroyMainWindow)
->Event("CreateShaderManagementConsoleWindow", &AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Events::CreateMainWindow)
->Event("DestroyShaderManagementConsoleWindow", &AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Events::DestroyMainWindow)
;
behaviorContext->EBus<ShaderManagementConsoleRequestBus>("ShaderManagementConsoleRequestBus")
@@ -89,7 +87,7 @@ namespace ShaderManagementConsole
void ShaderManagementConsoleWindowComponent::Activate()
{
AzToolsFramework::EditorWindowRequestBus::Handler::BusConnect();
FactoryRequestBus::Handler::BusConnect();
AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Handler::BusConnect();
ShaderManagementConsoleRequestBus::Handler::BusConnect();
AzToolsFramework::SourceControlConnectionRequestBus::Broadcast(&AzToolsFramework::SourceControlConnectionRequests::EnableSourceControl, true);
}
@@ -97,7 +95,7 @@ namespace ShaderManagementConsole
void ShaderManagementConsoleWindowComponent::Deactivate()
{
ShaderManagementConsoleRequestBus::Handler::BusDisconnect();
FactoryRequestBus::Handler::BusDisconnect();
AtomToolsFramework::AtomToolsMainWindowFactoryRequestBus::Handler::BusDisconnect();
AzToolsFramework::EditorWindowRequestBus::Handler::BusDisconnect();
m_window.reset();