diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/files.cmake b/Plugins/org.mitk.gui.qt.pointsetinteraction/files.cmake index 10c9760fe6..0255405a6f 100644 --- a/Plugins/org.mitk.gui.qt.pointsetinteraction/files.cmake +++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/files.cmake @@ -1,35 +1,31 @@ -set(SRC_CPP_FILES - -) - set(INTERNAL_CPP_FILES QmitkPointSetInteractionView.cpp mitkPluginActivator.cpp ) set(UI_FILES src/internal/QmitkPointSetInteractionViewControls.ui ) set(MOC_H_FILES src/internal/mitkPluginActivator.h src/internal/QmitkPointSetInteractionView.h ) set(CACHED_RESOURCE_FILES resources/pointset_interaction.svg plugin.xml ) set(QRC_FILES resources/QmitkPointSetInteractionView.qrc ) foreach(file ${SRC_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/${file}) endforeach(file ${SRC_CPP_FILES}) foreach(file ${INTERNAL_CPP_FILES}) set(CPP_FILES ${CPP_FILES} src/internal/${file}) endforeach(file ${INTERNAL_CPP_FILES}) diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cmake b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cmake deleted file mode 100755 index 3734c47189..0000000000 --- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# QmitkPointSetInteractionView - -message(STATUS "processing QmitkPointSetInteractionView.cmake") -message(STATUS "APPMOD_CPP before: ${APPMOD_CPP}") - -set( APPMOD_H ${APPMOD_H} QmitkPointSetInteractionView.h ) -set( APPMOD_MOC_H ${APPMOD_MOC_H} QmitkPointSetInteractionView.h ) -set( APPMOD_CPP ${APPMOD_CPP} QmitkPointSetInteractionView.cpp ) -set(APPMOD_FORMS ${APPMOD_FORMS} QmitkPointSetInteractionControls.ui) -message(STATUS "APPMOD_CPP after: ${APPMOD_CPP}") - 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 1c1d18734f..d71ae26799 100755 --- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp +++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.cpp @@ -1,147 +1,138 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ -// Qmitk related includes #include "QmitkPointSetInteractionView.h" -#include "ui_QmitkPointSetInteractionViewControls.h" #include #include #include #include #include #include #include #include #include const std::string QmitkPointSetInteractionView::VIEW_ID = "org.mitk.views.pointsetinteraction"; - -QmitkPointSetInteractionView::QmitkPointSetInteractionView( QObject* /*parent*/ ) -: m_Controls(nullptr) +QmitkPointSetInteractionView::QmitkPointSetInteractionView() + : m_Controls(nullptr) { } QmitkPointSetInteractionView::~QmitkPointSetInteractionView() { } -void QmitkPointSetInteractionView::CreateQtPartControl( QWidget *parent ) +void QmitkPointSetInteractionView::CreateQtPartControl(QWidget *parent) { - m_Controls = new Ui::QmitkPointSetInteractionControls; + m_Controls = new Ui::QmitkPointSetInteractionViewControls; m_Controls->setupUi(parent); - m_Controls->m_PbAddPointSet->connect( m_Controls->m_PbAddPointSet, SIGNAL( clicked() ) - , this, SLOT( OnAddPointSetClicked() ) ); - if (mitk::IRenderWindowPart *renderWindowPart = GetRenderWindowPart()) + connect(m_Controls->addPointSetPushButton, &QPushButton::clicked, + this, &QmitkPointSetInteractionView::OnAddPointSetClicked); + + if (mitk::IRenderWindowPart* renderWindowPart = GetRenderWindowPart()) { - // let the point set widget know about the render window part (crosshair updates) RenderWindowPartActivated(renderWindowPart); } } void QmitkPointSetInteractionView::SetFocus() { - m_Controls->m_PbAddPointSet->setFocus(); -} - -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->OnSelectionChanged(nullPart, selection); + m_Controls->addPointSetPushButton->setFocus(); } void QmitkPointSetInteractionView::OnSelectionChanged(berry::IWorkbenchPart::Pointer, const QList& nodes) { mitk::DataNode::Pointer selectedNode; - if(!nodes.empty()) + if (!nodes.empty()) + { selectedNode = nodes.front(); + } mitk::PointSet::Pointer pointSet; - if(selectedNode.IsNotNull()) + 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); + m_Controls->currentPointSetLabel->setText(QString::fromStdString(selectedNode->GetName())); + m_Controls->poinSetListWidget->SetPointSetNode(selectedNode); } else { - m_Controls->m_CurrentPointSetLabel->setText(tr("None")); - m_Controls->m_PointListWidget->SetPointSetNode(nullptr); + m_Controls->currentPointSetLabel->setText(tr("None")); + m_Controls->poinSetListWidget->SetPointSetNode(nullptr); } } -void QmitkPointSetInteractionView::NodeChanged( const mitk::DataNode* node ) +void QmitkPointSetInteractionView::NodeChanged(const mitk::DataNode* node) { - if(node == m_SelectedPointSetNode && m_Controls->m_CurrentPointSetLabel->text().toStdString() != node->GetName()) + if (node == m_SelectedPointSetNode && m_Controls->currentPointSetLabel->text().toStdString() != node->GetName()) { - m_Controls->m_CurrentPointSetLabel->setText(QString::fromStdString(node->GetName())); + m_Controls->currentPointSetLabel->setText(QString::fromStdString(node->GetName())); } } void QmitkPointSetInteractionView::RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart) { - if(m_Controls) + if (nullptr != 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()); + m_Controls->poinSetListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("axial")->GetSliceNavigationController()); + m_Controls->poinSetListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("sagittal")->GetSliceNavigationController()); + m_Controls->poinSetListWidget->AddSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("coronal")->GetSliceNavigationController()); } } void QmitkPointSetInteractionView::RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart) { - if(m_Controls) + if (nullptr != m_Controls) + { + m_Controls->poinSetListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("axial")->GetSliceNavigationController()); + m_Controls->poinSetListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("sagittal")->GetSliceNavigationController()); + m_Controls->poinSetListWidget->RemoveSliceNavigationController(renderWindowPart->GetQmitkRenderWindow("coronal")->GetSliceNavigationController()); + } +} + +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()) { - 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()); + return; } + + mitk::PointSet::Pointer pointSet = mitk::PointSet::New(); + mitk::DataNode::Pointer pointSetNode = mitk::DataNode::New(); + 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); + this->GetDataStorage()->Add(pointSetNode); + + // create a new selection and emulate selection for this + berry::IWorkbenchPart::Pointer nullPart; + QList selection; + selection.push_back(pointSetNode); + this->OnSelectionChanged(nullPart, selection); } 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 2087d208e8..f19f838937 100755 --- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h +++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionView.h @@ -1,59 +1,69 @@ /*============================================================================ The Medical Imaging Interaction Toolkit (MITK) Copyright (c) German Cancer Research Center (DKFZ) All rights reserved. Use of this source code is governed by a 3-clause BSD license that can be found in the LICENSE file. ============================================================================*/ -#if !defined(QmitkPointSetInteraction_H__INCLUDED) -#define QmitkPointSetInteraction_H__INCLUDED +#ifndef QMITKPOINTSETINTERACTIONVIEW_H +#define QMITKPOINTSETINTERACTIONVIEW_H -#include -#include +#include "ui_QmitkPointSetInteractionViewControls.h" + +// mitk core +#include +#include + +// org mitk gui common plugin #include #include -#include -#include -namespace Ui -{ -class QmitkPointSetInteractionControls; -}; +// org mitk gui qt common plugin +#include -/*! -\brief QmitkPointSetInteractionView +#include + +/** +* @brief +* +* */ class QmitkPointSetInteractionView : public QmitkAbstractView, public mitk::IRenderWindowPartListener { Q_OBJECT public: + static const std::string VIEW_ID; - QmitkPointSetInteractionView(QObject *parent=nullptr); + QmitkPointSetInteractionView(); ~QmitkPointSetInteractionView() override; - - void CreateQtPartControl(QWidget *parent) override; - - /// - /// Sets the focus to an internal widget. - /// void SetFocus() override; void OnSelectionChanged(berry::IWorkbenchPart::Pointer part, const QList& nodes) override; void NodeChanged(const mitk::DataNode* node) override; + void RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart) override; void RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart) override; -protected slots: + +protected Q_SLOT: + void OnAddPointSetClicked(); -protected: - Ui::QmitkPointSetInteractionControls * m_Controls; + +private: + + void CreateQtPartControl(QWidget *parent) override; + + Ui::QmitkPointSetInteractionViewControls* m_Controls; + mitk::WeakPointer m_SelectedPointSetNode; + }; -#endif // !defined(QmitkPointSetInteraction_H__INCLUDED) + +#endif // QMITKPOINTSETINTERACTIONVIEW_H diff --git a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui index 9f398951c2..68ee724c07 100755 --- a/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui +++ b/Plugins/org.mitk.gui.qt.pointsetinteraction/src/internal/QmitkPointSetInteractionViewControls.ui @@ -1,179 +1,77 @@ - QmitkPointSetInteractionControls - + QmitkPointSetInteractionViewControls + 0 0 - 376 - 580 + 300 + 600 0 0 - QmitkPointSetInteractionView + PointSet Interaction - - 6 - - - 9 - - - 9 - - - 9 - - - 9 - - - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - + + + Selected point set: - - + + none - - - - - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - - 0 - 0 - - + + Add new point set 0 0 - - - 50 - false - false - - Current pointset - - 2 - - - 2 - - - 2 - - - 2 - - - 2 - - - - - 0 - 0 - - - + - - - - Qt::Vertical - - - - 20 - 40 - - - - - QmitkPointListWidget QWidget
QmitkPointListWidget.h
- - mitkDataNode.h - mitkPointSet.h -