13 #ifndef mitkEnumerationProperty_h 14 #define mitkEnumerationProperty_h 22 # pragma warning(push) 23 # pragma warning(disable: 4522) // "multiple assignment operators specified" 47 itkFactorylessNewMacro(
Self);
53 typedef unsigned int IdType;
80 virtual bool AddEnum(
const std::string &name,
const IdType &
id);
87 virtual bool SetValue(
const std::string &name);
94 virtual bool SetValue(
const IdType &
id);
100 virtual IdType GetValueAsId()
const;
106 std::string GetValueAsString()
const override;
111 virtual void Clear();
116 virtual EnumIdsContainerType::size_type Size()
const;
123 virtual EnumConstIterator Begin()
const;
129 virtual EnumConstIterator End()
const;
137 virtual std::string GetEnumString(
const IdType &
id)
const;
145 virtual IdType GetEnumId(
const std::string &name)
const;
152 virtual bool IsValidEnumerationValue(
const IdType &
id)
const;
159 virtual bool IsValidEnumerationValue(
const std::string &name)
const;
161 const EnumIdsContainerType &GetEnumIds()
const;
162 const EnumStringsContainerType &GetEnumStrings()
const;
164 EnumIdsContainerType &GetEnumIds();
165 EnumStringsContainerType &GetEnumStrings();
167 using BaseProperty::operator=;
178 bool IsEqual(
const BaseProperty &property)
const override;
184 IdType m_CurrentValue;
186 typedef std::map<std::string, EnumIdsContainerType> IdMapForClassNameContainerType;
187 typedef std::map<std::string, EnumStringsContainerType> StringMapForClassNameContainerType;
189 EnumIdsContainerType m_IdMap;
190 EnumStringsContainerType m_NameMap;
195 # pragma warning(pop)
DataCollection - Class to facilitate loading/accessing structured data.
Abstract base class for properties.
#define mitkClassMacro(className, SuperClassName)
EnumIdsContainerType::const_iterator EnumConstIterator
std::map< IdType, std::string > EnumIdsContainerType
#define mitkCloneMacro(classname)
std::map< std::string, IdType > EnumStringsContainerType