diff --git a/Code/Editor/ConfigGroup.cpp b/Code/Editor/ConfigGroup.cpp deleted file mode 100644 index 42236e43dd..0000000000 --- a/Code/Editor/ConfigGroup.cpp +++ /dev/null @@ -1,195 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#include "EditorDefs.h" - -#include "ConfigGroup.h" - -namespace Config -{ - CConfigGroup::CConfigGroup() - { - } - - CConfigGroup::~CConfigGroup() - { - for (IConfigVar* var : m_vars) - { - delete var; - } - } - - void CConfigGroup::AddVar(IConfigVar* var) - { - m_vars.push_back(var); - } - - AZ::u32 CConfigGroup::GetVarCount() - { - return aznumeric_cast(m_vars.size()); - } - - IConfigVar* CConfigGroup::GetVar(const char* szName) - { - for (IConfigVar* var : m_vars) - { - if (0 == _stricmp(szName, var->GetName().c_str())) - { - return var; - } - } - - return nullptr; - } - - const IConfigVar* CConfigGroup::GetVar(const char* szName) const - { - for (const IConfigVar* var : m_vars) - { - if (0 == _stricmp(szName, var->GetName().c_str())) - { - return var; - } - - } - - return nullptr; - } - - IConfigVar* CConfigGroup::GetVar(AZ::u32 index) - { - if (index < m_vars.size()) - { - return m_vars[index]; - } - - return nullptr; - } - - const IConfigVar* CConfigGroup::GetVar(AZ::u32 index) const - { - if (index < m_vars.size()) - { - return m_vars[index]; - } - - return nullptr; - } - - void CConfigGroup::SaveToXML(XmlNodeRef node) - { - // save only values that don't have default values - for (const IConfigVar* var : m_vars) - { - if (var->IsFlagSet(IConfigVar::eFlag_DoNotSave) || var->IsDefault()) - { - continue; - } - - const char* szName = var->GetName().c_str(); - - switch (var->GetType()) - { - case IConfigVar::eType_BOOL: - { - bool currentValue = false; - var->Get(¤tValue); - node->setAttr(szName, currentValue); - break; - } - - case IConfigVar::eType_INT: - { - int currentValue = 0; - var->Get(¤tValue); - node->setAttr(szName, currentValue); - break; - } - - case IConfigVar::eType_FLOAT: - { - float currentValue = 0; - var->Get(¤tValue); - node->setAttr(szName, currentValue); - break; - } - - case IConfigVar::eType_STRING: - { - AZStd::string currentValue; - var->Get(¤tValue); - node->setAttr(szName, currentValue.c_str()); - break; - } - } - } - } - - void CConfigGroup::LoadFromXML(XmlNodeRef node) - { - // load values that are save-able - for (IConfigVar* var : m_vars) - { - if (var->IsFlagSet(IConfigVar::eFlag_DoNotSave)) - { - continue; - } - const char* szName = var->GetName().c_str(); - - switch (var->GetType()) - { - case IConfigVar::eType_BOOL: - { - bool currentValue = false; - var->GetDefault(¤tValue); - if (node->getAttr(szName, currentValue)) - { - var->Set(¤tValue); - } - break; - } - - case IConfigVar::eType_INT: - { - int currentValue = 0; - var->GetDefault(¤tValue); - if (node->getAttr(szName, currentValue)) - { - var->Set(¤tValue); - } - break; - } - - case IConfigVar::eType_FLOAT: - { - float currentValue = 0; - var->GetDefault(¤tValue); - if (node->getAttr(szName, currentValue)) - { - var->Set(¤tValue); - } - break; - } - - case IConfigVar::eType_STRING: - { - AZStd::string currentValue; - var->GetDefault(¤tValue); - QString readValue(currentValue.c_str()); - if (node->getAttr(szName, readValue)) - { - currentValue = readValue.toUtf8().data(); - var->Set(¤tValue); - } - break; - } - } - } - } -} diff --git a/Code/Editor/ConfigGroup.h b/Code/Editor/ConfigGroup.h deleted file mode 100644 index 004725e32c..0000000000 --- a/Code/Editor/ConfigGroup.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (c) Contributors to the Open 3D Engine Project. - * For complete copyright and license terms please see the LICENSE at the root of this distribution. - * - * SPDX-License-Identifier: Apache-2.0 OR MIT - * - */ - - -#pragma once -#include -#include -#include - -struct ICVar; -class XmlNodeRef; - -namespace Config -{ - // Abstract configurable variable - struct IConfigVar - { - public: - enum EType - { - eType_BOOL, - eType_INT, - eType_FLOAT, - eType_STRING, - }; - - enum EFlags - { - eFlag_NoUI = 1 << 0, - eFlag_NoCVar = 1 << 1, - eFlag_DoNotSave = 1 << 2, - }; - - IConfigVar(const char* szName, const char* szDescription, EType varType, AZ::u8 flags) - : m_name(szName) - , m_description(szDescription) - , m_type(varType) - , m_flags(flags) - , m_ptr(nullptr) - {}; - - virtual ~IConfigVar() = default; - - AZ_FORCE_INLINE EType GetType() const - { - return m_type; - } - - AZ_FORCE_INLINE const AZStd::string& GetName() const - { - return m_name; - } - - AZ_FORCE_INLINE const AZStd::string& GetDescription() const - { - return m_description; - } - - AZ_FORCE_INLINE bool IsFlagSet(EFlags flag) const - { - return 0 != (m_flags & flag); - } - - virtual void Get(void* outPtr) const = 0; - virtual void Set(const void* ptr) = 0; - virtual bool IsDefault() const = 0; - virtual void GetDefault(void* outPtr) const = 0; - virtual void Reset() = 0; - - static constexpr EType TranslateType(const bool&) { return eType_BOOL; } - static constexpr EType TranslateType(const int&) { return eType_INT; } - static constexpr EType TranslateType(const float&) { return eType_FLOAT; } - static constexpr EType TranslateType(const AZStd::string&) { return eType_STRING; } - - protected: - EType m_type; - AZ::u8 m_flags; - AZStd::string m_name; - AZStd::string m_description; - void* m_ptr; - ICVar* m_pCVar; - }; - - // Group of configuration variables with optional mapping to CVars - class CConfigGroup - { - private: - using TConfigVariables = AZStd::vector ; - TConfigVariables m_vars; - - using TConsoleVariables = AZStd::vector; - TConsoleVariables m_consoleVars; - - public: - CConfigGroup(); - virtual ~CConfigGroup(); - - void AddVar(IConfigVar* var); - AZ::u32 GetVarCount(); - IConfigVar* GetVar(const char* szName); - IConfigVar* GetVar(AZ::u32 index); - const IConfigVar* GetVar(const char* szName) const; - const IConfigVar* GetVar(AZ::u32 index) const; - - void SaveToXML(XmlNodeRef node); - void LoadFromXML(XmlNodeRef node); - }; -}; diff --git a/Code/Editor/editor_lib_files.cmake b/Code/Editor/editor_lib_files.cmake index 5d45bbd853..698fa65e9c 100644 --- a/Code/Editor/editor_lib_files.cmake +++ b/Code/Editor/editor_lib_files.cmake @@ -631,8 +631,6 @@ set(FILES TrackView/TrackViewSequence.h TrackView/TrackViewNodeFactories.h TrackView/TrackViewEventNode.h - ConfigGroup.cpp - ConfigGroup.h Util/AffineParts.h Util/AutoLogTime.cpp Util/AutoLogTime.h