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

Method SetSelectedImages

Modules/Core/src/DataManagement/mitkLevelWindowManager.cpp:161–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161void mitk::LevelWindowManager::SetSelectedImages(bool selectedImagesMode, const DataNode *removedNode/* = nullptr*/)
162{
163 m_SelectedImagesMode = selectedImagesMode;
164 if (false == m_SelectedImagesMode)
165 {
166 return;
167 }
168
169 // deactivate other mode
170 m_AutoTopMost = false;
171
172 if (m_IsPropertyModifiedTagSet && m_LevelWindowProperty.IsNotNull())
173 {
174 m_LevelWindowProperty->RemoveObserver(m_PropertyModifiedTag);
175 m_IsPropertyModifiedTagSet = false;
176 }
177
178 // find selected images in the data storage
179 if (m_DataStorage.IsNull())
180 {
181 mitkThrow() << "DataStorage not set";
182 }
183
184 m_LevelWindowProperty = nullptr;
185 m_CurrentImage = nullptr;
186
187 DataStorage::SetOfObjects::ConstPointer all = this->GetRelevantNodes();
188 for (DataStorage::SetOfObjects::ConstIterator it = all->Begin(); it != all->End(); ++it)
189 {
190 DataNode::Pointer node = it->Value();
191 if (node.IsNull() || node == removedNode)
192 {
193 continue;
194 }
195
196 // reset the "imageForLevelWindow" of each node
197 m_LevelWindowMutex = true;
198 node->SetBoolProperty("imageForLevelWindow", false);
199 m_LevelWindowMutex = false;
200
201 if (false == node->IsSelected())
202 {
203 continue;
204 }
205
206 bool validRenderingMode = HasLevelWindowRenderingMode(node);
207 if (false == validRenderingMode)
208 {
209 continue;
210 }
211
212 m_LevelWindowProperty = dynamic_cast<LevelWindowProperty*>(node->GetProperty("levelwindow"));
213 m_DataNodesForLevelWindow.push_back(node); // nodes are used inside "SetLevelWindow" if the level window is changed
214 }
215
216 // this will set the "imageForLevelWindow" property and the 'm_CurrentImage' and call 'Modified()'
217 this->SetLevelWindowProperty(m_LevelWindowProperty);
218

Callers 6

UpdateMethod · 0.95
UpdateSelectedMethod · 0.95
OnSetImageMethod · 0.80
TestModesMethod · 0.80

Calls 11

GetRelevantNodesMethod · 0.95
IsNotNullMethod · 0.80
ValueMethod · 0.80
IsSelectedMethod · 0.80
IsNullMethod · 0.45
BeginMethod · 0.45
EndMethod · 0.45
SetBoolPropertyMethod · 0.45
GetPropertyMethod · 0.45
ModifiedMethod · 0.45

Tested by 3

TestModesMethod · 0.64