restored view menu entries for dock widgets

renamed document tab functions

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
monroegm-disable-blank-issue-2
Guthrie Adams 4 years ago
parent 78f90f2707
commit 2c6e105d27

@ -37,26 +37,25 @@ namespace AtomToolsFramework
QString GetDocumentPath(const AZ::Uuid& documentId) const;
AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const;
AZ::Uuid GetDocumentTabId(const int tabIndex) const;
void AddTabForDocumentId(
void AddDocumentTab(
const AZ::Uuid& documentId,
const AZStd::string& label,
const AZStd::string& toolTip);
void RemoveTabForDocumentId(const AZ::Uuid& documentId);
void RemoveDocumentTab(const AZ::Uuid& documentId);
void UpdateTabForDocumentId(
void UpdateDocumentTab(
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip, bool isModified);
void SelectPreviousTab();
void SelectPrevDocumentTab();
void SelectNextDocumentTab();
void SelectNextTab();
virtual void OpenTabContextMenu();
virtual bool GetCreateFileInfo(AZStd::string& openPath, AZStd::string& savePath);
virtual bool GetOpenFileInfo(AZStd::string& openPath);
virtual QWidget* CreateViewForDocumemt(const AZ::Uuid& documentId);
virtual QWidget* CreateDocumentTabView(const AZ::Uuid& documentId);
virtual void OpenDocumentTabContextMenu();
virtual bool GetCreateDocumentParams(AZStd::string& openPath, AZStd::string& savePath);
virtual bool GetOpenDocumentParams(AZStd::string& openPath);
// AtomToolsDocumentNotificationBus::Handler overrides...
void OnDocumentOpened(const AZ::Uuid& documentId) override;

@ -54,5 +54,6 @@ namespace AtomToolsFramework
QMenu* m_menuHelp = {};
AZStd::unordered_map<AZStd::string, AzQtComponents::StyledDockWidget*> m_dockWidgets;
AZStd::unordered_map<AZStd::string, QAction*> m_dockActions;
};
} // namespace AtomToolsFramework

@ -47,7 +47,7 @@ namespace AtomToolsFramework
m_actionNew = CreateAction("&New...", [this]() {
AZStd::string openPath;
AZStd::string savePath;
if (GetCreateFileInfo(openPath, savePath))
if (GetCreateDocumentParams(openPath, savePath))
{
AtomToolsDocumentSystemRequestBus::Broadcast(
&AtomToolsDocumentSystemRequestBus::Events::CreateDocumentFromFile, openPath, savePath);
@ -57,7 +57,7 @@ namespace AtomToolsFramework
m_actionOpen = CreateAction("&Open...", [this]() {
AZStd::string openPath;
if (GetOpenFileInfo(openPath))
if (GetOpenDocumentParams(openPath))
{
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::OpenDocument, openPath);
}
@ -66,7 +66,7 @@ namespace AtomToolsFramework
m_menuFile->insertSeparator(insertPostion);
m_actionSave = CreateAction("&Save", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
bool result = false;
AtomToolsDocumentSystemRequestBus::BroadcastResult(result, &AtomToolsDocumentSystemRequestBus::Events::SaveDocument, documentId);
if (!result)
@ -77,7 +77,7 @@ namespace AtomToolsFramework
m_menuFile->insertAction(insertPostion, m_actionSave);
m_actionSaveAsCopy = CreateAction("Save &As...", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
const QString documentPath = GetDocumentPath(documentId);
bool result = false;
@ -91,7 +91,7 @@ namespace AtomToolsFramework
m_menuFile->insertAction(insertPostion, m_actionSaveAsCopy);
m_actionSaveAsChild = CreateAction("Save As &Child...", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
const QString documentPath = GetDocumentPath(documentId);
bool result = false;
@ -116,7 +116,7 @@ namespace AtomToolsFramework
m_menuFile->insertSeparator(insertPostion);
m_actionClose = CreateAction("&Close", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::CloseDocument, documentId);
}, QKeySequence::Close);
m_menuFile->insertAction(insertPostion, m_actionClose);
@ -127,7 +127,7 @@ namespace AtomToolsFramework
m_menuFile->insertAction(insertPostion, m_actionCloseAll);
m_actionCloseOthers = CreateAction("Close Others", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::CloseAllDocumentsExcept, documentId);
});
m_menuFile->insertAction(insertPostion, m_actionCloseOthers);
@ -136,7 +136,7 @@ namespace AtomToolsFramework
insertPostion = !m_menuEdit->actions().empty() ? m_menuEdit->actions().front() : nullptr;
m_actionUndo = CreateAction("&Undo", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
bool result = false;
AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsDocumentRequestBus::Events::Undo);
if (!result)
@ -147,7 +147,7 @@ namespace AtomToolsFramework
m_menuEdit->insertAction(insertPostion, m_actionUndo);
m_actionRedo = CreateAction("&Redo", [this]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(m_tabWidget->currentIndex());
const AZ::Uuid documentId = GetDocumentTabId(m_tabWidget->currentIndex());
bool result = false;
AtomToolsDocumentRequestBus::EventResult(result, documentId, &AtomToolsDocumentRequestBus::Events::Redo);
if (!result)
@ -164,12 +164,12 @@ namespace AtomToolsFramework
"&Previous Tab",
[this]()
{
SelectPreviousTab();
SelectPrevDocumentTab();
}, Qt::CTRL | Qt::SHIFT | Qt::Key_Tab); //QKeySequence::PreviousChild is mapped incorrectly in Qt
m_menuView->insertAction(insertPostion, m_actionPreviousTab);
m_actionNextTab = CreateAction("&Next Tab", [this]() {
SelectNextTab();
SelectNextDocumentTab();
}, Qt::CTRL | Qt::Key_Tab); //QKeySequence::NextChild works as expected but mirroring Previous
m_menuView->insertAction(insertPostion, m_actionNextTab);
m_menuView->insertSeparator(insertPostion);
@ -193,19 +193,19 @@ namespace AtomToolsFramework
// When the last tab is removed tabIndex will be -1 and the document ID will be null
// This should automatically clear the active document
connect(m_tabWidget, &QTabWidget::currentChanged, this, [this](int tabIndex) {
const AZ::Uuid documentId = GetDocumentIdFromTab(tabIndex);
const AZ::Uuid documentId = GetDocumentTabId(tabIndex);
AtomToolsDocumentNotificationBus::Broadcast(&AtomToolsDocumentNotificationBus::Events::OnDocumentOpened, documentId);
});
connect(m_tabWidget, &QTabWidget::tabCloseRequested, this, [this](int tabIndex) {
const AZ::Uuid documentId = GetDocumentIdFromTab(tabIndex);
const AZ::Uuid documentId = GetDocumentTabId(tabIndex);
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::CloseDocument, documentId);
});
// Add context menu for right-clicking on tabs
m_tabWidget->setContextMenuPolicy(Qt::ContextMenuPolicy::CustomContextMenu);
connect(m_tabWidget, &QWidget::customContextMenuRequested, this, [this]() {
OpenTabContextMenu();
OpenDocumentTabContextMenu();
});
centralWidget()->layout()->addWidget(m_tabWidget);
@ -218,7 +218,7 @@ namespace AtomToolsFramework
return absolutePath.c_str();
}
AZ::Uuid AtomToolsDocumentMainWindow::GetDocumentIdFromTab(const int tabIndex) const
AZ::Uuid AtomToolsDocumentMainWindow::GetDocumentTabId(const int tabIndex) const
{
const QVariant tabData = m_tabWidget->tabBar()->tabData(tabIndex);
if (!tabData.isNull())
@ -232,7 +232,7 @@ namespace AtomToolsFramework
return AZ::Uuid::CreateNull();
}
void AtomToolsDocumentMainWindow::AddTabForDocumentId(
void AtomToolsDocumentMainWindow::AddDocumentTab(
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip)
{
// Blocking signals from the tab bar so the currentChanged signal is not sent while a document is already being opened.
@ -242,7 +242,7 @@ namespace AtomToolsFramework
// If a tab for this document already exists then select it instead of creating a new one
for (int tabIndex = 0; tabIndex < m_tabWidget->count(); ++tabIndex)
{
if (documentId == GetDocumentIdFromTab(tabIndex))
if (documentId == GetDocumentTabId(tabIndex))
{
m_tabWidget->setCurrentIndex(tabIndex);
m_tabWidget->repaint();
@ -250,7 +250,7 @@ namespace AtomToolsFramework
}
}
const int tabIndex = m_tabWidget->addTab(CreateViewForDocumemt(documentId), label.c_str());
const int tabIndex = m_tabWidget->addTab(CreateDocumentTabView(documentId), label.c_str());
// The user can manually reorder tabs which will invalidate any association by index.
// We need to store the document ID with the tab using the tab instead of a separate mapping.
@ -261,13 +261,13 @@ namespace AtomToolsFramework
m_tabWidget->repaint();
}
void AtomToolsDocumentMainWindow::RemoveTabForDocumentId(const AZ::Uuid& documentId)
void AtomToolsDocumentMainWindow::RemoveDocumentTab(const AZ::Uuid& documentId)
{
// We are not blocking signals here because we want closing tabs to close the associated document
// and automatically select the next document.
for (int tabIndex = 0; tabIndex < m_tabWidget->count(); ++tabIndex)
{
if (documentId == GetDocumentIdFromTab(tabIndex))
if (documentId == GetDocumentTabId(tabIndex))
{
m_tabWidget->removeTab(tabIndex);
m_tabWidget->setVisible(m_tabWidget->count() > 0);
@ -277,7 +277,7 @@ namespace AtomToolsFramework
}
}
void AtomToolsDocumentMainWindow::UpdateTabForDocumentId(
void AtomToolsDocumentMainWindow::UpdateDocumentTab(
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip, bool isModified)
{
// Whenever a document is opened, saved, or modified we need to update the tab label
@ -288,7 +288,7 @@ namespace AtomToolsFramework
// We must iterate over all of the tabs to find the one associated with this document.
for (int tabIndex = 0; tabIndex < m_tabWidget->count(); ++tabIndex)
{
if (documentId == GetDocumentIdFromTab(tabIndex))
if (documentId == GetDocumentTabId(tabIndex))
{
// We use an asterisk prepended to the file name to denote modified document
// Appending is standard and preferred but the tabs elide from the
@ -303,7 +303,7 @@ namespace AtomToolsFramework
}
}
void AtomToolsDocumentMainWindow::SelectPreviousTab()
void AtomToolsDocumentMainWindow::SelectPrevDocumentTab()
{
if (m_tabWidget->count() > 1)
{
@ -312,7 +312,7 @@ namespace AtomToolsFramework
}
}
void AtomToolsDocumentMainWindow::SelectNextTab()
void AtomToolsDocumentMainWindow::SelectNextDocumentTab()
{
if (m_tabWidget->count() > 1)
{
@ -320,7 +320,16 @@ namespace AtomToolsFramework
}
}
void AtomToolsDocumentMainWindow::OpenTabContextMenu()
inline QWidget* AtomToolsDocumentMainWindow::CreateDocumentTabView(const AZ::Uuid& documentId)
{
AZ_UNUSED(documentId);
auto contentWidget = new QWidget(centralWidget());
contentWidget->setContentsMargins(0, 0, 0, 0);
contentWidget->setFixedSize(0, 0);
return contentWidget;
}
void AtomToolsDocumentMainWindow::OpenDocumentTabContextMenu()
{
const QTabBar* tabBar = m_tabWidget->tabBar();
const QPoint position = tabBar->mapFromGlobal(QCursor::pos());
@ -331,15 +340,15 @@ namespace AtomToolsFramework
QMenu tabMenu;
const QString selectActionName = (currentTabIndex == clickedTabIndex) ? "Select in Browser" : "Select";
tabMenu.addAction(selectActionName, [this, clickedTabIndex]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(clickedTabIndex);
const AZ::Uuid documentId = GetDocumentTabId(clickedTabIndex);
AtomToolsDocumentNotificationBus::Broadcast(&AtomToolsDocumentNotificationBus::Events::OnDocumentOpened, documentId);
});
tabMenu.addAction("Close", [this, clickedTabIndex]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(clickedTabIndex);
const AZ::Uuid documentId = GetDocumentTabId(clickedTabIndex);
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::CloseDocument, documentId);
});
auto closeOthersAction = tabMenu.addAction("Close Others", [this, clickedTabIndex]() {
const AZ::Uuid documentId = GetDocumentIdFromTab(clickedTabIndex);
const AZ::Uuid documentId = GetDocumentTabId(clickedTabIndex);
AtomToolsDocumentSystemRequestBus::Broadcast(&AtomToolsDocumentSystemRequestBus::Events::CloseAllDocumentsExcept, documentId);
});
closeOthersAction->setEnabled(tabBar->count() > 1);
@ -347,28 +356,19 @@ namespace AtomToolsFramework
}
}
inline bool AtomToolsDocumentMainWindow::GetCreateFileInfo(AZStd::string& openPath, AZStd::string& savePath)
inline bool AtomToolsDocumentMainWindow::GetCreateDocumentParams(AZStd::string& openPath, AZStd::string& savePath)
{
AZ_UNUSED(openPath);
AZ_UNUSED(savePath);
return false;
}
inline bool AtomToolsDocumentMainWindow::GetOpenFileInfo(AZStd::string& openPath)
inline bool AtomToolsDocumentMainWindow::GetOpenDocumentParams(AZStd::string& openPath)
{
AZ_UNUSED(openPath);
return false;
}
inline QWidget* AtomToolsDocumentMainWindow::CreateViewForDocumemt(const AZ::Uuid& documentId)
{
AZ_UNUSED(documentId);
auto contentWidget = new QWidget(centralWidget());
contentWidget->setContentsMargins(0, 0, 0, 0);
contentWidget->setFixedSize(0, 0);
return contentWidget;
}
void AtomToolsDocumentMainWindow::OnDocumentOpened(const AZ::Uuid& documentId)
{
bool isOpen = false;
@ -390,8 +390,8 @@ namespace AtomToolsFramework
if (!documentId.IsNull() && isOpen)
{
// Create a new tab for the document ID and assign it's label to the file name of the document.
AddTabForDocumentId(documentId, filename, absolutePath);
UpdateTabForDocumentId(documentId, filename, absolutePath, isModified);
AddDocumentTab(documentId, filename, absolutePath);
UpdateDocumentTab(documentId, filename, absolutePath, isModified);
}
const bool hasTabs = m_tabWidget->count() > 0;
@ -426,7 +426,7 @@ namespace AtomToolsFramework
void AtomToolsDocumentMainWindow::OnDocumentClosed(const AZ::Uuid& documentId)
{
RemoveTabForDocumentId(documentId);
RemoveDocumentTab(documentId);
SetStatusMessage(tr("Document closed: %1").arg(GetDocumentPath(documentId)));
}
@ -438,12 +438,12 @@ namespace AtomToolsFramework
AtomToolsDocumentRequestBus::EventResult(absolutePath, documentId, &AtomToolsDocumentRequestBus::Events::GetAbsolutePath);
AZStd::string filename;
AzFramework::StringFunc::Path::GetFullFileName(absolutePath.c_str(), filename);
UpdateTabForDocumentId(documentId, filename, absolutePath, isModified);
UpdateDocumentTab(documentId, filename, absolutePath, isModified);
}
void AtomToolsDocumentMainWindow::OnDocumentUndoStateChanged(const AZ::Uuid& documentId)
{
if (documentId == GetDocumentIdFromTab(m_tabWidget->currentIndex()))
if (documentId == GetDocumentTabId(m_tabWidget->currentIndex()))
{
bool canUndo = false;
AtomToolsDocumentRequestBus::EventResult(canUndo, documentId, &AtomToolsDocumentRequestBus::Events::CanUndo);
@ -462,7 +462,7 @@ namespace AtomToolsFramework
AtomToolsDocumentRequestBus::EventResult(absolutePath, documentId, &AtomToolsDocumentRequestBus::Events::GetAbsolutePath);
AZStd::string filename;
AzFramework::StringFunc::Path::GetFullFileName(absolutePath.c_str(), filename);
UpdateTabForDocumentId(documentId, filename, absolutePath, isModified);
UpdateDocumentTab(documentId, filename, absolutePath, isModified);
SetStatusMessage(tr("Document saved: %1").arg(GetDocumentPath(documentId)));
}

@ -72,6 +72,10 @@ namespace AtomToolsFramework
addDockWidget(aznumeric_cast<Qt::DockWidgetArea>(area), dockWidget);
resizeDocks({ dockWidget }, { 400 }, aznumeric_cast<Qt::Orientation>(orientation));
m_dockWidgets[name] = dockWidget;
m_dockActions[name] = m_menuView->addAction(name.c_str(), [this, name](){
SetDockWidgetVisible(name, !IsDockWidgetVisible(name));
});
return true;
}
@ -83,6 +87,12 @@ namespace AtomToolsFramework
delete dockWidgetItr->second;
m_dockWidgets.erase(dockWidgetItr);
}
auto dockActionItr = m_dockActions.find(name);
if (dockActionItr != m_dockActions.end())
{
delete dockActionItr->second;
m_dockActions.erase(dockActionItr);
}
}
void AtomToolsMainWindow::SetDockWidgetVisible(const AZStd::string& name, bool visible)

@ -98,10 +98,6 @@ namespace MaterialEditor
OnDocumentOpened(AZ::Uuid::CreateNull());
}
MaterialEditorWindow::~MaterialEditorWindow()
{
}
void MaterialEditorWindow::ResizeViewportRenderTarget(uint32_t width, uint32_t height)
{
QSize requestedViewportSize = QSize(width, height) / devicePixelRatioF();
@ -133,7 +129,7 @@ namespace MaterialEditor
m_materialViewport->UnlockRenderTargetSize();
}
bool MaterialEditorWindow::GetCreateFileInfo(AZStd::string& openPath, AZStd::string& savePath)
bool MaterialEditorWindow::GetCreateDocumentParams(AZStd::string& openPath, AZStd::string& savePath)
{
CreateMaterialDialog createDialog(this);
createDialog.adjustSize();
@ -149,22 +145,13 @@ namespace MaterialEditor
return false;
}
bool MaterialEditorWindow::GetOpenFileInfo(AZStd::string& openPath)
bool MaterialEditorWindow::GetOpenDocumentParams(AZStd::string& openPath)
{
const AZStd::vector<AZ::Data::AssetType> assetTypes = { azrtti_typeid<AZ::RPI::MaterialAsset>() };
openPath = AtomToolsFramework::GetOpenFileInfo(assetTypes).absoluteFilePath().toUtf8().constData();
return !openPath.empty();
}
QWidget* MaterialEditorWindow::CreateViewForDocumemt(const AZ::Uuid& documentId)
{
AZ_UNUSED(documentId);
auto contentWidget = new QWidget(centralWidget());
contentWidget->setContentsMargins(0, 0, 0, 0);
contentWidget->setFixedSize(0, 0);
return contentWidget;
}
void MaterialEditorWindow::OpenSettings()
{
SettingsDialog dialog(this);
@ -177,10 +164,6 @@ namespace MaterialEditor
dialog.exec();
}
void MaterialEditorWindow::OpenAbout()
{
}
void MaterialEditorWindow::closeEvent(QCloseEvent* closeEvent)
{
// Capture docking state before shutdown

@ -19,13 +19,11 @@ AZ_POP_DISABLE_WARNING
namespace MaterialEditor
{
/**
* MaterialEditorWindow is the main class. Its responsibility is limited to initializing and connecting
* its panels, managing selection of assets, and performing high-level actions like saving. It contains...
* 1) MaterialBrowser - The user browses for Material (.material) assets.
* 2) MaterialViewport - The user can see the selected Material applied to a model.
* 3) MaterialPropertyInspector - The user edits the properties of the selected Material.
*/
//! MaterialEditorWindow is the main class. Its responsibility is limited to initializing and connecting
//! its panels, managing selection of assets, and performing high-level actions like saving. It contains...
//! 1) MaterialBrowser - The user browses for Material (.material) assets.
//! 2) MaterialViewport - The user can see the selected Material applied to a model.
//! 3) MaterialPropertyInspector - The user edits the properties of the selected Material.
class MaterialEditorWindow
: public AtomToolsFramework::AtomToolsDocumentMainWindow
{
@ -36,19 +34,17 @@ namespace MaterialEditor
using Base = AtomToolsFramework::AtomToolsDocumentMainWindow;
MaterialEditorWindow(QWidget* parent = 0);
~MaterialEditorWindow();
~MaterialEditorWindow() = default;
protected:
void ResizeViewportRenderTarget(uint32_t width, uint32_t height) override;
void LockViewportRenderTargetSize(uint32_t width, uint32_t height) override;
void UnlockViewportRenderTargetSize() override;
bool GetCreateFileInfo(AZStd::string& openPath, AZStd::string& savePath) override;
bool GetOpenFileInfo(AZStd::string& openPath) override;
QWidget* CreateViewForDocumemt(const AZ::Uuid& documentId) override;
bool GetCreateDocumentParams(AZStd::string& openPath, AZStd::string& savePath) override;
bool GetOpenDocumentParams(AZStd::string& openPath) override;
void OpenSettings() override;
void OpenHelp() override;
void OpenAbout() override;
void closeEvent(QCloseEvent* closeEvent) override;

@ -5,12 +5,12 @@
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#include <Atom/Document/ShaderManagementConsoleDocumentRequestBus.h>
#include <AtomToolsFramework/Util/Util.h>
#include <AzCore/Name/Name.h>
#include <AzQtComponents/Components/WindowDecorationWrapper.h>
#include <AzToolsFramework/PythonTerminal/ScriptTermDialog.h>
#include <AtomToolsFramework/Util/Util.h>
#include <Atom/Document/ShaderManagementConsoleDocumentRequestBus.h>
#include <Window/ShaderManagementConsoleWindow.h>
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
@ -49,14 +49,16 @@ namespace ShaderManagementConsole
// Restore geometry and show the window
mainWindowWrapper->showFromSettings();
OnDocumentOpened(AZ::Uuid::CreateNull());
}
// Disable unused actions
m_actionNew->setVisible(false);
m_actionNew->setEnabled(false);
m_actionSaveAsChild->setVisible(false);
m_actionSaveAsChild->setEnabled(false);
ShaderManagementConsoleWindow::~ShaderManagementConsoleWindow()
{
OnDocumentOpened(AZ::Uuid::CreateNull());
}
QWidget* ShaderManagementConsoleWindow::CreateViewForDocumemt(const AZ::Uuid& documentId)
QWidget* ShaderManagementConsoleWindow::CreateDocumentTabView(const AZ::Uuid& documentId)
{
AZStd::unordered_set<AZStd::string> optionNames;

@ -23,10 +23,8 @@ AZ_POP_DISABLE_WARNING
namespace ShaderManagementConsole
{
/**
* ShaderManagementConsoleWindow is the main class. Its responsibility is limited to initializing and connecting
* its panels, managing selection of assets, and performing high-level actions like saving. It contains...
*/
//! ShaderManagementConsoleWindow is the main class. Its responsibility is limited to initializing and connecting
//! its panels, managing selection of assets, and performing high-level actions like saving. It contains...
class ShaderManagementConsoleWindow
: public AtomToolsFramework::AtomToolsDocumentMainWindow
{
@ -37,10 +35,10 @@ namespace ShaderManagementConsole
using Base = AtomToolsFramework::AtomToolsDocumentMainWindow;
ShaderManagementConsoleWindow(QWidget* parent = 0);
~ShaderManagementConsoleWindow();
~ShaderManagementConsoleWindow() = default;
protected:
QWidget* CreateViewForDocumemt(const AZ::Uuid& documentId) override;
QWidget* CreateDocumentTabView(const AZ::Uuid& documentId) override;
ShaderManagementConsoleToolBar* m_toolBar = nullptr;
};

Loading…
Cancel
Save