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

Method SelectionChanged

Modules/QtWidgetsExt/src/QmitkBoundingObjectWidget.cpp:117–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115}
116
117void QmitkBoundingObjectWidget::SelectionChanged()
118{
119 QList<QTreeWidgetItem *> selectedItems = m_TreeWidget->selectedItems();
120 if (selectedItems.size() < 1)
121 return;
122
123 QTreeWidgetItem *selectedItem = selectedItems.first();
124
125 if (selectedItem == m_lastSelectedItem)
126 return;
127
128 if (m_lastSelectedItem != nullptr)
129 {
130 m_TreeWidget->closePersistentEditor(m_lastSelectedItem, 0);
131
132 ItemNodeMapType::iterator it = m_ItemNodeMap.find(m_lastSelectedItem);
133
134 if (it != m_ItemNodeMap.end())
135 {
136 mitk::DataNode *last_node = it->second;
137
138 // remove observer
139 last_node->RemoveObserver(m_lastAffineObserver);
140 last_node->SetDataInteractor(nullptr);
141 }
142 }
143
144 ItemNodeMapType::iterator it = m_ItemNodeMap.find(selectedItem);
145 if (it == m_ItemNodeMap.end())
146 return;
147
148 mitk::DataNode *new_node = it->second;
149
150 mitk::AffineBaseDataInteractor3D::Pointer affineDataInteractor = mitk::AffineBaseDataInteractor3D::New();
151 affineDataInteractor->LoadStateMachine("AffineInteraction3D.xml", us::ModuleRegistry::GetModule("MitkDataTypesExt"));
152 affineDataInteractor->SetEventConfig("AffineConfig.xml", us::ModuleRegistry::GetModule("MitkDataTypesExt"));
153 affineDataInteractor->SetDataNode(new_node);
154 new_node->SetBoolProperty("pickable", true);
155
156 // create observer for node
157 itk::ReceptorMemberCommand<QmitkBoundingObjectWidget>::Pointer command =
158 itk::ReceptorMemberCommand<QmitkBoundingObjectWidget>::New();
159 command->SetCallbackFunction(this, &QmitkBoundingObjectWidget::OnBoundingObjectModified);
160 m_lastAffineObserver = new_node->AddObserver(mitk::AffineInteractionEvent(), command);
161
162 m_lastSelectedItem = selectedItem;
163}
164
165void QmitkBoundingObjectWidget::AddItem(mitk::DataNode *node)
166{

Callers

nothing calls this directly

Calls 10

SetDataInteractorMethod · 0.80
LoadStateMachineMethod · 0.80
SetEventConfigMethod · 0.80
AddObserverMethod · 0.80
NewFunction · 0.50
sizeMethod · 0.45
findMethod · 0.45
endMethod · 0.45
SetDataNodeMethod · 0.45
SetBoolPropertyMethod · 0.45

Tested by

no test coverage detected