14 #include <itkCommand.h> 21 :
m_DataStorage(nullptr), m_Predicate(nullptr), m_SelfCall(false), m_AutoAddNodes(_AutoAddNodes)
60 *
this = node.GetPointer();
99 itk::MemberCommand<DataStorageSelection>::Pointer ObjectChangedCommand =
100 itk::MemberCommand<DataStorageSelection>::New();
139 m_Nodes.push_back(nonConstNode);
170 unsigned int i =
m_Nodes.size();
194 if ((prop = dynamic_cast<const mitk::BaseProperty *>(caller)))
198 else if ((propList = dynamic_cast<const mitk::PropertyList *>(caller)))
202 else if (dynamic_cast<const mitk::DataStorage *>(caller))
224 for (
auto it2 = (*it)->GetPropertyList()->GetMap()->begin(); it2 != (*it)->GetPropertyList()->GetMap()->end();
227 if (it2->second == prop)
242 if ((*it)->GetPropertyList() == propList)
257 mitk::DataStorage::SetOfObjects::ConstPointer _NodeSet =
nullptr;
269 for (
auto it = _NodeSet->begin(); it != _NodeSet->end(); it++)
292 for (
auto it = propList->GetMap()->begin(); it != propList->GetMap()->end(); ++it)
305 itk::MemberCommand<DataStorageSelection>::Pointer ObjectChangedCommand =
306 itk::MemberCommand<DataStorageSelection>::New();
318 for (
auto it = propList->
GetMap()->begin(); it != propList->
GetMap()->end(); ++it)
virtual void ObjectChanged(const itk::Object *caller, const itk::EventObject &event)
DataStorageSelection & operator=(mitk::DataNode *node)
virtual void RemoveNode(const mitk::DataNode *node)
Data management class that handles 'was created by' relations.
mitk::DataNode::Pointer FindNode(const mitk::BaseProperty *prop) const
bool DoesAutoAddNodes() const
DataCollection - Class to facilitate loading/accessing structured data.
std::map< mitk::BaseProperty *, unsigned long > m_PropertyDeletedObserverTags
Maps a property to a delete observer tag.
Key-value list holding instances of BaseProperty.
DataNodeEvent NodeChanged
std::vector< mitk::DataNode * > GetNodes() const
void AddListener(mitk::DataNode *node)
virtual void SetDataStorage(mitk::DataStorage *_DataStorage)
virtual SetOfObjects::ConstPointer GetAll() const =0
returns a set of all data objects that are stored in the data storage
Abstract base class for properties.
mitk::DataStorage::Pointer m_DataStorage
unsigned int m_DataStorageDeletedTag
std::map< mitk::BaseProperty *, unsigned long > m_PropertyModifiedObserverTags
Maps a property to a modified observer tag.
DataStorageSelection(mitk::DataStorage *_DataStorage, bool _AutoAddNodes)
SetOfObjects::ConstPointer GetSubset(const NodePredicateBase *condition) const
returns a set of data objects that meet the given condition(s)
void AddListener(const AbstractDelegate &delegate) const
std::map< mitk::PropertyList *, unsigned long > m_PropertyListModifiedObserverTags
Maps a propertylist to a modified observer tag.
virtual void RemoveAllNodes()
unsigned int GetSize() const
DataStorageEvent AddNodeEvent
AddEvent is emitted whenever a new node has been added to the DataStorage.
Message2< const mitk::DataNode *, const mitk::BaseProperty * > PropertyChanged
mitk::DataStorage * m_DataStorage
mitk::NodePredicateBase::Pointer GetPredicate() const
mitk::PropertyList * GetPropertyList(const mitk::BaseRenderer *renderer=nullptr) const
Get the PropertyList of the renderer. If renderer is nullptr, the BaseRenderer-independent PropertyLi...
DataStorageEvent RemoveNodeEvent
RemoveEvent is emitted directly before a node is removed from the DataStorage.
void RemoveListener(const AbstractDelegate &delegate) const
virtual void SetPredicate(mitk::NodePredicateBase *_Predicate)
void RemoveListener(mitk::DataNode *node)
~DataStorageSelection() override
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
std::vector< mitk::DataNode * > m_Nodes
virtual void AddNode(const mitk::DataNode *node)
DataNodeEvent NodeRemoved
mitk::NodePredicateBase::Pointer m_Predicate
std::map< mitk::DataNode *, unsigned long > m_NodeModifiedObserverTags
Maps a node to a modified observer tag.
std::map< mitk::PropertyList *, unsigned long > m_PropertyListDeletedObserverTags
Maps a propertylist to a delete observer tag.
Class for nodes of the DataTree.
mitk::DataStorage::Pointer GetDataStorage() const
const PropertyMap * GetMap() const
mitk::DataNode::Pointer GetNode() const