

Public Member Functions | |
| berryObjectMacro (TrSelListener) | |
| TbSelListener (QmitkTbssView *view) | |
| void | DoSelectionChanged (ISelection::ConstPointer selection) |
| void | SelectionChanged (IWorkbenchPart::Pointer part, ISelection::ConstPointer selection) |
Public Attributes | |
| QmitkTbssView * | m_View |
Definition at line 45 of file QmitkTbssView.cpp.
| TbSelListener::TbSelListener | ( | QmitkTbssView * | view ) | [inline] |
Definition at line 50 of file QmitkTbssView.cpp.
{
m_View = view;
}
| TbSelListener::berryObjectMacro | ( | TrSelListener | ) |
| void TbSelListener::DoSelectionChanged | ( | ISelection::ConstPointer | selection ) | [inline] |
Definition at line 55 of file QmitkTbssView.cpp.
References berry::SmartPointer< TObjectType >::Cast(), and QmitkTbssView::m_CurrentSelection.
{
// if(!m_View->IsVisible())
// return;
// save current selection in member variable
m_View->m_CurrentSelection = selection.Cast<const IStructuredSelection>();
// Disable the m_OutputValues button
m_View->m_Controls->m_OutputValues->setEnabled(false);
// do something with the selected items
if(m_View->m_CurrentSelection)
{
if(m_View->m_CurrentSelection->Size() == 2)
{
m_View->m_Controls->m_StatusLabel->hide();
bool foundSkeleton = false;
bool foundRoi = false;
mitk::DataNode::Pointer skeletonNode;
mitk::DataNode::Pointer roiNode;
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();
if(QString("Image").compare(node->GetData()->GetNameOfClass())== 0)
{
// Find 4D image (3d skeleton + user ID)
if (dynamic_cast<mitk::Image*>(node->GetData())->GetDimension() == 4)
{
m_View->SkeletonSelected(node);
foundSkeleton = true;
}
// The ROI
else if (dynamic_cast<mitk::Image*>(node->GetData())->GetDimension() == 3)
{
m_View->RoiSelected(node);
foundRoi = true;
}
}
}
}
if(foundSkeleton && foundRoi)
{
m_View->m_Controls->m_OutputValues->setEnabled(true);
}
else
{
m_View->m_Controls->m_StatusLabel->show();
m_View->m_Controls->m_RoiNameLabel->setText(QString::fromStdString(""));
m_View->m_Controls->m_SkeletonNameLabel->setText(QString::fromStdString(""));
}
}
else if(m_View->m_CurrentSelection->Size() == 1)
{
mitk::DataNode::Pointer skeletonNode;
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();
if(QString("Image").compare(node->GetData()->GetNameOfClass())== 0)
{
// Find 4D image (3d skeleton + user ID)
if (dynamic_cast<mitk::Image*>(node->GetData())->GetDimension() == 4)
{
m_View->SkeletonSelected(node);
}
}
}
}
}
else{
m_View->m_Controls->m_StatusLabel->show();
m_View->m_Controls->m_RoiNameLabel->setText(QString::fromStdString(""));
m_View->m_Controls->m_SkeletonNameLabel->setText(QString::fromStdString(""));
}
}
}
| void TbSelListener::SelectionChanged | ( | IWorkbenchPart::Pointer | part, |
| ISelection::ConstPointer | selection | ||
| ) | [inline, virtual] |
Implements berry::ISelectionListener.
Definition at line 164 of file QmitkTbssView.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 180 of file QmitkTbssView.cpp.
1.7.2