multi tab close fixed

Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
chcurran
2021-11-10 17:15:42 -08:00
parent eefc3f9a91
commit 47e9d5a117
5 changed files with 35 additions and 27 deletions
@@ -260,7 +260,7 @@ namespace ScriptCanvasEditor
activeAssets.push_back(assetSaveData);
}
}
else if (assetId == focusedAssetId)
else if (assetId.AnyEquals(focusedAssetId))
{
focusedAssetId.Clear();
}
@@ -820,7 +820,7 @@ namespace ScriptCanvasEditor
void MainWindow::SignalActiveSceneChanged(ScriptCanvasEditor::SourceHandle assetId)
{
AZ::EntityId graphId;
if (assetId)
if (assetId.IsValid())
{
EditorGraphRequestBus::EventResult(graphId, assetId.Get()->GetScriptCanvasId(), &EditorGraphRequests::GetGraphCanvasGraphId);
}
@@ -1249,7 +1249,7 @@ namespace ScriptCanvasEditor
AZ::Outcome<int, AZStd::string> MainWindow::OpenScriptCanvasAsset(ScriptCanvasEditor::SourceHandle scriptCanvasAssetId, int tabIndex)
{
if (scriptCanvasAssetId)
if (scriptCanvasAssetId.IsValid())
{
return OpenScriptCanvasAssetImplementation(scriptCanvasAssetId, tabIndex);
}
@@ -1270,7 +1270,7 @@ namespace ScriptCanvasEditor
m_assetCreationRequests.erase(assetId);
GeneralAssetNotificationBus::Event(assetId, &GeneralAssetNotifications::OnAssetUnloaded);
if (assetId)
if (assetId.IsValid())
{
// Disconnect scene and asset editor buses
GraphCanvas::SceneNotificationBus::MultiHandler::BusDisconnect(assetId.Get()->GetScriptCanvasId());
@@ -1312,7 +1312,7 @@ namespace ScriptCanvasEditor
OnFileNew();
bool createdNewAsset = m_activeGraph != previousAssetId;
bool createdNewAsset = !(m_activeGraph.AnyEquals(previousAssetId));
if (createdNewAsset)
{
@@ -1752,7 +1752,7 @@ namespace ScriptCanvasEditor
return false;
}
if (m_activeGraph != inMemoryAssetId)
if (!m_activeGraph.AnyEquals(inMemoryAssetId))
{
OnChangeActiveGraphTab(inMemoryAssetId);
}
@@ -2487,7 +2487,7 @@ namespace ScriptCanvasEditor
{
AZ::EntityId graphId{};
if (m_activeGraph)
if (m_activeGraph.IsValid())
{
EditorGraphRequestBus::EventResult
( graphId, m_activeGraph.Get()->GetScriptCanvasId(), &EditorGraphRequests::GetGraphCanvasGraphId);
@@ -2512,7 +2512,7 @@ namespace ScriptCanvasEditor
{
AZ::EntityId graphId{};
if (assetId)
if (assetId.IsValid())
{
EditorGraphRequestBus::EventResult
( graphId, assetId.Get()->GetScriptCanvasId(), &EditorGraphRequests::GetGraphCanvasGraphId);
@@ -2523,7 +2523,7 @@ namespace ScriptCanvasEditor
ScriptCanvas::ScriptCanvasId MainWindow::FindScriptCanvasIdByAssetId(const ScriptCanvasEditor::SourceHandle& assetId) const
{
return assetId ? assetId.Get()->GetScriptCanvasId() : ScriptCanvas::ScriptCanvasId{};
return assetId.IsValid() ? assetId.Get()->GetScriptCanvasId() : ScriptCanvas::ScriptCanvasId{};
}
ScriptCanvas::ScriptCanvasId MainWindow::GetScriptCanvasId(const GraphCanvas::GraphId& graphCanvasGraphId) const
@@ -2566,7 +2566,7 @@ namespace ScriptCanvasEditor
if (tabdata.isValid())
{
auto tabAssetId = tabdata.value<Widget::GraphTabMetadata>();
if (tabAssetId.m_assetId == assetId)
if (tabAssetId.m_assetId.AnyEquals(assetId))
{
return tabdata;
}
@@ -2592,14 +2592,14 @@ namespace ScriptCanvasEditor
// Disconnect previous asset
AZ::EntityId previousScriptCanvasSceneId;
if (previousAsset)
if (previousAsset.IsValid())
{
previousScriptCanvasSceneId = previousAsset.Get()->GetScriptCanvasId();
GraphCanvas::SceneNotificationBus::MultiHandler::BusDisconnect(previousScriptCanvasSceneId);
}
AZ::EntityId nextAssetGraphCanvasId;
if (nextAsset)
if (nextAsset.IsValid())
{
// Connect the next asset
EditorGraphRequestBus::EventResult(nextAssetGraphCanvasId, nextAsset.Get()->GetScriptCanvasId(), &EditorGraphRequests::GetGraphCanvasGraphId);
@@ -2620,9 +2620,7 @@ namespace ScriptCanvasEditor
void MainWindow::SetActiveAsset(const ScriptCanvasEditor::SourceHandle& fileAssetId)
{
// #sc_editor_asset
if (m_activeGraph == fileAssetId)
if (m_activeGraph.AnyEquals(fileAssetId))
{
return;
}
@@ -2825,7 +2823,7 @@ namespace ScriptCanvasEditor
{
auto assetId = tabdata.value<Widget::GraphTabMetadata>();
if (assetId.m_assetId != m_skipTabOnClose)
if (!assetId.m_assetId.AnyEquals(m_skipTabOnClose))
{
break;
}
@@ -2853,7 +2851,7 @@ namespace ScriptCanvasEditor
bool activeSet = false;
if (tabAssetId.m_assetId == m_activeGraph)
if (tabAssetId.m_assetId.AnyEquals(m_activeGraph))
{
SetActiveAsset({});
activeSet = true;