Public Member Functions | Public Attributes

CvpSelListener Struct Reference

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

List of all members.

Public Member Functions

 berryObjectMacro (CvpSelListener)
 CvpSelListener (QmitkControlVisualizationPropertiesView *view)
void ApplySettings (mitk::DataNode::Pointer node)
void DoSelectionChanged (ISelection::ConstPointer selection)
void SelectionChanged (IWorkbenchPart::Pointer part, ISelection::ConstPointer selection)

Public Attributes

QmitkControlVisualizationPropertiesViewm_View

Detailed Description

Definition at line 39 of file QmitkControlVisualizationPropertiesView.cpp.


Constructor & Destructor Documentation

CvpSelListener::CvpSelListener ( QmitkControlVisualizationPropertiesView view ) [inline]

Definition at line 44 of file QmitkControlVisualizationPropertiesView.cpp.

  {
    m_View = view;
  }

Member Function Documentation

void CvpSelListener::ApplySettings ( mitk::DataNode::Pointer  node ) [inline]

Definition at line 49 of file QmitkControlVisualizationPropertiesView.cpp.

References QmitkControlVisualizationPropertiesView::m_Controls, and Ui_QmitkControlVisualizationPropertiesViewControls::m_VisibleOdfsON.

  {
    bool do_vis;
    node->GetBoolProperty("VisibleOdfs", do_vis);
    if(do_vis)
    {
      m_View->m_Controls->m_VisibleOdfsON->setIcon(*m_View->m_IconGlyON);
      m_View->m_Controls->m_VisibleOdfsON->setChecked(true);
      m_View->m_GlyIsOn = true;
    }
    else
    {
      m_View->m_Controls->m_VisibleOdfsON->setIcon(*m_View->m_IconGlyOFF);
      m_View->m_Controls->m_VisibleOdfsON->setChecked(false);
      m_View->m_GlyIsOn = false;
    }

    bool tex_int;
    node->GetBoolProperty("texture interpolation", tex_int);
    if(tex_int)
    {
      m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexON);
      m_View->m_Controls->m_TextureIntON->setChecked(true);
      m_View->m_TexIsOn = true;
    }
    else
    {
      m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexOFF);
      m_View->m_Controls->m_TextureIntON->setChecked(false);
      m_View->m_TexIsOn = false;
    }

    int val;
    node->GetIntProperty("ShowMaxNumber", val);
    m_View->m_Controls->m_ShowMaxNumber->setValue(val);

    m_View->m_Controls->m_NormalizationDropdown->setCurrentIndex(dynamic_cast<mitk::EnumerationProperty*>(node->GetProperty("Normalization"))->GetValueAsId());

    float fval;
    node->GetFloatProperty("Scaling",fval);
    m_View->m_Controls->m_ScalingFactor->setValue(fval);

    m_View->m_Controls->m_AdditionalScaling->setCurrentIndex(dynamic_cast<mitk::EnumerationProperty*>(node->GetProperty("ScaleBy"))->GetValueAsId());

    node->GetFloatProperty("IndexParam1",fval);
    m_View->m_Controls->m_IndexParam1->setValue(fval);

    node->GetFloatProperty("IndexParam2",fval);
    m_View->m_Controls->m_IndexParam2->setValue(fval);
  }
CvpSelListener::berryObjectMacro ( CvpSelListener   )
void CvpSelListener::DoSelectionChanged ( ISelection::ConstPointer  selection ) [inline]

Definition at line 100 of file QmitkControlVisualizationPropertiesView.cpp.

References berry::SmartPointer< TObjectType >::Cast().

  {
    // save current selection in member variable
    m_View->m_CurrentSelection = selection.Cast<const IStructuredSelection>();

    m_View->m_Controls->m_VisibleOdfsON->setVisible(false);
    m_View->m_Controls->m_TextureIntON->setVisible(false);

    bool foundDiffusionImage = false;
    bool foundQBIVolume = false;
    bool foundTensorVolume = false;
    bool foundImage = false;
    bool foundMultipleOdfImages = false;

    // do something with the selected items
    if(m_View->m_CurrentSelection)
    {
      // 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("DiffusionImage").compare(node->GetData()->GetNameOfClass())==0)
          {
            foundDiffusionImage = true;
            bool tex_int;
            node->GetBoolProperty("texture interpolation", tex_int);
            if(tex_int)
            {
              m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexON);
              m_View->m_Controls->m_TextureIntON->setChecked(true);
              m_View->m_TexIsOn = true;
            }
            else
            {
              m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexOFF);
              m_View->m_Controls->m_TextureIntON->setChecked(false);
              m_View->m_TexIsOn = false;
            }
            int val;
            node->GetIntProperty("DisplayChannel", val);
            m_View->m_Controls->m_DisplayIndex->setValue(val);

          }

          else if(QString("QBallImage").compare(node->GetData()->GetNameOfClass())==0)
          {
            foundMultipleOdfImages = foundQBIVolume || foundTensorVolume;
            foundQBIVolume = true;
            ApplySettings(node);
          }

          else if(QString("TensorImage").compare(node->GetData()->GetNameOfClass())==0)
          {
            foundMultipleOdfImages = foundQBIVolume || foundTensorVolume;
            foundTensorVolume = true;
            ApplySettings(node);
          }

          else if(QString("Image").compare(node->GetData()->GetNameOfClass())==0)
          {
            foundImage = true;
            bool tex_int;
            node->GetBoolProperty("texture interpolation", tex_int);
            if(tex_int)
            {
              m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexON);
              m_View->m_Controls->m_TextureIntON->setChecked(true);
              m_View->m_TexIsOn = true;
            }
            else
            {
              m_View->m_Controls->m_TextureIntON->setIcon(*m_View->m_IconTexOFF);
              m_View->m_Controls->m_TextureIntON->setChecked(false);
              m_View->m_TexIsOn = false;
            }
          }
        }
      }
    }

    m_View->m_Controls->m_DisplayIndex->setVisible(foundDiffusionImage);

    m_View->m_FoundSingleOdfImage = (foundQBIVolume || foundTensorVolume)
                                    && !foundMultipleOdfImages;
    m_View->m_Controls->m_ShowMaxNumber->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->m_NormalizationDropdown->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->label->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->m_ScalingFactor->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->m_AdditionalScaling->setVisible(m_View->m_FoundSingleOdfImage);

    m_View->m_Controls->OpacMinFrame->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->OpacMaxFrame->setVisible(m_View->m_FoundSingleOdfImage);

    // changed for SPIE paper, Principle curvature scaling
    //m_View->m_Controls->params_frame->setVisible(m_View->m_FoundSingleOdfImage);
    m_View->m_Controls->params_frame->setVisible(false);

    m_View->m_Controls->m_VisibleOdfsON->setVisible(m_View->m_FoundSingleOdfImage);

    bool foundAnyImage = foundDiffusionImage ||
                         foundQBIVolume || foundTensorVolume || foundImage;

    m_View->m_Controls->m_Reinit->setVisible(foundAnyImage);
    m_View->m_Controls->m_TextureIntON->setVisible(foundAnyImage);

    if(m_View->m_IsInitialized)
    {
      //m_View->GetSite()->GetWorkbenchWindow()->GetActivePage()
      //  ->HideView(IViewPart::Pointer(m_View));

      //berry::PlatformUI::GetWorkbench()->GetActiveWorkbenchWindow()->GetActivePage()
      //  ->ShowView(QmitkControlVisualizationPropertiesView::VIEW_ID,
      //  "", berry::IWorkbenchPage::VIEW_VISIBLE);

    }
  }
void CvpSelListener::SelectionChanged ( IWorkbenchPart::Pointer  part,
ISelection::ConstPointer  selection 
) [inline, virtual]

Implements berry::ISelectionListener.

Definition at line 224 of file QmitkControlVisualizationPropertiesView.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 240 of file QmitkControlVisualizationPropertiesView.cpp.


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