moving document related code from AtomToolsMainWindow to AtomToolsDocumentMainWindow
adding virtual function stubs to customize actions Signed-off-by: Guthrie Adams <guthadam@amazon.com>
This commit is contained in:
+31
-8
@@ -12,6 +12,7 @@
|
||||
#include <AtomToolsFramework/Document/AtomToolsDocumentNotificationBus.h>
|
||||
#include <AtomToolsFramework/Window/AtomToolsMainWindow.h>
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
#include <AzQtComponents/Components/Widgets/TabWidget.h>
|
||||
#endif
|
||||
|
||||
namespace AtomToolsFramework
|
||||
@@ -30,7 +31,35 @@ namespace AtomToolsFramework
|
||||
AtomToolsDocumentMainWindow(QWidget* parent = 0);
|
||||
~AtomToolsDocumentMainWindow();
|
||||
|
||||
private:
|
||||
protected:
|
||||
void AddDocumentMenus();
|
||||
void AddDocumentTabBar();
|
||||
|
||||
QString GetDocumentPath(const AZ::Uuid& documentId) const;
|
||||
|
||||
AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const;
|
||||
|
||||
void AddTabForDocumentId(
|
||||
const AZ::Uuid& documentId,
|
||||
const AZStd::string& label,
|
||||
const AZStd::string& toolTip);
|
||||
|
||||
void RemoveTabForDocumentId(const AZ::Uuid& documentId);
|
||||
|
||||
void UpdateTabForDocumentId(
|
||||
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip, bool isModified);
|
||||
|
||||
void SelectPreviousTab();
|
||||
|
||||
void SelectNextTab();
|
||||
|
||||
virtual void OpenTabContextMenu() const;
|
||||
virtual bool GetCreateFileInfo(AZStd::string& openPath, AZStd::string& savePath) const;
|
||||
virtual bool GetOpenFileInfo(AZStd::string& openPath) const;
|
||||
virtual QWidget* CreateViewForDocumemt(const AZ::Uuid& documentId) const;
|
||||
virtual void OpenSettings() const;
|
||||
virtual void OpenHelp() const;
|
||||
virtual void OpenAbout() const;
|
||||
|
||||
// AtomToolsDocumentNotificationBus::Handler overrides...
|
||||
void OnDocumentOpened(const AZ::Uuid& documentId) override;
|
||||
@@ -39,13 +68,6 @@ namespace AtomToolsFramework
|
||||
void OnDocumentUndoStateChanged(const AZ::Uuid& documentId) override;
|
||||
void OnDocumentSaved(const AZ::Uuid& documentId) override;
|
||||
|
||||
void CreateMenu() override;
|
||||
void CreateTabBar() override;
|
||||
|
||||
QString GetDocumentPath(const AZ::Uuid& documentId) const;
|
||||
|
||||
void OpenTabContextMenu() override;
|
||||
|
||||
void closeEvent(QCloseEvent* closeEvent) override;
|
||||
|
||||
QMenu* m_menuFile = {};
|
||||
@@ -73,5 +95,6 @@ namespace AtomToolsFramework
|
||||
QMenu* m_menuHelp = {};
|
||||
QAction* m_actionHelp = {};
|
||||
QAction* m_actionAbout = {};
|
||||
AzQtComponents::TabWidget* m_tabWidget = {};
|
||||
};
|
||||
} // namespace AtomToolsFramework
|
||||
|
||||
+1
-20
@@ -7,18 +7,14 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AtomToolsFramework/Window/AtomToolsMainWindowRequestBus.h>
|
||||
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
|
||||
#include <AzQtComponents/Components/DockMainWindow.h>
|
||||
#include <AzQtComponents/Components/FancyDocking.h>
|
||||
#include <AzQtComponents/Components/StyledDockWidget.h>
|
||||
#include <AzQtComponents/Components/Widgets/TabWidget.h>
|
||||
|
||||
#include <QLabel>
|
||||
#include <QMenuBar>
|
||||
#include <QToolBar>
|
||||
|
||||
namespace AtomToolsFramework
|
||||
{
|
||||
@@ -38,26 +34,11 @@ namespace AtomToolsFramework
|
||||
bool IsDockWidgetVisible(const AZStd::string& name) const override;
|
||||
AZStd::vector<AZStd::string> GetDockWidgetNames() const override;
|
||||
|
||||
virtual void CreateMenu();
|
||||
virtual void CreateTabBar();
|
||||
|
||||
virtual void AddTabForDocumentId(
|
||||
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip, AZStd::function<QWidget*()> widgetCreator);
|
||||
virtual void RemoveTabForDocumentId(const AZ::Uuid& documentId);
|
||||
virtual void UpdateTabForDocumentId(
|
||||
const AZ::Uuid& documentId, const AZStd::string& label, const AZStd::string& toolTip, bool isModified);
|
||||
virtual AZ::Uuid GetDocumentIdFromTab(const int tabIndex) const;
|
||||
|
||||
virtual void OpenTabContextMenu();
|
||||
virtual void SelectPreviousTab();
|
||||
virtual void SelectNextTab();
|
||||
|
||||
void SetStatusMessage(const QString& message);
|
||||
void SetStatusWarning(const QString& message);
|
||||
void SetStatusError(const QString& message);
|
||||
|
||||
AzQtComponents::FancyDocking* m_advancedDockManager = nullptr;
|
||||
AzQtComponents::TabWidget* m_tabWidget = nullptr;
|
||||
QLabel* m_statusMessage = nullptr;
|
||||
|
||||
AZStd::unordered_map<AZStd::string, AzQtComponents::StyledDockWidget*> m_dockWidgets;
|
||||
|
||||
Reference in New Issue
Block a user