Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Key-value list holding instances of BaseProperty. More...
#include <mitkPropertyList.h>
Public Types | |
typedef PropertyList | Self |
typedef itk::Object | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef std::map< std::string, BaseProperty::Pointer > | PropertyMap |
typedef std::pair< std::string, BaseProperty::Pointer > | PropertyMapElementType |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
BaseProperty::ConstPointer | GetConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) const override |
Get property by its key. More... | |
std::vector< std::string > | GetPropertyKeys (const std::string &contextName="", bool includeDefaultContext=false) const override |
Query keys of existing properties. More... | |
std::vector< std::string > | GetPropertyContextNames () const override |
Query names of existing contexts. More... | |
BaseProperty * | GetNonConstProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=true) override |
Get property by its key. More... | |
void | SetProperty (const std::string &propertyKey, BaseProperty *property, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
Add new or change existent property. More... | |
void | RemoveProperty (const std::string &propertyKey, const std::string &contextName="", bool fallBackOnDefaultContext=false) override |
Removes a property. If the property does not exist, nothing will be done. More... | |
mitk::BaseProperty * | GetProperty (const std::string &propertyKey) const |
Get a property by its name. More... | |
void | ReplaceProperty (const std::string &propertyKey, BaseProperty *property) |
Set a property object in the list/map by reference. More... | |
void | ConcatenatePropertyList (PropertyList *pList, bool replace=false) |
Set a property object in the list/map by reference. More... | |
template<typename T > | |
bool | GetPropertyValue (const char *propertyKey, T &value) const |
Convenience access method for GenericProperty<T> properties (T being the type of the second parameter) More... | |
bool | GetBoolProperty (const char *propertyKey, bool &boolValue) const |
Convenience method to access the value of a BoolProperty. More... | |
bool | Get (const char *propertyKey, bool &boolValue) const |
ShortCut for the above method. More... | |
void | SetBoolProperty (const char *propertyKey, bool boolValue) |
Convenience method to set the value of a BoolProperty. More... | |
void | Set (const char *propertyKey, bool boolValue) |
ShortCut for the above method. More... | |
bool | GetIntProperty (const char *propertyKey, int &intValue) const |
Convenience method to access the value of an IntProperty. More... | |
bool | Get (const char *propertyKey, int &intValue) const |
ShortCut for the above method. More... | |
void | SetIntProperty (const char *propertyKey, int intValue) |
Convenience method to set the value of an IntProperty. More... | |
void | Set (const char *propertyKey, int intValue) |
ShortCut for the above method. More... | |
bool | GetFloatProperty (const char *propertyKey, float &floatValue) const |
Convenience method to access the value of a FloatProperty. More... | |
bool | Get (const char *propertyKey, float &floatValue) const |
ShortCut for the above method. More... | |
void | SetFloatProperty (const char *propertyKey, float floatValue) |
Convenience method to set the value of a FloatProperty. More... | |
void | Set (const char *propertyKey, float floatValue) |
ShortCut for the above method. More... | |
bool | GetDoubleProperty (const char *propertyKey, double &doubleValue) const |
Convenience method to access the value of a DoubleProperty. More... | |
bool | Get (const char *propertyKey, double &doubleValue) const |
ShortCut for the above method. More... | |
void | SetDoubleProperty (const char *propertyKey, double doubleValue) |
Convenience method to set the value of a DoubleProperty. More... | |
void | Set (const char *propertyKey, double doubleValue) |
ShortCut for the above method. More... | |
bool | GetStringProperty (const char *propertyKey, std::string &stringValue) const |
Convenience method to access the value of a StringProperty. More... | |
bool | Get (const char *propertyKey, std::string &stringValue) const |
ShortCut for the above method. More... | |
void | SetStringProperty (const char *propertyKey, const char *stringValue) |
Convenience method to set the value of a StringProperty. More... | |
void | Set (const char *propertyKey, const char *stringValue) |
ShortCut for the above method. More... | |
void | Set (const char *propertyKey, const std::string &stringValue) |
ShortCut for the above method. More... | |
unsigned long | GetMTime () const override |
Get the timestamp of the last change of the map or the last change of one of the properties store in the list (whichever is later). More... | |
bool | DeleteProperty (const std::string &propertyKey) |
Remove a property from the list/map. More... | |
const PropertyMap * | GetMap () const |
bool | IsEmpty () const |
virtual void | Clear () |
![]() | |
~IPropertyOwner () override | |
![]() | |
virtual | ~IPropertyProvider () |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Protected Member Functions | |
PropertyList () | |
PropertyList (const PropertyList &other) | |
~PropertyList () override | |
Protected Attributes | |
PropertyMap | m_Properties |
Map of properties. More... | |
Key-value list holding instances of BaseProperty.
This list is meant to hold an arbitrary list of "properties", which should describe the object associated with this list.
Usually you will use PropertyList as part of a DataNode object - in this context the properties describe the data object held by the DataNode (e.g. whether the object is rendered at all, which color is used for rendering, what name should be displayed for the object, etc.)
The values in the list are not fixed, you may introduce any kind of property that seems useful - all you have to do is inherit from BaseProperty.
The list is organized as a key-value pairs, i.e.
Please see the documentation of SetProperty and ReplaceProperty for two quite different semantics. Normally SetProperty is what you want - this method will try to change the value of an existing property and will not allow you to replace e.g. a ColorProperty with an IntProperty.
Please also regard, that the key of a property must be a none empty string. This is a precondition. Setting properties with empty keys will raise an exception.
Definition at line 64 of file mitkPropertyList.h.
typedef itk::SmartPointer<const Self> mitk::PropertyList::ConstPointer |
Definition at line 67 of file mitkPropertyList.h.
Definition at line 67 of file mitkPropertyList.h.
typedef std::map<std::string, BaseProperty::Pointer> mitk::PropertyList::PropertyMap |
Map structure to hold the properties: the map key is a string, the value consists of the actual property object (BaseProperty).
Definition at line 73 of file mitkPropertyList.h.
typedef std::pair<std::string, BaseProperty::Pointer> mitk::PropertyList::PropertyMapElementType |
Definition at line 80 of file mitkPropertyList.h.
typedef PropertyList mitk::PropertyList::Self |
Definition at line 67 of file mitkPropertyList.h.
typedef itk::Object mitk::PropertyList::Superclass |
Definition at line 67 of file mitkPropertyList.h.
|
protected |
Definition at line 142 of file mitkPropertyList.cpp.
|
protected |
Definition at line 146 of file mitkPropertyList.cpp.
References m_Properties.
|
overrideprotected |
Definition at line 154 of file mitkPropertyList.cpp.
References Clear().
|
virtual |
Definition at line 195 of file mitkPropertyList.cpp.
References m_Properties.
Referenced by mitk::SceneReaderV1::ClearNodePropertyListWithExceptions(), mitk::PersistenceService::GetPropertyList(), mitk::DataNode::SetData(), and ~PropertyList().
Pointer mitk::PropertyList::Clone | ( | ) | const |
Referenced by mitk::LabelSet::AddLabel().
void mitk::PropertyList::ConcatenatePropertyList | ( | PropertyList * | pList, |
bool | replace = false |
||
) |
Set a property object in the list/map by reference.
Definition at line 213 of file mitkPropertyList.cpp.
References GetMap(), ReplaceProperty(), and SetProperty().
Referenced by mitk::SceneReaderV1::ClearNodePropertyListWithExceptions(), and mitk::DicomSeriesReader::LoadDicom().
bool mitk::PropertyList::DeleteProperty | ( | const std::string & | propertyKey | ) |
Remove a property from the list/map.
Definition at line 181 of file mitkPropertyList.cpp.
References m_Properties.
Referenced by mitk::Gizmo::RemoveGizmoFromNode(), and mitk::RenderWindowLayerController::RemoveLayerNode().
bool mitk::PropertyList::Get | ( | const char * | propertyKey, |
bool & | boolValue | ||
) | const |
ShortCut for the above method.
Definition at line 337 of file mitkPropertyList.cpp.
References GetBoolProperty().
bool mitk::PropertyList::Get | ( | const char * | propertyKey, |
int & | intValue | ||
) | const |
ShortCut for the above method.
Definition at line 342 of file mitkPropertyList.cpp.
References GetIntProperty().
bool mitk::PropertyList::Get | ( | const char * | propertyKey, |
float & | floatValue | ||
) | const |
ShortCut for the above method.
Definition at line 347 of file mitkPropertyList.cpp.
References GetFloatProperty().
bool mitk::PropertyList::Get | ( | const char * | propertyKey, |
double & | doubleValue | ||
) | const |
ShortCut for the above method.
Definition at line 352 of file mitkPropertyList.cpp.
References GetDoubleProperty().
bool mitk::PropertyList::Get | ( | const char * | propertyKey, |
std::string & | stringValue | ||
) | const |
ShortCut for the above method.
Definition at line 357 of file mitkPropertyList.cpp.
References GetStringProperty().
bool mitk::PropertyList::GetBoolProperty | ( | const char * | propertyKey, |
bool & | boolValue | ||
) | const |
Convenience method to access the value of a BoolProperty.
Definition at line 237 of file mitkPropertyList.cpp.
References GetProperty(), and mitk::GenericProperty< T >::GetValue().
Referenced by Get(), mitk::ColorBarAnnotation::GetAnnotationTextScaling(), mitk::ScaleLegendAnnotation::GetBottomAxisVisibility(), mitk::ColorBarAnnotation::GetDrawAnnotations(), mitk::ColorBarAnnotation::GetDrawTickLabels(), mitk::ScaleLegendAnnotation::GetLeftAxisVisibility(), mitk::ScaleLegendAnnotation::GetLegendVisibility(), mitk::Label::GetLocked(), mitk::ScaleLegendAnnotation::GetRightAxisVisibility(), mitk::ScaleLegendAnnotation::GetTopAxisVisibility(), and mitk::Label::GetVisible().
|
inlinevirtual |
Definition at line 67 of file mitkPropertyList.h.
|
virtual |
|
overridevirtual |
Get property by its key.
[in] | propertyKey | Key of property. |
[in] | contextName | Optional, default is empty string (default context). Search in specified context. |
[in] | fallBackOnDefaultContext | Optional, default is true. Also search in default context if property was not found in given context. |
Implements mitk::IPropertyProvider.
Definition at line 19 of file mitkPropertyList.cpp.
References m_Properties.
bool mitk::PropertyList::GetDoubleProperty | ( | const char * | propertyKey, |
double & | doubleValue | ||
) | const |
Convenience method to access the value of a DoubleProperty.
Definition at line 362 of file mitkPropertyList.cpp.
References GetProperty(), and mitk::GenericProperty< T >::GetValue().
Referenced by Get(), mitk::ScaleLegendAnnotation::GetCornerOffsetFactor(), and mitk::ScaleLegendAnnotation::GetFontFactor().
bool mitk::PropertyList::GetFloatProperty | ( | const char * | propertyKey, |
float & | floatValue | ||
) | const |
Convenience method to access the value of a FloatProperty.
Definition at line 263 of file mitkPropertyList.cpp.
References GetProperty(), and mitk::GenericProperty< T >::GetValue().
Referenced by mitk::SurfaceVtkMapper2D::FixupLegacyProperties(), Get(), and mitk::Label::GetOpacity().
bool mitk::PropertyList::GetIntProperty | ( | const char * | propertyKey, |
int & | intValue | ||
) | const |
Convenience method to access the value of an IntProperty.
Definition at line 250 of file mitkPropertyList.cpp.
References GetProperty(), and mitk::GenericProperty< T >::GetValue().
Referenced by mitk::SurfaceVtkMapper2D::FixupLegacyProperties(), Get(), mitk::ScaleLegendAnnotation::GetBottomBorderOffset(), mitk::ScaleLegendAnnotation::GetLeftBorderOffset(), mitk::ColorBarAnnotation::GetMaxNumberOfColors(), mitk::ColorBarAnnotation::GetNumberOfLabels(), mitk::ColorBarAnnotation::GetOrientation(), mitk::ScaleLegendAnnotation::GetRightBorderOffset(), and mitk::ScaleLegendAnnotation::GetTopBorderOffset().
|
inline |
Definition at line 233 of file mitkPropertyList.h.
Referenced by mitk::DataStorageSelection::AddListener(), mitk::SurfaceVtkMapper3D::ApplyAllProperties(), CheckAllPropertiesAreInOtherList(), ConcatenatePropertyList(), mitk::Equal(), mitk::DataStorage::GetGroupTags(), mitk::LabelSetIOHelper::GetLabelAsTiXmlElement(), mitk::GetPropertyByDICOMTagPath(), mitk::PersistenceService::GetPropertyList(), mitk::Label::Label(), mitk::DataStorageCompare::Report(), TestAllProperties(), and mitk::PropertyListsXmlFileReaderAndWriter::WriteLists().
|
override |
Get the timestamp of the last change of the map or the last change of one of the properties store in the list (whichever is later).
Consider the list as changed when any of the properties has changed recently.
Definition at line 162 of file mitkPropertyList.cpp.
References m_Properties.
Referenced by mitk::SplineVtkMapper3D::GenerateDataForRenderer(), mitk::PointSetVtkMapper3D::GenerateDataForRenderer(), mitk::RegEvaluationMapper2D::GenerateDataForRenderer(), mitk::ContourModelMapper2D::Update(), mitk::ContourModelMapper3D::Update(), mitk::ContourModelSetMapper3D::Update(), mitk::LabelSetImageVtkMapper2D::Update(), mitk::RegEvaluationMapper2D::Update(), mitk::DoseImageVtkMapper2D::Update(), mitk::ImageVtkMapper2D::Update(), and mitk::SurfaceVtkMapper2D::Update().
|
overridevirtual |
Get property by its key.
[in] | propertyKey | Key of property. |
[in] | contextName | Optional, default is empty string (default context). Search in specified context. |
[in] | fallBackOnDefaultContext | Optional, default is true. Also search in default context if property was not found in given context. |
Implements mitk::IPropertyOwner.
Definition at line 59 of file mitkPropertyList.cpp.
References GetProperty().
mitk::BaseProperty * mitk::PropertyList::GetProperty | ( | const std::string & | propertyKey | ) | const |
Get a property by its name.
Definition at line 48 of file mitkPropertyList.cpp.
References m_Properties.
Referenced by mitk::PointSetVtkMapper3D::ApplyAllProperties(), mitk::SceneReaderV1::ClearNodePropertyListWithExceptions(), mitk::PointSetVtkMapper3D::CreateVTKRenderObjects(), mitk::DICOMQIPropertyHelper::DeriveDICOMSourceProperties(), mitk::PointSetVtkMapper2D::GenerateDataForRenderer(), mitk::GetBackwardsCompatibleDICOMProperty(), GetBoolProperty(), mitk::Label::GetCenterOfMassCoordinates(), mitk::Label::GetCenterOfMassIndex(), mitk::Label::GetColor(), GetDoubleProperty(), GetFloatProperty(), GetIntProperty(), mitk::Label::GetLayer(), mitk::ColorBarAnnotation::GetLookupTable(), GetNonConstProperty(), GetStringProperty(), mitk::Label::GetValue(), mitk::Label::Label(), mitk::PlaneGeometryDataVtkMapper3D::ProcessNode(), mitk::DICOMSegmentationIO::Read(), mitk::DataStorageCompare::Report(), mitk::Label::SetCenterOfMassCoordinates(), mitk::Label::SetCenterOfMassIndex(), mitk::Label::SetColor(), mitk::Label::SetLayer(), mitk::Label::SetLocked(), mitk::Label::SetOpacity(), mitk::Label::SetValue(), and mitk::Label::SetVisible().
|
overridevirtual |
Query names of existing contexts.
Implements mitk::IPropertyProvider.
Definition at line 43 of file mitkPropertyList.cpp.
|
overridevirtual |
Query keys of existing properties.
[in] | contextName | Optional, default is empty string (default context). Search in specified context. |
[in] | includeDefaultContext | Optional, default is false. Include default context. |
Implements mitk::IPropertyProvider.
Definition at line 30 of file mitkPropertyList.cpp.
References m_Properties.
|
inline |
Convenience access method for GenericProperty<T> properties (T being the type of the second parameter)
Definition at line 117 of file mitkPropertyList.h.
References mitk::GenericProperty< T >::GetValue(), Json::intValue, and Json::stringValue.
Referenced by mitk::NavigationDataDisplacementFilter::SetParameters(), and mitk::CameraVisualization::SetParameters().
|
inlinestatic |
Definition at line 67 of file mitkPropertyList.h.
bool mitk::PropertyList::GetStringProperty | ( | const char * | propertyKey, |
std::string & | stringValue | ||
) | const |
Convenience method to access the value of a StringProperty.
Definition at line 276 of file mitkPropertyList.cpp.
References GetProperty(), and mitk::StringProperty::GetValue().
Referenced by Get(), mitk::GetBackwardsCompatibleDICOMProperty(), mitk::LogoAnnotation::GetLogoImagePath(), and mitk::Label::GetName().
|
inline |
Definition at line 234 of file mitkPropertyList.h.
Referenced by mitk::SceneIO::SaveScene().
|
static |
Method for creation through the object factory.
Referenced by mitk::Action::AddProperty(), mitk::Annotation::Annotation(), mitk::SceneReaderV1::ClearNodePropertyListWithExceptions(), mitk::PropertyListDeserializerV1::Deserialize(), mitk::NavigationDataDisplacementFilter::GetParameters(), mitk::CameraVisualization::GetParameters(), mitk::NavigationDataSource::GetParameters(), mitk::IGTLMessageSource::GetParameters(), mitk::PersistenceService::GetPropertyList(), mitk::DataNode::GetPropertyList(), mitk::RenderingManager::InitializePropertyList(), mitk::pa::InSilicoTissueVolume::InSilicoTissueVolume(), mitkDICOMPreloadedVolumeTest(), mitkEventConfigTest(), mitkPropertyListTest(), mitkPropertySerializationTest(), mitk::NonBlockingAlgorithm::NonBlockingAlgorithm(), mitk::StateMachineTransition::operator==(), mitk::CustomTagParser::ParseDicomProperty(), mitk::CustomTagParser::ParseDicomPropertyString(), QmitkOverlayController::QmitkOverlayController(), mitk::PropertyListsXmlFileReaderAndWriter::ReadLists(), mitk::SceneIO::SaveScene(), mitk::PropertyListSerializer::Serialize(), mitk::DICOMSegmentationPropertyHelper::SetDICOMSegmentProperties(), mitk::XML2EventParser::StartElement(), mitk::StateMachineTransition::StateMachineTransition(), and mitk::ToFCameraDevice::ToFCameraDevice().
|
overridevirtual |
Removes a property. If the property does not exist, nothing will be done.
[in] | propertyKey | Key of property. |
[in] | contextName | Optional, default is empty string (default context). Context in which the property is removed. |
[in] | fallBackOnDefaultContext | Optional, default is false. Remove property in default context if given context does not exist. |
Implements mitk::IPropertyOwner.
Definition at line 129 of file mitkPropertyList.cpp.
References m_Properties.
void mitk::PropertyList::ReplaceProperty | ( | const std::string & | propertyKey, |
BaseProperty * | property | ||
) |
Set a property object in the list/map by reference.
The actual OBJECT holding the value of the property is replaced by this function. This is useful if you want to change the type of the property, like from BoolProperty to StringProperty. Another use is to share one and the same property object among several ProperyList/DataNode objects, which makes them appear synchronized.
Definition at line 110 of file mitkPropertyList.cpp.
References m_Properties.
Referenced by ConcatenatePropertyList(), mitk::SurfaceVtkMapper2D::FixupLegacyProperties(), and mitk::DataNode::ReplaceProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
bool | boolValue | ||
) |
ShortCut for the above method.
Definition at line 307 of file mitkPropertyList.cpp.
References SetBoolProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
int | intValue | ||
) |
ShortCut for the above method.
Definition at line 312 of file mitkPropertyList.cpp.
References SetIntProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
float | floatValue | ||
) |
ShortCut for the above method.
Definition at line 317 of file mitkPropertyList.cpp.
References SetFloatProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
double | doubleValue | ||
) |
ShortCut for the above method.
Definition at line 322 of file mitkPropertyList.cpp.
References SetDoubleProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
const char * | stringValue | ||
) |
ShortCut for the above method.
Definition at line 327 of file mitkPropertyList.cpp.
References SetStringProperty().
void mitk::PropertyList::Set | ( | const char * | propertyKey, |
const std::string & | stringValue | ||
) |
ShortCut for the above method.
Definition at line 332 of file mitkPropertyList.cpp.
References SetStringProperty().
void mitk::PropertyList::SetBoolProperty | ( | const char * | propertyKey, |
bool | boolValue | ||
) |
Convenience method to set the value of a BoolProperty.
Definition at line 292 of file mitkPropertyList.cpp.
References mitk::BoolProperty::New(), and SetProperty().
Referenced by mitk::RenderWindowLayerController::HideDataNodeInAllRenderer(), Set(), mitk::Label::SetLocked(), and mitk::Label::SetVisible().
void mitk::PropertyList::SetDoubleProperty | ( | const char * | propertyKey, |
double | doubleValue | ||
) |
Convenience method to set the value of a DoubleProperty.
Definition at line 373 of file mitkPropertyList.cpp.
References mitk::DoubleProperty::New(), and SetProperty().
Referenced by Set().
void mitk::PropertyList::SetFloatProperty | ( | const char * | propertyKey, |
float | floatValue | ||
) |
Convenience method to set the value of a FloatProperty.
Definition at line 297 of file mitkPropertyList.cpp.
References mitk::FloatProperty::New(), and SetProperty().
Referenced by Set(), and mitk::Label::SetOpacity().
void mitk::PropertyList::SetIntProperty | ( | const char * | propertyKey, |
int | intValue | ||
) |
Convenience method to set the value of an IntProperty.
Definition at line 287 of file mitkPropertyList.cpp.
References mitk::IntProperty::New(), and SetProperty().
Referenced by Set().
|
overridevirtual |
Add new or change existent property.
[in] | propertyKey | Key of property. |
[in] | property | The actual property. |
[in] | contextName | Optional, default is empty string (default context). Context in which the property is set. |
[in] | fallBackOnDefaultContext | Optional, default is false. Set property in default context if given context does not exist. |
Implements mitk::IPropertyOwner.
Reimplemented in mitk::Label.
Definition at line 64 of file mitkPropertyList.cpp.
References m_Properties, MITK_ERROR, and mitkThrow.
Referenced by mitk::BoundingShapeInteractor::CheckOverHandles(), ConcatenatePropertyList(), mitk::DICOMQIPropertyHelper::DeriveDICOMSourceProperties(), mitk::BoundingShapeInteractor::DeselectHandles(), mitk::PersistenceService::GetPropertyList(), mitk::BoundingShapeInteractor::SelectHandle(), SetBoolProperty(), mitk::DataNode::SetBoolProperty(), mitk::DataNode::SetColor(), SetDoubleProperty(), mitk::DataNode::SetDoubleProperty(), SetFloatProperty(), mitk::DataNode::SetFloatProperty(), SetIntProperty(), mitk::DataNode::SetIntProperty(), mitk::DataNode::SetLevelWindow(), mitk::DataNode::SetOpacity(), mitk::DataNode::SetProperty(), SetStringProperty(), mitk::DataNode::SetStringProperty(), and mitk::DataNode::SetVisibility().
void mitk::PropertyList::SetStringProperty | ( | const char * | propertyKey, |
const char * | stringValue | ||
) |
Convenience method to set the value of a StringProperty.
Definition at line 302 of file mitkPropertyList.cpp.
References mitk::StringProperty::New(), and SetProperty().
Referenced by Set(), and mitk::Label::SetName().
|
protected |
Map of properties.
Definition at line 246 of file mitkPropertyList.h.
Referenced by Clear(), DeleteProperty(), GetConstProperty(), GetMTime(), GetProperty(), GetPropertyKeys(), PropertyList(), RemoveProperty(), ReplaceProperty(), and SetProperty().