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;
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;
167 using BaseProperty::operator=;
178 bool IsEqual(
const BaseProperty &property)
const override;
186 typedef std::map<std::string, EnumIdsContainerType> IdMapForClassNameContainerType;
187 typedef std::map<std::string, EnumStringsContainerType> StringMapForClassNameContainerType;
195 # pragma warning(pop)