ViewportEditorModeState -> ViewportEditorModes
Signed-off-by: John <jonawals@amazon.com>
This commit is contained in:
+5
-5
@@ -9,17 +9,17 @@
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Interface/Interface.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModeStateTrackerNotificationBus.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModesTrackerNotificationBus.h>
|
||||
|
||||
namespace AzToolsFramework
|
||||
{
|
||||
//! The AZ::Interface of the central editor mode state tracker for all viewports.
|
||||
class ViewportEditorModeStateTrackerInterface
|
||||
class ViewportEditorModesTrackerInterface
|
||||
{
|
||||
public:
|
||||
AZ_RTTI(ViewportEditorModeStateTrackerInterface, "{7D72A4F7-2147-4ED9-A315-E456A3BE3CF6}");
|
||||
AZ_RTTI(ViewportEditorModesTrackerInterface, "{7D72A4F7-2147-4ED9-A315-E456A3BE3CF6}");
|
||||
|
||||
virtual ~ViewportEditorModeStateTrackerInterface() = default;
|
||||
virtual ~ViewportEditorModesTrackerInterface() = default;
|
||||
|
||||
//! Enters the specified editor mode for the specified viewport.
|
||||
virtual void EnterMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode) = 0;
|
||||
@@ -28,7 +28,7 @@ namespace AzToolsFramework
|
||||
virtual void ExitMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode) = 0;
|
||||
|
||||
//! Attempts to retrieve the editor mode state for the specified viewport, otherwise returns nullptr.
|
||||
virtual const ViewportEditorModeStateInterface* GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const = 0;
|
||||
virtual const ViewportEditorModesInterface* GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const = 0;
|
||||
|
||||
//! Returns the number of viewports currently being tracked.
|
||||
virtual size_t GetNumTrackedViewports() const = 0;
|
||||
+4
-4
@@ -30,10 +30,10 @@ namespace AzToolsFramework
|
||||
};
|
||||
|
||||
//! Interface for the editor mode state of a given viewport.
|
||||
class ViewportEditorModeStateInterface
|
||||
class ViewportEditorModesInterface
|
||||
{
|
||||
public:
|
||||
virtual ~ViewportEditorModeStateInterface() = default;
|
||||
virtual ~ViewportEditorModesInterface() = default;
|
||||
|
||||
//! Returns true if the specified editor mode is active, otherwise false.
|
||||
virtual bool IsModeActive(ViewportEditorMode mode) const = 0;
|
||||
@@ -52,12 +52,12 @@ namespace AzToolsFramework
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//! Notifies subscribers of the a given viewport to the entering of the specified editor mode.
|
||||
virtual void OnEditorModeEnter([[maybe_unused]] const ViewportEditorModeStateInterface& editorModeState, [[maybe_unused]] ViewportEditorMode mode)
|
||||
virtual void OnEditorModeEnter([[maybe_unused]] const ViewportEditorModesInterface& editorModeState, [[maybe_unused]] ViewportEditorMode mode)
|
||||
{
|
||||
}
|
||||
|
||||
//! Notifies subscribers of the a given viewport to the exiting of the specified editor mode.
|
||||
virtual void OnEditorModeExit([[maybe_unused]] const ViewportEditorModeStateInterface& editorModeState, [[maybe_unused]] ViewportEditorMode mode)
|
||||
virtual void OnEditorModeExit([[maybe_unused]] const ViewportEditorModesInterface& editorModeState, [[maybe_unused]] ViewportEditorMode mode)
|
||||
{
|
||||
}
|
||||
};
|
||||
+17
-17
@@ -6,14 +6,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzToolsFramework/API/ViewportEditorModeStateTrackerNotificationBus.h>
|
||||
#include <AzToolsFramework/ViewportSelection/ViewportEditorModeStateTracker.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModesTrackerNotificationBus.h>
|
||||
#include <AzToolsFramework/ViewportSelection/ViewportEditorModesTracker.h>
|
||||
|
||||
namespace AzToolsFramework
|
||||
{
|
||||
static constexpr const char* ViewportEditorModeLogWindow = "ViewportEditorMode";
|
||||
|
||||
void ViewportEditorModeState::SetModeActive(ViewportEditorMode mode)
|
||||
void ViewportEditorModes::SetModeActive(ViewportEditorMode mode)
|
||||
{
|
||||
if (const AZ::u32 modeIndex = static_cast<AZ::u32>(mode);
|
||||
modeIndex < NumEditorModes)
|
||||
@@ -26,7 +26,7 @@ namespace AzToolsFramework
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportEditorModeState::SetModeInactive(ViewportEditorMode mode)
|
||||
void ViewportEditorModes::SetModeInactive(ViewportEditorMode mode)
|
||||
{
|
||||
if (const AZ::u32 modeIndex = static_cast<AZ::u32>(mode); modeIndex < NumEditorModes)
|
||||
{
|
||||
@@ -38,28 +38,28 @@ namespace AzToolsFramework
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewportEditorModeState::IsModeActive(ViewportEditorMode mode) const
|
||||
bool ViewportEditorModes::IsModeActive(ViewportEditorMode mode) const
|
||||
{
|
||||
return m_editorModes[static_cast<AZ::u32>(mode)];
|
||||
}
|
||||
|
||||
void ViewportEditorModeStateTracker::RegisterInterface()
|
||||
void ViewportEditorModesTracker::RegisterInterface()
|
||||
{
|
||||
if (AZ::Interface<ViewportEditorModeStateTrackerInterface>::Get() == nullptr)
|
||||
if (AZ::Interface<ViewportEditorModesTrackerInterface>::Get() == nullptr)
|
||||
{
|
||||
AZ::Interface<ViewportEditorModeStateTrackerInterface>::Register(this);
|
||||
AZ::Interface<ViewportEditorModesTrackerInterface>::Register(this);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportEditorModeStateTracker::UnregisterInterface()
|
||||
void ViewportEditorModesTracker::UnregisterInterface()
|
||||
{
|
||||
if (AZ::Interface<ViewportEditorModeStateTrackerInterface>::Get() != nullptr)
|
||||
if (AZ::Interface<ViewportEditorModesTrackerInterface>::Get() != nullptr)
|
||||
{
|
||||
AZ::Interface<ViewportEditorModeStateTrackerInterface>::Unregister(this);
|
||||
AZ::Interface<ViewportEditorModesTrackerInterface>::Unregister(this);
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportEditorModeStateTracker::EnterMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode)
|
||||
void ViewportEditorModesTracker::EnterMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode)
|
||||
{
|
||||
auto& editorModeStates = m_viewportEditorModeStates[viewportEditorModeInfo.m_id];
|
||||
AZ_Warning(
|
||||
@@ -71,9 +71,9 @@ namespace AzToolsFramework
|
||||
viewportEditorModeInfo.m_id, &ViewportEditorModeNotificationsBus::Events::OnEditorModeEnter, editorModeStates, mode);
|
||||
}
|
||||
|
||||
void ViewportEditorModeStateTracker::ExitMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode)
|
||||
void ViewportEditorModesTracker::ExitMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode)
|
||||
{
|
||||
ViewportEditorModeState* editorModeStates = nullptr;
|
||||
ViewportEditorModes* editorModeStates = nullptr;
|
||||
if (m_viewportEditorModeStates.count(viewportEditorModeInfo.m_id))
|
||||
{
|
||||
editorModeStates = &m_viewportEditorModeStates.at(viewportEditorModeInfo.m_id);
|
||||
@@ -96,7 +96,7 @@ namespace AzToolsFramework
|
||||
viewportEditorModeInfo.m_id, &ViewportEditorModeNotificationsBus::Events::OnEditorModeExit, *editorModeStates, mode);
|
||||
}
|
||||
|
||||
const ViewportEditorModeStateInterface* ViewportEditorModeStateTracker::GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const
|
||||
const ViewportEditorModesInterface* ViewportEditorModesTracker::GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const
|
||||
{
|
||||
if (auto editorModeStates = m_viewportEditorModeStates.find(viewportEditorModeInfo.m_id);
|
||||
editorModeStates != m_viewportEditorModeStates.end())
|
||||
@@ -109,12 +109,12 @@ namespace AzToolsFramework
|
||||
}
|
||||
}
|
||||
|
||||
size_t ViewportEditorModeStateTracker::GetNumTrackedViewports() const
|
||||
size_t ViewportEditorModesTracker::GetNumTrackedViewports() const
|
||||
{
|
||||
return m_viewportEditorModeStates.size();
|
||||
}
|
||||
|
||||
bool ViewportEditorModeStateTracker::IsViewportStateBeingTracked(const ViewportEditorModeInfo& viewportEditorModeInfo) const
|
||||
bool ViewportEditorModesTracker::IsViewportStateBeingTracked(const ViewportEditorModeInfo& viewportEditorModeInfo) const
|
||||
{
|
||||
return m_viewportEditorModeStates.count(viewportEditorModeInfo.m_id) > 0;
|
||||
}
|
||||
+11
-11
@@ -11,14 +11,14 @@
|
||||
#include <AzCore/RTTI/RTTI.h>
|
||||
#include <AzCore/std/containers/array.h>
|
||||
#include <AzCore/std/containers/unordered_map.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModeStateTrackerNotificationBus.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModeStateTrackerInterface.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModesTrackerNotificationBus.h>
|
||||
#include <AzToolsFramework/API/ViewportEditorModesTrackerInterface.h>
|
||||
|
||||
namespace AzToolsFramework
|
||||
{
|
||||
//! The encapsulation of the editor modes for a given viewport.
|
||||
class ViewportEditorModeState
|
||||
: public ViewportEditorModeStateInterface
|
||||
class ViewportEditorModes
|
||||
: public ViewportEditorModesInterface
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -31,15 +31,15 @@ namespace AzToolsFramework
|
||||
// Sets the specified mode as inactive.
|
||||
void SetModeInactive(ViewportEditorMode mode);
|
||||
|
||||
// ViewportEditorModeStateInterface ...
|
||||
// ViewportEditorModesInterface ...
|
||||
bool IsModeActive(ViewportEditorMode mode) const override;
|
||||
private:
|
||||
AZStd::array<bool, NumEditorModes> m_editorModes{}; //!< State flags to track active/inactive status of viewport editor modes.
|
||||
};
|
||||
|
||||
//! The implementation of the central editor mode state tracker for all viewports.
|
||||
class ViewportEditorModeStateTracker
|
||||
: public ViewportEditorModeStateTrackerInterface
|
||||
class ViewportEditorModesTracker
|
||||
: public ViewportEditorModesTrackerInterface
|
||||
{
|
||||
public:
|
||||
//! Registers this object with the AZ::Interface.
|
||||
@@ -48,15 +48,15 @@ namespace AzToolsFramework
|
||||
//! Unregisters this object with the AZ::Interface.
|
||||
void UnregisterInterface();
|
||||
|
||||
// ViewportEditorModeStateTrackerInterface ...
|
||||
// ViewportEditorModesTrackerInterface ...
|
||||
void EnterMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode) override;
|
||||
void ExitMode(const ViewportEditorModeInfo& viewportEditorModeInfo, ViewportEditorMode mode) override;
|
||||
const ViewportEditorModeStateInterface* GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const override;
|
||||
const ViewportEditorModesInterface* GetEditorModeState(const ViewportEditorModeInfo& viewportEditorModeInfo) const override;
|
||||
size_t GetNumTrackedViewports() const override;
|
||||
bool IsViewportStateBeingTracked(const ViewportEditorModeInfo& viewportEditorModeInfo) const override;
|
||||
|
||||
private:
|
||||
using ViewportEditorModeStates = AZStd::unordered_map<typename ViewportEditorModeInfo::IdType, ViewportEditorModeState>;
|
||||
ViewportEditorModeStates m_viewportEditorModeStates; //!< Editor mode state per viewport.
|
||||
using ViewportEditorModess = AZStd::unordered_map<typename ViewportEditorModeInfo::IdType, ViewportEditorModes>;
|
||||
ViewportEditorModess m_viewportEditorModeStates; //!< Editor mode state per viewport.
|
||||
};
|
||||
} // namespace AzToolsFramework
|
||||
@@ -34,7 +34,7 @@ set(FILES
|
||||
API/EditorAnimationSystemRequestBus.h
|
||||
API/EditorEntityAPI.h
|
||||
API/EditorLevelNotificationBus.h
|
||||
API/ViewportEditorModeStateTrackerNotificationBus.h
|
||||
API/ViewportEditorModesTrackerNotificationBus.h
|
||||
API/EditorVegetationRequestsBus.h
|
||||
API/EditorPythonConsoleBus.h
|
||||
API/EditorPythonRunnerRequestsBus.h
|
||||
@@ -45,7 +45,7 @@ set(FILES
|
||||
API/EntityCompositionNotificationBus.h
|
||||
API/EditorViewportIconDisplayInterface.h
|
||||
API/ViewPaneOptions.h
|
||||
API/ViewportEditorModeStateTrackerInterface.h
|
||||
API/ViewportEditorModesTrackerInterface.h
|
||||
Application/Ticker.h
|
||||
Application/Ticker.cpp
|
||||
Application/EditorEntityManager.cpp
|
||||
@@ -540,8 +540,8 @@ set(FILES
|
||||
ViewportSelection/EditorTransformComponentSelectionRequestBus.cpp
|
||||
ViewportSelection/EditorVisibleEntityDataCache.h
|
||||
ViewportSelection/EditorVisibleEntityDataCache.cpp
|
||||
ViewportSelection/ViewportEditorModeStateTracker.cpp
|
||||
ViewportSelection/ViewportEditorModeStateTracker.h
|
||||
ViewportSelection/ViewportEditorModesTracker.cpp
|
||||
ViewportSelection/ViewportEditorModesTracker.h
|
||||
ToolsFileUtils/ToolsFileUtils.h
|
||||
AssetBrowser/AssetBrowserBus.h
|
||||
AssetBrowser/AssetBrowserSourceDropBus.h
|
||||
|
||||
@@ -8,44 +8,44 @@
|
||||
|
||||
#include <AzTest/AzTest.h>
|
||||
#include <AzToolsFramework/UnitTest/AzToolsFrameworkTestHelpers.h>
|
||||
#include <AzToolsFramework/ViewportSelection/ViewportEditorModeStateTracker.h>
|
||||
#include <AzToolsFramework/ViewportSelection/ViewportEditorModesTracker.h>
|
||||
|
||||
namespace UnitTest
|
||||
{
|
||||
using ViewportEditorMode = AzToolsFramework::ViewportEditorMode;
|
||||
using ViewportEditorModeState = AzToolsFramework::ViewportEditorModeState;
|
||||
using ViewportEditorModeStateTracker = AzToolsFramework::ViewportEditorModeStateTracker;
|
||||
using ViewportEditorModes = AzToolsFramework::ViewportEditorModes;
|
||||
using ViewportEditorModesTracker = AzToolsFramework::ViewportEditorModesTracker;
|
||||
using ViewportEditorModeInfo = AzToolsFramework::ViewportEditorModeInfo;
|
||||
using ViewportId = ViewportEditorModeInfo::IdType;
|
||||
using ViewportEditorModeStateInterface = AzToolsFramework::ViewportEditorModeStateInterface;
|
||||
using ViewportEditorModesInterface = AzToolsFramework::ViewportEditorModesInterface;
|
||||
|
||||
void SetAllModesActive(ViewportEditorModeState& editorModeState)
|
||||
void SetAllModesActive(ViewportEditorModes& editorModeState)
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
editorModeState.SetModeActive(static_cast<ViewportEditorMode>(mode));
|
||||
}
|
||||
}
|
||||
|
||||
void SetAllModesInactive(ViewportEditorModeState& editorModeState)
|
||||
void SetAllModesInactive(ViewportEditorModes& editorModeState)
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
editorModeState.SetModeInactive(static_cast<ViewportEditorMode>(mode));
|
||||
}
|
||||
}
|
||||
|
||||
// Fixture for testing editor mode states
|
||||
class ViewportEditorModeStateTestsFixture
|
||||
class ViewportEditorModesTestsFixture
|
||||
: public ::testing::Test
|
||||
{
|
||||
public:
|
||||
ViewportEditorModeState m_editorModeState;
|
||||
ViewportEditorModes m_editorModeState;
|
||||
};
|
||||
|
||||
// Fixture for testing editor mode states with parameterized test arguments
|
||||
class ViewportEditorModeStateTestsFixtureWithParams
|
||||
: public ViewportEditorModeStateTestsFixture
|
||||
class ViewportEditorModesTestsFixtureWithParams
|
||||
: public ViewportEditorModesTestsFixture
|
||||
, public ::testing::WithParamInterface<AzToolsFramework::ViewportEditorMode>
|
||||
{
|
||||
public:
|
||||
@@ -58,11 +58,11 @@ namespace UnitTest
|
||||
};
|
||||
|
||||
// Fixture for testing the viewport editor mode state tracker
|
||||
class ViewportEditorModeStateTrackerTestFixture
|
||||
class ViewportEditorModesTrackerTestFixture
|
||||
: public ToolsApplicationFixture
|
||||
{
|
||||
public:
|
||||
ViewportEditorModeStateTracker m_viewportEditorModeStteTracker;
|
||||
ViewportEditorModesTracker m_viewportEditorModeStteTracker;
|
||||
};
|
||||
|
||||
// Subscriber of viewport editor mode notifications for a single viewport that expects a single mode to be activated/deactivated
|
||||
@@ -99,12 +99,12 @@ namespace UnitTest
|
||||
return m_editorModes;
|
||||
}
|
||||
|
||||
void OnEditorModeEnter([[maybe_unused]]const ViewportEditorModeStateInterface& editorModeState, ViewportEditorMode mode) override
|
||||
void OnEditorModeEnter([[maybe_unused]]const ViewportEditorModesInterface& editorModeState, ViewportEditorMode mode) override
|
||||
{
|
||||
m_editorModes[mode].m_onEnter = true;
|
||||
}
|
||||
|
||||
virtual void OnEditorModeExit([[maybe_unused]] const ViewportEditorModeStateInterface& editorModeState, ViewportEditorMode mode) override
|
||||
virtual void OnEditorModeExit([[maybe_unused]] const ViewportEditorModesInterface& editorModeState, ViewportEditorMode mode) override
|
||||
{
|
||||
m_editorModes[mode].m_onLeave = true;
|
||||
}
|
||||
@@ -117,13 +117,13 @@ namespace UnitTest
|
||||
|
||||
// Fixture for testing viewport editor mode notifications publishing
|
||||
class ViewportEditorModePublisherTestFixture
|
||||
: public ViewportEditorModeStateTrackerTestFixture
|
||||
: public ViewportEditorModesTrackerTestFixture
|
||||
{
|
||||
public:
|
||||
|
||||
void SetUpEditorFixtureImpl() override
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
m_editorModeHandlers[mode] = AZStd::make_unique<ViewportEditorModeNotificationsBusHandler>(mode);
|
||||
}
|
||||
@@ -131,33 +131,33 @@ namespace UnitTest
|
||||
|
||||
void TearDownEditorFixtureImpl() override
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
m_editorModeHandlers[mode].reset();
|
||||
}
|
||||
}
|
||||
|
||||
AZStd::array<AZStd::unique_ptr<ViewportEditorModeNotificationsBusHandler>, ViewportEditorModeState::NumEditorModes> m_editorModeHandlers;
|
||||
AZStd::array<AZStd::unique_ptr<ViewportEditorModeNotificationsBusHandler>, ViewportEditorModes::NumEditorModes> m_editorModeHandlers;
|
||||
};
|
||||
|
||||
TEST_F(ViewportEditorModeStateTestsFixture, NumberOfEditorModesIsEqualTo4)
|
||||
TEST_F(ViewportEditorModesTestsFixture, NumberOfEditorModesIsEqualTo4)
|
||||
{
|
||||
EXPECT_EQ(ViewportEditorModeState::NumEditorModes, 4);
|
||||
EXPECT_EQ(ViewportEditorModes::NumEditorModes, 4);
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTestsFixture, InitialEditorModeStateHasAllInactiveModes)
|
||||
TEST_F(ViewportEditorModesTestsFixture, InitialEditorModeStateHasAllInactiveModes)
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
EXPECT_FALSE(m_editorModeState.IsModeActive(static_cast<ViewportEditorMode>(mode)));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(ViewportEditorModeStateTestsFixtureWithParams, SettingModeActiveActivatesOnlyThatMode)
|
||||
TEST_P(ViewportEditorModesTestsFixtureWithParams, SettingModeActiveActivatesOnlyThatMode)
|
||||
{
|
||||
m_editorModeState.SetModeActive(m_selectedEditorMode);
|
||||
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
const auto editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
if (editorMode == m_selectedEditorMode)
|
||||
@@ -171,12 +171,12 @@ namespace UnitTest
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(ViewportEditorModeStateTestsFixtureWithParams, SettingModeInactiveInactivatesOnlyThatMode)
|
||||
TEST_P(ViewportEditorModesTestsFixtureWithParams, SettingModeInactiveInactivatesOnlyThatMode)
|
||||
{
|
||||
SetAllModesActive(m_editorModeState);
|
||||
m_editorModeState.SetModeInactive(m_selectedEditorMode);
|
||||
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
const auto editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
if (editorMode == m_selectedEditorMode)
|
||||
@@ -190,9 +190,9 @@ namespace UnitTest
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(ViewportEditorModeStateTestsFixtureWithParams, SettingMultipleModesActiveActivatesAllThoseModesNonMutuallyExclusively)
|
||||
TEST_P(ViewportEditorModesTestsFixtureWithParams, SettingMultipleModesActiveActivatesAllThoseModesNonMutuallyExclusively)
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes - 1; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes - 1; mode++)
|
||||
{
|
||||
// Given only the selected mode active
|
||||
SetAllModesInactive(m_editorModeState);
|
||||
@@ -207,7 +207,7 @@ namespace UnitTest
|
||||
// When other modes are activated
|
||||
m_editorModeState.SetModeActive(editorMode);
|
||||
|
||||
for (auto expectedMode = 0; expectedMode < ViewportEditorModeState::NumEditorModes; expectedMode++)
|
||||
for (auto expectedMode = 0; expectedMode < ViewportEditorModes::NumEditorModes; expectedMode++)
|
||||
{
|
||||
const auto expectedEditorMode = static_cast<ViewportEditorMode>(expectedMode);
|
||||
if (expectedEditorMode == editorMode || expectedEditorMode == m_selectedEditorMode)
|
||||
@@ -224,9 +224,9 @@ namespace UnitTest
|
||||
}
|
||||
}
|
||||
|
||||
TEST_P(ViewportEditorModeStateTestsFixtureWithParams, SettingMultipleModesInactiveInactivatesAllThoseModesNonMutuallyExclusively)
|
||||
TEST_P(ViewportEditorModesTestsFixtureWithParams, SettingMultipleModesInactiveInactivatesAllThoseModesNonMutuallyExclusively)
|
||||
{
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes - 1; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes - 1; mode++)
|
||||
{
|
||||
// Given only the selected mode inactive
|
||||
SetAllModesActive(m_editorModeState);
|
||||
@@ -241,7 +241,7 @@ namespace UnitTest
|
||||
// When other modes are deactivated
|
||||
m_editorModeState.SetModeInactive(editorMode);
|
||||
|
||||
for (auto expectedMode = 0; expectedMode < ViewportEditorModeState::NumEditorModes; expectedMode++)
|
||||
for (auto expectedMode = 0; expectedMode < ViewportEditorModes::NumEditorModes; expectedMode++)
|
||||
{
|
||||
const auto expectedEditorMode = static_cast<ViewportEditorMode>(expectedMode);
|
||||
if (expectedEditorMode == editorMode || expectedEditorMode == m_selectedEditorMode)
|
||||
@@ -260,33 +260,33 @@ namespace UnitTest
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
AllEditorModes,
|
||||
ViewportEditorModeStateTestsFixtureWithParams,
|
||||
ViewportEditorModesTestsFixtureWithParams,
|
||||
::testing::Values(
|
||||
AzToolsFramework::ViewportEditorMode::Default,
|
||||
AzToolsFramework::ViewportEditorMode::Component,
|
||||
AzToolsFramework::ViewportEditorMode::Focus,
|
||||
AzToolsFramework::ViewportEditorMode::Pick));
|
||||
|
||||
TEST_F(ViewportEditorModeStateTestsFixture, SettingOutOfBoundsModeActiveIssuesErrorMsg)
|
||||
TEST_F(ViewportEditorModesTestsFixture, SettingOutOfBoundsModeActiveIssuesErrorMsg)
|
||||
{
|
||||
UnitTest::TestRunner::Instance().StartAssertTests();
|
||||
m_editorModeState.SetModeActive(static_cast<ViewportEditorMode>(ViewportEditorModeState::NumEditorModes));
|
||||
m_editorModeState.SetModeActive(static_cast<ViewportEditorMode>(ViewportEditorModes::NumEditorModes));
|
||||
EXPECT_EQ(1, UnitTest::TestRunner::Instance().StopAssertTests());
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTestsFixture, SettingOutOfBoundsModeInactiveIssuesErrorMsg)
|
||||
TEST_F(ViewportEditorModesTestsFixture, SettingOutOfBoundsModeInactiveIssuesErrorMsg)
|
||||
{
|
||||
UnitTest::TestRunner::Instance().StartAssertTests();
|
||||
m_editorModeState.SetModeInactive(static_cast<ViewportEditorMode>(ViewportEditorModeState::NumEditorModes));
|
||||
m_editorModeState.SetModeInactive(static_cast<ViewportEditorMode>(ViewportEditorModes::NumEditorModes));
|
||||
EXPECT_EQ(1, UnitTest::TestRunner::Instance().StopAssertTests());
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, InitialCentralStateTrackerHasNoViewportEditorModeStates)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, InitialCentralStateTrackerHasNoViewportEditorModess)
|
||||
{
|
||||
EXPECT_EQ(m_viewportEditorModeStteTracker.GetNumTrackedViewports(), 0);
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, EnteringViewportEditorModeForNonExistentIdCreatesViewportEditorModeStateForThatId)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, EnteringViewportEditorModeForNonExistentIdCreatesViewportEditorModesForThatId)
|
||||
{
|
||||
// Given a viewport not currently being tracked
|
||||
const ViewportId viewportid = 0;
|
||||
@@ -306,7 +306,7 @@ namespace UnitTest
|
||||
EXPECT_TRUE(viewportEditorModeState->IsModeActive(editorMode));
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, ExitingViewportEditorModeForNonExistentIdCreatesViewportEditorModeStateForThatIdButIssuesErrorMsg)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, ExitingViewportEditorModeForNonExistentIdCreatesViewportEditorModesForThatIdButIssuesErrorMsg)
|
||||
{
|
||||
// Given a viewport not currently being tracked
|
||||
const ViewportId viewportid = 0;
|
||||
@@ -331,14 +331,14 @@ namespace UnitTest
|
||||
EXPECT_FALSE(viewportEditorModeState->IsModeActive(editorMode));
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, GettingNonExistentViewportEditorModeStateForIdReturnsNull)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, GettingNonExistentViewportEditorModesForIdReturnsNull)
|
||||
{
|
||||
const ViewportId viewportid = 0;
|
||||
EXPECT_FALSE(m_viewportEditorModeStteTracker.IsViewportStateBeingTracked({ viewportid }));
|
||||
EXPECT_EQ(m_viewportEditorModeStteTracker.GetEditorModeState({ viewportid }), nullptr);
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, EnteringViewportEditorModeStateForExistingIdInThatStateIssuesWarningMsg)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, EnteringViewportEditorModesForExistingIdInThatStateIssuesWarningMsg)
|
||||
{
|
||||
// Given a viewport not currently tracked
|
||||
const ViewportId viewportid = 0;
|
||||
@@ -380,7 +380,7 @@ namespace UnitTest
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(ViewportEditorModeStateTrackerTestFixture, ExitingViewportEditorModeStateForExistingIdNotInThatStateIssuesWarningMsg)
|
||||
TEST_F(ViewportEditorModesTrackerTestFixture, ExitingViewportEditorModesForExistingIdNotInThatStateIssuesWarningMsg)
|
||||
{
|
||||
// Given a viewport not currently tracked
|
||||
const ViewportId viewportid = 0;
|
||||
@@ -426,24 +426,24 @@ namespace UnitTest
|
||||
|
||||
TEST_F(
|
||||
ViewportEditorModePublisherTestFixture,
|
||||
EnteringViewportEditorModeStateForExistingIdPublishesOnViewportEditorModeEnterEventForAllSubscribers)
|
||||
EnteringViewportEditorModesForExistingIdPublishesOnViewportEditorModeEnterEventForAllSubscribers)
|
||||
{
|
||||
// Given a set of subscribers tracking the editor modes for their exclusive viewport
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
// Expect each subscriber to have received no editor mode state changes
|
||||
EXPECT_EQ(m_editorModeHandlers[mode]->GetEditorModes().size(), 0);
|
||||
}
|
||||
|
||||
// When each editor mode is activated by the state tracker for a specific viewport
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
const ViewportId viewportId = mode;
|
||||
const ViewportEditorMode editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
m_viewportEditorModeStteTracker.EnterMode({ mode }, editorMode);
|
||||
}
|
||||
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
// Expect only the subscribers of each viewport to have received the editor mode activated event
|
||||
const ViewportEditorMode editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
@@ -459,16 +459,16 @@ namespace UnitTest
|
||||
|
||||
TEST_F(
|
||||
ViewportEditorModePublisherTestFixture,
|
||||
ExitingViewportEditorModeStateForExistingIdPublishesOnViewportEditorModeExitEventForAllSubscribers)
|
||||
ExitingViewportEditorModesForExistingIdPublishesOnViewportEditorModeExitEventForAllSubscribers)
|
||||
{
|
||||
// Given a set of subscribers tracking the editor modes for their exclusive viewport
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
EXPECT_EQ(m_editorModeHandlers[mode]->GetEditorModes().size(), 0);
|
||||
}
|
||||
|
||||
// When each editor mode is activated deactivated by the state tracker for a specific viewport
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
const ViewportId viewportId = mode;
|
||||
const ViewportEditorMode editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
@@ -476,7 +476,7 @@ namespace UnitTest
|
||||
m_viewportEditorModeStteTracker.ExitMode({ mode }, editorMode);
|
||||
}
|
||||
|
||||
for (auto mode = 0; mode < ViewportEditorModeState::NumEditorModes; mode++)
|
||||
for (auto mode = 0; mode < ViewportEditorModes::NumEditorModes; mode++)
|
||||
{
|
||||
// Expect only the subscribers of each viewport to have received the editor mode activated and deactivated event
|
||||
const ViewportEditorMode editorMode = static_cast<ViewportEditorMode>(mode);
|
||||
|
||||
Reference in New Issue
Block a user