17 #ifndef _MITK_ENUMERATION_PROPERTY__H_
18 #define _MITK_ENUMERATION_PROPERTY__H_
28 #pragma warning(disable : 4522)
57 itkFactorylessNewMacro(
Self) itkCloneMacro(
Self)
91 virtual
bool AddEnum(const
std::
string &name, const IdType &
id);
99 virtual
bool SetValue(const
std::
string &name);
107 virtual
bool SetValue(const IdType &
id);
113 virtual IdType GetValueAsId() const;
119 virtual
std::
string GetValueAsString() const override;
124 virtual
void Clear();
132 virtual EnumIdsContainerType::size_type Size() const;
139 virtual EnumConstIterator Begin() const;
146 virtual EnumConstIterator End() const;
154 virtual
std::
string GetEnumString(const IdType &
id) const;
162 virtual IdType GetEnumId(const
std::
string &name) const;
170 virtual
bool IsValidEnumerationValue(const IdType &val) const;
178 virtual
bool IsValidEnumerationValue(const
std::
string &val) const;
180 const EnumIdsContainerType &GetEnumIds() const;
181 const EnumStringsContainerType &GetEnumStrings() const;
183 EnumIdsContainerType &GetEnumIds();
184 EnumStringsContainerType &GetEnumStrings();
194 EnumerationProperty(const EnumerationProperty &);
196 virtual
bool IsEqual(const
BaseProperty &property) const override;
197 virtual
bool Assign(const
BaseProperty &property) override;
199 itk::LightObject::
Pointer InternalClone() const override;
203 EnumerationProperty &operator=(const EnumerationProperty &);
204 IdType m_CurrentValue;
206 typedef
std::
map<
std::
string, EnumIdsContainerType> IdMapForClassNameContainerType;
207 typedef
std::
map<
std::
string, EnumStringsContainerType> StringMapForClassNameContainerType;
209 static IdMapForClassNameContainerType s_IdMapForClassName;
210 static StringMapForClassNameContainerType s_StringMapForClassName;
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
std::map< std::string, IdType > EnumStringsContainerType