diff --git a/Modules/QtWidgetsExt/QmitkSelectableGLWidget.cpp b/Modules/QtWidgetsExt/QmitkSelectableGLWidget.cpp index 04b9915e69..7de0233445 100644 --- a/Modules/QtWidgetsExt/QmitkSelectableGLWidget.cpp +++ b/Modules/QtWidgetsExt/QmitkSelectableGLWidget.cpp @@ -1,106 +1,112 @@ /*=================================================================== 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. ===================================================================*/ #include "QmitkSelectableGLWidget.h" #include "QmitkRenderWindow.h" #include QmitkSelectableGLWidget::QmitkSelectableGLWidget(QWidget* parent) - : QWidget(parent) + : QWidget(parent), + m_Ui(new Ui::QmitkSelectableGLWidget) { - setupUi(this); + m_Ui->setupUi(this); QLayout *hlayout; - hlayout=layout(); + hlayout=m_Ui->hboxLayout; hlayout->setMargin(3); QString rendererName("Renderer::"); rendererName += objectName(); // create Renderer m_Renderer= mitk::VtkPropRenderer::New( qPrintable(rendererName), NULL, mitk::RenderingManager::GetInstance(),mitk::BaseRenderer::RenderingMode::Standard ); // create widget QString composedName("QSGLWt::"); if(!objectName().isEmpty()) composedName+=objectName(); else composedName+="QmitkGLWidget"; /* * here is the place to define QT-Flags to enable and disable certain OpenGL elements, like StencilBuffer, RGBA and so on. * See QGLFormat for futher informations * QGL::AlphaChannel: Enable Alpha in Framebuffer * QGL::Rgba enable use of rgba rather than color_index * QGL::StencilBuffer for use of stencilbuffer in OpenGL */ m_RenderWindow = new QmitkRenderWindow(this, composedName,m_Renderer); hlayout->addWidget(m_RenderWindow); } +QmitkSelectableGLWidget::~QmitkSelectableGLWidget() +{ + delete m_Ui; +} + mitk::VtkPropRenderer* QmitkSelectableGLWidget::GetRenderer() { return m_Renderer.GetPointer(); } QmitkRenderWindow* QmitkSelectableGLWidget::GetRenderWindow() const { return m_RenderWindow; } void QmitkSelectableGLWidget::wheelEvent( QWheelEvent * e ) { if ( m_RenderWindow->GetSliceNavigationController()->GetSliceLocked() ) return; mitk::Stepper* stepper = m_RenderWindow ->GetSliceNavigationController()->GetSlice(); if (stepper->GetSteps() <= 1) { stepper = m_RenderWindow->GetSliceNavigationController()->GetTime(); } if (e->orientation() * e->delta() > 0) { stepper->Next(); } else { stepper->Previous(); } } mitk::SliceNavigationController* QmitkSelectableGLWidget ::GetSliceNavigationController() const { return m_RenderWindow->GetSliceNavigationController(); } mitk::CameraRotationController* QmitkSelectableGLWidget ::GetCameraRotationController() const { return m_RenderWindow->GetCameraRotationController(); } mitk::BaseController* QmitkSelectableGLWidget ::GetController() const { return m_RenderWindow->GetController(); } diff --git a/Modules/QtWidgetsExt/QmitkSelectableGLWidget.h b/Modules/QtWidgetsExt/QmitkSelectableGLWidget.h index 35e8a9059a..0cf9a38586 100644 --- a/Modules/QtWidgetsExt/QmitkSelectableGLWidget.h +++ b/Modules/QtWidgetsExt/QmitkSelectableGLWidget.h @@ -1,49 +1,54 @@ /*=================================================================== 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. ===================================================================*/ #ifndef QMITKSELECTABLEGLWIDGET_H #define QMITKSELECTABLEGLWIDGET_H #include "ui_QmitkSelectableGLWidget.h" #include "mitkCameraRotationController.h" #include "mitkCommon.h" #include "mitkSliceNavigationController.h" #include "mitkVtkPropRenderer.h" #include #include #include class QmitkRenderWindow; -class MitkQtWidgetsExt_EXPORT QmitkSelectableGLWidget : public QWidget, public Ui::QmitkSelectableGLWidget +class MitkQtWidgetsExt_EXPORT QmitkSelectableGLWidget : public QWidget { + Q_OBJECT + public: QmitkSelectableGLWidget(QWidget* parent=0); + ~QmitkSelectableGLWidget(); mitk::VtkPropRenderer* GetRenderer(); QmitkRenderWindow* GetRenderWindow() const; mitk::SliceNavigationController* GetSliceNavigationController() const; mitk::CameraRotationController* GetCameraRotationController() const; mitk::BaseController* GetController() const; protected: void wheelEvent( QWheelEvent * e ); QmitkRenderWindow *m_RenderWindow; mitk::VtkPropRenderer::Pointer m_Renderer; + private: + Ui::QmitkSelectableGLWidget* m_Ui; }; #endif