Plasma Engine  2.0
Loading...
Searching...
No Matches
DynamicEnums.h
1#pragma once
2
3#include <Foundation/Containers/Map.h>
4#include <Foundation/Strings/String.h>
5#include <GuiFoundation/GuiFoundationDLL.h>
6
13class PL_GUIFOUNDATION_DLL plDynamicEnum
14{
15public:
17 static plDynamicEnum& GetDynamicEnum(const char* szEnumName);
18
20 const plMap<plInt32, plString>& GetAllValidValues() const { return m_ValidValues; }
21
23 void Clear();
24
26 void SetValueAndName(plInt32 iValue, plStringView sNewName);
27
29 void RemoveValue(plInt32 iValue);
30
32 bool IsValueValid(plInt32 iValue) const;
33
35 plStringView GetValueName(plInt32 iValue) const;
36
37private:
38 plMap<plInt32, plString> m_ValidValues;
39
40 static plMap<plString, plDynamicEnum> s_DynamicEnums;
41};
Stores the valid values and names for 'dynamic' enums.
Definition DynamicEnums.h:14
const plMap< plInt32, plString > & GetAllValidValues() const
Returns all enum values and current names.
Definition DynamicEnums.h:20
Definition Map.h:408
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34