Files
o3de/Code/Editor/Util/UIEnumerations.cpp
T
Nemerle 1a80d313e5 Editor code: tidy up BOOLs,NULLs and overrides pt4.
A few 'typedefs' replaced by 'using's
This shouldn't have any functional changes at all, just c++17 modernization
It's a part 4 of a split #2847

Signed-off-by: Nemerle <nemerle5+git@gmail.com>
2021-08-05 16:49:02 +02:00

76 lines
2.6 KiB
C++

/*
* 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
*
*/
// Description : This file implements the container for the assotiaon of
// enumeration name to enumeration values
#include "EditorDefs.h"
#include "UIEnumerations.h"
//////////////////////////////////////////////////////////////////////////
CUIEnumerations& CUIEnumerations::GetUIEnumerationsInstance()
{
static CUIEnumerations oGeneralProxy;
return oGeneralProxy;
}
//////////////////////////////////////////////////////////////////////////
CUIEnumerations::TDValuesContainer& CUIEnumerations::GetStandardNameContainer()
{
static TDValuesContainer cValuesContainer;
static bool boInit(false);
if (!boInit)
{
boInit = true;
XmlNodeRef oRootNode;
XmlNodeRef oEnumaration;
XmlNodeRef oEnumerationItem;
int nNumberOfEnumarations(0);
int nCurrentEnumaration(0);
int nNumberOfEnumerationItems(0);
int nCurrentEnumarationItem(0);
oRootNode = GetISystem()->GetXmlUtils()->LoadXmlFromFile("Editor\\PropertyEnumerations.xml");
nNumberOfEnumarations = oRootNode ? oRootNode->getChildCount() : 0;
for (nCurrentEnumaration = 0; nCurrentEnumaration < nNumberOfEnumarations; ++nCurrentEnumaration)
{
TDValues cValues;
oEnumaration = oRootNode->getChild(nCurrentEnumaration);
nNumberOfEnumerationItems = oEnumaration->getChildCount();
for (nCurrentEnumarationItem = 0; nCurrentEnumarationItem < nNumberOfEnumerationItems; ++nCurrentEnumarationItem)
{
oEnumerationItem = oEnumaration->getChild(nCurrentEnumarationItem);
const char* szKey(nullptr);
const char* szValue(nullptr);
oEnumerationItem->getAttributeByIndex(0, &szKey, &szValue);
cValues.push_back(szValue);
}
const char* szKey(nullptr);
const char* szValue(nullptr);
oEnumaration->getAttributeByIndex(0, &szKey, &szValue);
cValuesContainer.insert(TDValuesContainer::value_type(szValue, cValues));
}
}
return cValuesContainer;
}
//////////////////////////////////////////////////////////////////////////