16 : QAbstractItemModel(parent)
18 , m_NodePredicate(nullptr)
24 : QAbstractItemModel(parent)
37 if (dataStorage.IsNotNull())
40 dataStorage->RemoveObserver(m_DataStorageDeletedTag);
43 dataStorage->AddNodeEvent.RemoveListener(
45 dataStorage->RemoveNodeEvent.RemoveListener(
47 dataStorage->ChangedNodeEvent.RemoveListener(
64 if (dataStorage.IsNotNull())
67 dataStorage->RemoveObserver(m_DataStorageDeletedTag);
85 if (dataStorage.IsNotNull())
88 auto command = itk::SimpleMemberCommand<QmitkAbstractDataStorageModel>::New();
89 command->SetCallbackFunction(
this, &QmitkAbstractDataStorageModel::SetDataStorageDeleted);
90 m_DataStorageDeletedTag = dataStorage->AddObserver(itk::DeleteEvent(), command);
115 void QmitkAbstractDataStorageModel::SetDataStorageDeleted()
Data management class that handles 'was created by' relations.
itk::SmartPointer< T > Lock() const
virtual void NodePredicateChanged()=0
void SetDataStorage(mitk::DataStorage *dataStorage)
QmitkAbstractDataStorageModel(QObject *parent=nullptr)
virtual void DataStorageChanged()=0
virtual void NodeChanged(const mitk::DataNode *node)=0
mitk::NodePredicateBase::ConstPointer m_NodePredicate
mitk::DataStorage::Pointer m_DataStorage
~QmitkAbstractDataStorageModel() override
bool IsExpired() const noexcept
void AddListener(const AbstractDelegate &delegate) const
mitk::DataStorage * GetDataStorage() const
DataStorageEvent AddNodeEvent
AddEvent is emitted whenever a new node has been added to the DataStorage.
virtual void NodeRemoved(const mitk::DataNode *node)=0
virtual void NodeAdded(const mitk::DataNode *node)=0
DataStorageEvent RemoveNodeEvent
RemoveEvent is emitted directly before a node is removed from the DataStorage.
void RemoveListener(const AbstractDelegate &delegate) const
DataStorageEvent ChangedNodeEvent
ChangedEvent is emitted directly after a node was changed.
Interface for evaluation conditions used in the DataStorage class GetSubset() method.
void SetNodePredicate(const mitk::NodePredicateBase *nodePredicate)
mitk::WeakPointer< mitk::DataStorage > m_DataStorage