diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/plugin.xml b/Plugins/org.mitk.gui.qt.pointsetinteraction/plugin.xml
index abd1ee41bd..88d98d53b9 100644
--- a/Plugins/org.mitk.gui.qt.pointsetinteraction/plugin.xml
+++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/plugin.xml
@@ -1,12 +1,9 @@
-
-
+
-
-
diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp
index b9955ff933..741d400124 100755
--- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp
+++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp
@@ -1,169 +1,143 @@
/*===================================================================
The Medical Imaging Interaction Toolkit (MITK)
Copyright (c) German Cancer Research Center,
Division of Medical and Biological Informatics.
All rights reserved.
This software is distributed WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
See LICENSE.txt or http://www.mitk.org for details.
===================================================================*/
// Qmitk related includes
#include "QmitkPointSetInteractionView.h"
#include "ui_QmitkPointSetInteractionViewControls.h"
#include
#include
#include
#include
#include
#include
#include
#include
+const std::string QmitkPointSetInteractionView::VIEW_ID = "org.mitk.views.pointsetinteraction";
+
QmitkPointSetInteractionView::QmitkPointSetInteractionView( QObject* /*parent*/ )
: m_Controls(0)
{
}
QmitkPointSetInteractionView::~QmitkPointSetInteractionView()
{
}
void QmitkPointSetInteractionView::CreateQtPartControl( QWidget *parent )
{
m_Controls = new Ui::QmitkPointSetInteractionControls;
m_Controls->setupUi(parent);
m_Controls->m_PbAddPointSet->connect( m_Controls->m_PbAddPointSet, SIGNAL( clicked() )
, this, SLOT( OnAddPointSetClicked() ) );
}
void QmitkPointSetInteractionView::SetFocus()
{
m_Controls->m_PbAddPointSet->setFocus();
}
-void QmitkPointSetInteractionView::Activated()
-{
- // emulate datamanager selection
- berry::IWorkbenchPart::Pointer nullPart;
- QList selection = this->GetDataManagerSelection();
- this->OnSelectionChanged(nullPart, selection);
-}
-
-void QmitkPointSetInteractionView::Deactivated()
-{
- // emulate empty selection
- berry::IWorkbenchPart::Pointer nullPart;
- QList selection;
- this->OnSelectionChanged(nullPart, selection);
- m_Controls->m_PointListWidget->DeactivateInteractor(true);
-}
-
-void QmitkPointSetInteractionView::Visible()
-{
-}
-
-void QmitkPointSetInteractionView::Hidden()
-{
-}
-
void QmitkPointSetInteractionView::OnAddPointSetClicked()
{
//Ask for the name of the point set
bool ok = false;
QString name = QInputDialog::getText( QApplication::activeWindow()
, tr("Add point set..."), tr("Enter name for the new point set"), QLineEdit::Normal, tr("PointSet"), &ok );
if ( ! ok || name.isEmpty() )
return;
//
//Create a new empty pointset
//
mitk::PointSet::Pointer pointSet = mitk::PointSet::New();
//
// Create a new data tree node
//
mitk::DataNode::Pointer pointSetNode = mitk::DataNode::New();
//
// fill the data tree node with the appropriate information
//
pointSetNode->SetData( pointSet );
pointSetNode->SetProperty( "name", mitk::StringProperty::New( name.toStdString() ) );
pointSetNode->SetProperty( "opacity", mitk::FloatProperty::New( 1 ) );
pointSetNode->SetColor( 1.0, 1.0, 0.0 );
//
// add the node to the ds
//
this->GetDataStorage()->Add(pointSetNode);
// make new selection and emulate selection for this
berry::IWorkbenchPart::Pointer nullPart;
QList selection;
selection.push_back(pointSetNode);
- this->FireNodesSelected(selection);
this->OnSelectionChanged(nullPart, selection);
}
-void QmitkPointSetInteractionView::OnSelectionChanged(berry::IWorkbenchPart::Pointer /*part*/, const QList& nodes)
+void QmitkPointSetInteractionView::OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList& nodes)
{
- mitk::DataNode* selectedNode = 0;
- if(nodes.size() > 0)
+ mitk::DataNode::Pointer selectedNode;
+
+ if(!nodes.empty())
selectedNode = nodes.front();
- mitk::PointSet* pointSet = 0;
- if(selectedNode)
- pointSet = dynamic_cast ( selectedNode->GetData() );
+ mitk::PointSet::Pointer pointSet;
- if (pointSet)
+ if(selectedNode.IsNotNull())
+ pointSet = dynamic_cast(selectedNode->GetData());
+
+ if (pointSet.IsNotNull())
{
m_SelectedPointSetNode = selectedNode;
m_Controls->m_CurrentPointSetLabel->setText(QString::fromStdString(selectedNode->GetName()));
m_Controls->m_PointListWidget->SetPointSetNode(selectedNode);
}
else
{
m_Controls->m_CurrentPointSetLabel->setText(tr("None"));
m_Controls->m_PointListWidget->SetPointSetNode(nullptr);
- QList emptyList;
- emptyList.push_back(nullptr);
- this->FireNodesSelected( emptyList );
}
-
}
void QmitkPointSetInteractionView::NodeChanged( const mitk::DataNode* node )
{
if(node == m_SelectedPointSetNode && m_Controls->m_CurrentPointSetLabel->text().toStdString() != node->GetName())
{
m_Controls->m_CurrentPointSetLabel->setText(QString::fromStdString(node->GetName()));
}
}
void QmitkPointSetInteractionView::RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart)
{
if(m_Controls)
{
m_Controls->m_PointListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("axial")->GetSliceNavigationController());
m_Controls->m_PointListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("sagittal")->GetSliceNavigationController());
m_Controls->m_PointListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("coronal")->GetSliceNavigationController());
}
}
void QmitkPointSetInteractionView::RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart)
{
if(m_Controls)
{
m_Controls->m_PointListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("axial")->GetSliceNavigationController());
m_Controls->m_PointListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("sagittal")->GetSliceNavigationController());
m_Controls->m_PointListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("coronal")->GetSliceNavigationController());
}
}
diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h
index c2ab26aa8a..e6b0fc143d 100755
--- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h
+++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h
@@ -1,65 +1,63 @@
/*===================================================================
The Medical Imaging Interaction Toolkit (MITK)
Copyright (c) German Cancer Research Center,
Division of Medical and Biological Informatics.
All rights reserved.
This software is distributed WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE.
See LICENSE.txt or http://www.mitk.org for details.
===================================================================*/
#if !defined(QmitkPointSetInteraction_H__INCLUDED)
#define QmitkPointSetInteraction_H__INCLUDED
#include
#include
#include
#include
#include
#include
namespace Ui
{
class QmitkPointSetInteractionControls;
};
/*!
\brief QmitkPointSetInteractionView
*/
-class QmitkPointSetInteractionView : public QmitkAbstractView, public mitk::ILifecycleAwarePart, public mitk::IRenderWindowPartListener
+class QmitkPointSetInteractionView : public QmitkAbstractView, public mitk::IRenderWindowPartListener
{
Q_OBJECT
public:
+ static const std::string VIEW_ID;
+
QmitkPointSetInteractionView(QObject *parent=0);
virtual ~QmitkPointSetInteractionView();
virtual void CreateQtPartControl(QWidget *parent) override;
///
/// Sets the focus to an internal widget.
///
virtual void SetFocus() override;
virtual void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList& nodes) override;
- void Activated() override;
- void Deactivated() override;
- void Visible() override;
- void Hidden() override;
- void NodeChanged(const mitk::DataNode* node) override;
+ virtual void NodeChanged(const mitk::DataNode* node) override;
virtual void RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart) override;
virtual void RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart) override;
protected slots:
void OnAddPointSetClicked();
protected:
Ui::QmitkPointSetInteractionControls * m_Controls;
mitk::WeakPointer m_SelectedPointSetNode;
};
#endif // !defined(QmitkPointSetInteraction_H__INCLUDED)