Public Member Functions | Public Attributes

TbSelListener Struct Reference

Inheritance diagram for TbSelListener:
Inheritance graph
[legend]
Collaboration diagram for TbSelListener:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 berryObjectMacro (TrSelListener)
 TbSelListener (QmitkTbssView *view)
void DoSelectionChanged (ISelection::ConstPointer selection)
void SelectionChanged (IWorkbenchPart::Pointer part, ISelection::ConstPointer selection)

Public Attributes

QmitkTbssViewm_View

Detailed Description

Definition at line 45 of file QmitkTbssView.cpp.


Constructor & Destructor Documentation

TbSelListener::TbSelListener ( QmitkTbssView view ) [inline]

Definition at line 50 of file QmitkTbssView.cpp.

  {
    m_View = view;
  }

Member Function Documentation

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);

      }
    }
  }

Member Data Documentation

Definition at line 180 of file QmitkTbssView.cpp.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines