| 167 | } |
| 168 | |
| 169 | void QmitkAbstractNodeSelectionWidget::SetCurrentSelection(NodeList selectedNodes) |
| 170 | { |
| 171 | if (!m_RecursionGuard) |
| 172 | { |
| 173 | m_CurrentExternalSelection = selectedNodes; |
| 174 | |
| 175 | auto dataStorage = m_DataStorage.Lock(); |
| 176 | NodeList newInternalSelection; |
| 177 | for (const auto &node : std::as_const(selectedNodes)) |
| 178 | { |
| 179 | if (dataStorage.IsNotNull() && dataStorage->Exists(node) && (m_NodePredicate.IsNull() || m_NodePredicate->CheckNode(node))) |
| 180 | { |
| 181 | newInternalSelection.append(node); |
| 182 | } |
| 183 | } |
| 184 | |
| 185 | this->HandleChangeOfInternalSelection(newInternalSelection); |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | const mitk::NodePredicateBase* QmitkAbstractNodeSelectionWidget::GetNodePredicate() const |
| 190 | { |
no test coverage detected