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.