MCPcopy Create free account
hub / github.com/MITK/MITK / SetDataStorage

Method SetDataStorage

Modules/QtWidgets/src/QmitkDataStorageComboBox.cpp:116–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116void QmitkDataStorageComboBox::SetDataStorage(mitk::DataStorage *dataStorage)
117{
118 auto currentDataStorage = m_DataStorage.Lock();
119
120 // reset only if datastorage really changed
121 if (currentDataStorage.GetPointer() != dataStorage)
122 {
123 // if there was an old storage, remove listeners
124 if (currentDataStorage.IsNotNull())
125 {
126 currentDataStorage->AddNodeEvent.RemoveListener(
127 mitk::MessageDelegate1<QmitkDataStorageComboBox, const mitk::DataNode *>(this,
128 &QmitkDataStorageComboBox::AddNode));
129
130 currentDataStorage->RemoveNodeEvent.RemoveListener(
131 mitk::MessageDelegate1<QmitkDataStorageComboBox, const mitk::DataNode *>(this,
132 &QmitkDataStorageComboBox::RemoveNode));
133 }
134 // set new storage
135 m_DataStorage = dataStorage;
136 currentDataStorage = m_DataStorage.Lock();
137
138 // if there is a new storage, add listeners
139 if (currentDataStorage.IsNotNull())
140 {
141 currentDataStorage->AddNodeEvent.AddListener(
142 mitk::MessageDelegate1<QmitkDataStorageComboBox, const mitk::DataNode *>(this,
143 &QmitkDataStorageComboBox::AddNode));
144
145 currentDataStorage->RemoveNodeEvent.AddListener(
146 mitk::MessageDelegate1<QmitkDataStorageComboBox, const mitk::DataNode *>(this,
147 &QmitkDataStorageComboBox::RemoveNode));
148 }
149
150 // reset predicate to reset the combobox
151 this->Reset();
152 }
153}
154
155void QmitkDataStorageComboBox::SetPredicate(const mitk::NodePredicateBase *predicate)
156{

Callers 1

Calls 6

ResetMethod · 0.95
GetPointerMethod · 0.80
IsNotNullMethod · 0.80
LockMethod · 0.45
RemoveListenerMethod · 0.45
AddListenerMethod · 0.45

Tested by

no test coverage detected