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

Method SetNodePredicate

Modules/QtWidgets/src/QmitkAbstractNodeSelectionWidget.cpp:111–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

109}
110
111void QmitkAbstractNodeSelectionWidget::SetNodePredicate(const mitk::NodePredicateBase* nodePredicate)
112{
113 if (m_NodePredicate != nodePredicate)
114 {
115 m_NodePredicate = nodePredicate;
116
117 this->OnNodePredicateChanged();
118
119 NodeList newInternalNodes;
120
121 for (auto& node : m_CurrentInternalSelection)
122 {
123 if (m_NodePredicate.IsNull() || m_NodePredicate->CheckNode(node))
124 {
125 newInternalNodes.append(node);
126 }
127 }
128
129 if (!m_SelectOnlyVisibleNodes)
130 {
131 for (auto& node : m_CurrentExternalSelection)
132 {
133 if (!newInternalNodes.contains(node) && (m_NodePredicate.IsNull() || m_NodePredicate->CheckNode(node)))
134 {
135 newInternalNodes.append(node);
136 }
137 }
138 }
139
140 this->HandleChangeOfInternalSelection(newInternalNodes);
141 }
142}
143
144void QmitkAbstractNodeSelectionWidget::HandleChangeOfInternalSelection(NodeList newInternalSelection)
145{

Callers

nothing calls this directly

Calls 5

containsMethod · 0.80
IsNullMethod · 0.45
CheckNodeMethod · 0.45

Tested by

no test coverage detected