

Public Member Functions | |
| berryObjectMacro (SelListenerRigidRegistration) | |
| SelListenerRigidRegistration (QmitkRigidRegistrationView *view) | |
| void | DoSelectionChanged (ISelection::ConstPointer selection) |
| void | SelectionChanged (IWorkbenchPart::Pointer part, ISelection::ConstPointer selection) |
Public Attributes | |
| QmitkRigidRegistrationView * | m_View |
Definition at line 42 of file QmitkRigidRegistrationView.cpp.
| SelListenerRigidRegistration::SelListenerRigidRegistration | ( | QmitkRigidRegistrationView * | view ) | [inline] |
Definition at line 46 of file QmitkRigidRegistrationView.cpp.
{
m_View = view;
}
| SelListenerRigidRegistration::berryObjectMacro | ( | SelListenerRigidRegistration | ) |
| void SelListenerRigidRegistration::DoSelectionChanged | ( | ISelection::ConstPointer | selection ) | [inline] |
Definition at line 51 of file QmitkRigidRegistrationView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), and QmitkRigidRegistrationView::m_CurrentSelection.
{
// if (!m_View->IsVisible())
// return;
// save current selection in member variable
m_View->m_CurrentSelection = selection.Cast<const IStructuredSelection>();
// do something with the selected items
if(m_View->m_CurrentSelection)
{
if (m_View->m_CurrentSelection->Size() != 2)
{
if (m_View->m_FixedNode.IsNull() || m_View->m_MovingNode.IsNull())
{
m_View->m_Controls.m_StatusLabel->show();
m_View->m_Controls.TextLabelFixed->hide();
m_View->m_Controls.m_FixedLabel->hide();
m_View->m_Controls.TextLabelMoving->hide();
m_View->m_Controls.m_MovingLabel->hide();
m_View->m_Controls.m_OpacityLabel->setEnabled(false);
m_View->m_Controls.m_OpacitySlider->setEnabled(false);
m_View->m_Controls.label->setEnabled(false);
m_View->m_Controls.label_2->setEnabled(false);
m_View->m_Controls.m_ShowRedGreenValues->setEnabled(false);
m_View->m_Controls.m_SwitchImages->hide();
}
}
else
{
m_View->m_Controls.m_StatusLabel->hide();
bool foundFixedImage = false;
mitk::DataNode::Pointer fixedNode;
// iterate selection
for (IStructuredSelection::iterator i = m_View->m_CurrentSelection->Begin();
i != m_View->m_CurrentSelection->End(); ++i)
{
// extract datatree node
if (mitk::DataNodeObject::Pointer nodeObj = i->Cast<mitk::DataNodeObject>())
{
mitk::DataNode::Pointer node = nodeObj->GetDataNode();
// only look at interesting types
if(QString("Image").compare(node->GetData()->GetNameOfClass())==0)
{
if (dynamic_cast<mitk::Image*>(node->GetData())->GetDimension() == 4)
{
m_View->m_Controls.m_StatusLabel->show();
QMessageBox::information( NULL, "RigidRegistration", "Only 2D or 3D images can be processed.", QMessageBox::Ok );
return;
}
if (foundFixedImage == false)
{
fixedNode = node;
foundFixedImage = true;
}
else
{
m_View->SetImagesVisible(selection);
m_View->FixedSelected(fixedNode);
m_View->MovingSelected(node);
m_View->m_Controls.m_StatusLabel->hide();
m_View->m_Controls.TextLabelFixed->show();
m_View->m_Controls.m_FixedLabel->show();
m_View->m_Controls.TextLabelMoving->show();
m_View->m_Controls.m_MovingLabel->show();
m_View->m_Controls.m_OpacityLabel->setEnabled(true);
m_View->m_Controls.m_OpacitySlider->setEnabled(true);
m_View->m_Controls.label->setEnabled(true);
m_View->m_Controls.label_2->setEnabled(true);
m_View->m_Controls.m_ShowRedGreenValues->setEnabled(true);
}
}
else
{
m_View->m_Controls.m_StatusLabel->show();
return;
}
}
}
}
}
else if (m_View->m_FixedNode.IsNull() || m_View->m_MovingNode.IsNull())
{
m_View->m_Controls.m_StatusLabel->show();
}
}
| void SelListenerRigidRegistration::SelectionChanged | ( | IWorkbenchPart::Pointer | part, |
| ISelection::ConstPointer | selection | ||
| ) | [inline, virtual] |
Implements berry::ISelectionListener.
Definition at line 137 of file QmitkRigidRegistrationView.cpp.
{
// check, if selection comes from datamanager
if (part)
{
QString partname(part->GetPartName().c_str());
if(partname.compare("Datamanager")==0)
{
// apply selection
DoSelectionChanged(selection);
}
}
}
Definition at line 151 of file QmitkRigidRegistrationView.cpp.
1.7.2