浏览代码

Merge pull request #840 from jcfr/fix-build-failure-with-vtk-and-testing-enabled

Fix build failure with vtk and testing enabled
Jean-Christophe Fillion-Robin 6 年之前
父节点
当前提交
11ec41b432

+ 8 - 1
CMake/ctkMacroSimpleTestWithData.cmake

@@ -18,6 +18,9 @@
 #!
 #! The macro also associates a label to the test based on the current value of KIT.
 #!
+#! By default, the name of the test to execute is expected to match <testname>, setting
+#! variable <testname>_TEST allows to change that.
+#!
 #! The following parameter will be passed to the test:
 #! <ul>
 #!   <li>-D <CTKData_DIR>/Data</li>
@@ -45,8 +48,12 @@ macro(SIMPLE_TEST_WITH_DATA testname baseline_relative_location)
   if(NOT EXISTS "${CTKData_DIR}/Baseline/${baseline_relative_location}")
     message(FATAL_ERROR "error: <CTKData_DIR>/Baseline/<baseline_relative_location> corresponds to an non-existing file or directory. [<CTKData_DIR>/Baseline/<baseline_relative_location>: ${CTKData_DIR}/Baseline/${baseline_relative_location}]")
   endif()
+
+  if(NOT DEFINED ${testname}_TEST)
+    set(${testname}_TEST ${testname})
+  endif()
   
-  add_test(NAME ${testname} COMMAND $<TARGET_FILE:${KIT}CppTests> ${testname}
+  add_test(NAME ${testname} COMMAND $<TARGET_FILE:${KIT}CppTests> ${${testname}_TEST}
             -D "${CTKData_DIR}/Data"
             -V "${CTKData_DIR}/Baseline/${baseline_relative_location}"
             -T "${PROJECT_BINARY_DIR}/Testing/Temporary"

+ 1 - 0
Libs/Visualization/VTK/Widgets/Testing/Cpp/CMakeLists.txt

@@ -203,6 +203,7 @@ if(EXISTS "${CTKData_DIR}")
   set(baseline_relative_location Libs/Visualization/VTK/Widgets)
 
   macro(MAGNIFY_WIDGET_TEST TESTNAME TESTTYPE SIZE MAGNIFICATION)
+    set(${TESTNAME}${TESTTYPE}_TEST ${TESTNAME})
     SIMPLE_TEST_WITH_DATA(${TESTNAME}${TESTTYPE} ${baseline_relative_location}
       -T "${TESTTYPE}"
       -S "${SIZE}"

+ 23 - 5
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKAbstractViewTest1.cpp

@@ -36,10 +36,28 @@
 #include <vtkRenderWindow.h>
 #include <vtkCallbackCommand.h>
 
+#ifdef Q_OS_WIN
+#include <windows.h>
+#else
+#include <time.h>
+#endif
+
+void sleep_ms(int ms)
+{
+#ifdef Q_OS_WIN
+  Sleep(ms);
+#else
+  struct timespec nanostep;
+  nanostep.tv_sec = static_cast<time_t>(ms / 1000);
+  nanostep.tv_nsec = ((ms % 1000) * 1000.0 * 1000.0);
+  nanosleep(&nanostep, NULL);
+#endif
+}
+
 unsigned int RenderCount = 0;
 
 //-----------------------------------------------------------------------------
-void onRenderEvent(vtkObject *caller, unsigned long vtkNotUsed(eid), void *clientData, void *vtkNotUsed(callData))
+void onRenderEvent(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eid), void *vtkNotUsed(clientData), void *vtkNotUsed(callData))
 {
   ++RenderCount;
 }
@@ -49,7 +67,7 @@ bool function2(ctkVTKAbstractView* view)
 {
   view->pauseRender();
   view->scheduleRender();
-  Sleep(100);
+  sleep_ms(100);
   view->scheduleRender();
   view->resumeRender();
   if (RenderCount != 0)
@@ -101,11 +119,11 @@ int ctkVTKAbstractViewTest1(int argc, char * argv [] )
   vtkNew<vtkCallbackCommand> renderEventCallback;
   renderEventCallback->SetCallback(onRenderEvent);
   sliceView.renderWindow()->AddObserver(vtkCommand::RenderEvent, renderEventCallback);
-  sliceView.setMaximumUpdateRate(INFINITE);
+  sliceView.setMaximumUpdateRate(VTK_DOUBLE_MAX);
   sliceView.show();
 
   sliceView.scheduleRender();
-  Sleep(100);
+  sleep_ms(100);
   sliceView.scheduleRender();
 
   // We expect that the rendering has been triggered at least once
@@ -114,7 +132,7 @@ int ctkVTKAbstractViewTest1(int argc, char * argv [] )
   bool sliceViewWasPaused = sliceView.pauseRender();
   RenderCount = 0;
   sliceView.scheduleRender();
-  Sleep(100);
+  sleep_ms(100);
   sliceView.scheduleRender();
 
   // We expect that the rendering has not been triggered

+ 3 - 5
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKMagnifyViewEventTranslatorPlayerTest1.cpp

@@ -31,14 +31,12 @@
 #include "ctkCallback.h"
 #include "ctkConfig.h"
 #include "ctkVTKMagnifyView.h"
+#include "ctkVTKOpenGLNativeWidget.h"
 #include "ctkEventTranslatorPlayerWidget.h"
 
 // QtTesting includes
 #include "pqTestUtility.h"
 
-// VTK includes
-#include <QVTKWidget.h>
-
 // STD includes
 #include <cstdlib>
 #include <iostream>
@@ -74,11 +72,11 @@ int ctkVTKMagnifyViewEventTranslatorPlayerTest1(int argc, char * argv [] )
   // Test case 1
   ctkVTKMagnifyView* widget = new ctkVTKMagnifyView();
 
-  QList<QVTKWidget *> allVTKWidgets;
+  QList<ctkVTKOpenGLNativeWidget *> allVTKWidgets;
   int numVTKWidgets = 3;
   for (int i = 0; i < numVTKWidgets; i++)
     {
-    allVTKWidgets.append(new QVTKWidget());
+    allVTKWidgets.append(new ctkVTKOpenGLNativeWidget());
     }
   widget->observe(allVTKWidgets[0]);
 

+ 6 - 8
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKMagnifyViewTest1.cpp

@@ -25,15 +25,13 @@
 
 // CTK includes
 #include "ctkVTKMagnifyView.h"
+#include "ctkVTKOpenGLNativeWidget.h"
 
 // VTK includes
 #if CTK_USE_QVTKOPENGLWIDGET
+#include <QSurfaceFormat>
 #include <QVTKOpenGLWidget.h>
 #include <vtkGenericOpenGLRenderWindow.h>
-typedef QVTKOpenGLWidget QVTKOpenGLWidgetType;
-#else
-#include <QVTKWidget.h>
-typedef QVTKWidget QVTKOpenGLWidgetType;
 #endif
 #include <vtkNew.h>
 #include <vtkRenderer.h>
@@ -114,14 +112,14 @@ int ctkVTKMagnifyViewTest1(int argc, char * argv [] )
 
   // Adding / removing observed QVTKWidgets
   QObject widgetParent;
-  QList<QVTKOpenGLWidgetType* > allVTKWidgets;
-  QList<QSharedPointer<QVTKOpenGLWidgetType> > widgetsToDelete;
+  QList<ctkVTKOpenGLNativeWidget* > allVTKWidgets;
+  QList<QSharedPointer<ctkVTKOpenGLNativeWidget> > widgetsToDelete;
   int numVTKWidgets = 3;
   for (int i = 0; i < numVTKWidgets; i++)
     {
-    QVTKOpenGLWidgetType* widget = new QVTKOpenGLWidgetType();
+    ctkVTKOpenGLNativeWidget* widget = new ctkVTKOpenGLNativeWidget();
     allVTKWidgets.append(widget);
-    widgetsToDelete.append(QSharedPointer<QVTKOpenGLWidgetType>(widget));
+    widgetsToDelete.append(QSharedPointer<ctkVTKOpenGLNativeWidget>(widget));
 
 #if CTK_USE_QVTKOPENGLWIDGET
       vtkSmartPointer<vtkGenericOpenGLRenderWindow> renderWindow =

+ 3 - 3
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKMagnifyViewTest2.cpp

@@ -221,7 +221,7 @@ int ctkVTKMagnifyViewTest2(int argc, char * argv [] )
       magnify->isObserved(allSliceViews[2]->VTKWidget()) ||
       magnify->numberObserved() != 2)
     {
-    std::cerr << "ctkVTKMagnifyView:observe(QVTKWidget*) failed. "
+    std::cerr << "ctkVTKMagnifyView:observe(ctkVTKOpenGLNativeWidget*) failed. "
               << "Number observed = " << magnify->numberObserved() << std::endl;
     return EXIT_FAILURE;
     }
@@ -293,7 +293,7 @@ int ctkVTKMagnifyViewTest2(int argc, char * argv [] )
   parentWidget.hide();
 
   // Make sure the magnify widget magnifies right away when shown with the crosshair inside
-  // an observed QVTKWidget
+  // an observed ctkVTKOpenGLNativeWidget
   QCursor::setPos(insideSlice0);
   parentWidget.show();
   if (!runBaselineTest(time, app, magnify, allSliceViews[0], true,
@@ -305,7 +305,7 @@ int ctkVTKMagnifyViewTest2(int argc, char * argv [] )
   parentWidget.hide();
 
   // Make sure the magnify widget shows blank right away when shown with the crosshair
-  // outside the observed QVTKWidgets
+  // outside the observed ctkVTKOpenGLNativeWidget(s)
   QCursor::setPos(outside);
   parentWidget.show();
   if (!runBaselineTest(time, app, magnify, &parentWidget, false,

+ 3 - 7
Libs/Visualization/VTK/Widgets/Testing/Cpp/ctkVTKWidgetsUtilsTestGrabWidget.cpp

@@ -27,15 +27,11 @@
 #include <QVBoxLayout>
 
 // CTK includes
+#include "ctkVTKOpenGLNativeWidget.h"
 #include "ctkVTKRenderView.h"
 #include "ctkVTKWidgetsUtils.h"
 #include "ctkWidgetsUtils.h"
 
-// VTK includes
-#if CTK_USE_QVTKOPENGLWIDGET
-#include <QVTKOpenGLWidget.h>
-#endif
-
 // STD includes
 #include <cstdlib>
 #include <iostream>
@@ -44,7 +40,7 @@
 int ctkVTKWidgetsUtilsTestGrabWidget(int argc, char * argv [] )
 {
 #if CTK_USE_QVTKOPENGLWIDGET
-    QSurfaceFormat format = QVTKOpenGLWidget::defaultFormat();
+    QSurfaceFormat format = ctkVTKOpenGLNativeWidget::defaultFormat();
     format.setSamples(0);
     QSurfaceFormat::setDefaultFormat(format);
 #endif
@@ -73,7 +69,7 @@ int ctkVTKWidgetsUtilsTestGrabWidget(int argc, char * argv [] )
 
   if (QColor(screenshot.pixel(100, 100)) != QColor(Qt::black))
     {
-    std::cout << "Failed to grab QVTKWidget, pixel at (100,100)="
+    std::cout << "Failed to grab ctkVTKOpenGLNativeWidget, pixel at (100,100)="
               << screenshot.pixel(100, 100) << " " << QColor(Qt::black).rgb() << std::endl;
     return EXIT_FAILURE;
     }

+ 17 - 82
Libs/Visualization/VTK/Widgets/ctkVTKMagnifyView.cpp

@@ -27,14 +27,10 @@
 // CTK includes
 #include "ctkVTKMagnifyView.h"
 #include "ctkVTKMagnifyView_p.h"
+#include "ctkVTKOpenGLNativeWidget.h"
 #include "ctkLogger.h"
 
 // VTK includes
-#if CTK_USE_QVTKOPENGLWIDGET
-#include <QVTKOpenGLWidget.h>
-#else
-#include <QVTKWidget.h>
-#endif
 #include <vtkMath.h>
 #include <vtkRenderWindow.h>
 #include <vtkUnsignedCharArray.h>
@@ -53,11 +49,7 @@ static ctkLogger logger("org.commontk.visualization.vtk.widgets.ctkVTKMagnifyVie
 ctkVTKMagnifyViewPrivate::ctkVTKMagnifyViewPrivate(ctkVTKMagnifyView& object)
   : QObject(&object), q_ptr(&object)
 {
-#if CTK_USE_QVTKOPENGLWIDGET
-  this->ObservedQVTKWidgets = QList<QVTKOpenGLWidget *>();
-#else
-  this->ObservedQVTKWidgets = QList<QVTKWidget *>();
-#endif
+  this->ObservedQVTKWidgets = QList<ctkVTKOpenGLNativeWidget *>();
   this->Magnification = 1.0;
   this->ObserveRenderWindowEvents = true;
 
@@ -177,11 +169,7 @@ void ctkVTKMagnifyViewPrivate::pushRemovePixmapEvent()
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyViewPrivate::connectRenderWindow(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyViewPrivate::connectRenderWindow(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyViewPrivate::connectRenderWindow(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_ASSERT(widget);
   Q_ASSERT(this->ObserveRenderWindowEvents);
@@ -195,11 +183,7 @@ void ctkVTKMagnifyViewPrivate::connectRenderWindow(QVTKWidget * widget)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyViewPrivate::disconnectRenderWindow(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyViewPrivate::disconnectRenderWindow(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyViewPrivate::disconnectRenderWindow(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_ASSERT(widget);
 
@@ -212,11 +196,7 @@ void ctkVTKMagnifyViewPrivate::disconnectRenderWindow(QVTKWidget * widget)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyViewPrivate::observe(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyViewPrivate::observe(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyViewPrivate::observe(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_ASSERT(widget);
 
@@ -235,11 +215,7 @@ void ctkVTKMagnifyViewPrivate::observe(QVTKWidget * widget)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyViewPrivate::remove(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyViewPrivate::remove(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyViewPrivate::remove(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_ASSERT(widget);
 
@@ -514,11 +490,7 @@ void ctkVTKMagnifyView::setObserveRenderWindowEvents(bool newObserve)
   // Connect/disconnect observations on vtkRenderWindow EndEvents, depending
   // on whether we are switching from not-observing to observing or from
   // observing to not-observing
-#if CTK_USE_QVTKOPENGLWIDGET
-  QList<QVTKOpenGLWidget *>::iterator it = d->ObservedQVTKWidgets.begin();
-#else
-  QList<QVTKWidget *>::iterator it = d->ObservedQVTKWidgets.begin();
-#endif
+  QList<ctkVTKOpenGLNativeWidget *>::iterator it = d->ObservedQVTKWidgets.begin();
   while (it != d->ObservedQVTKWidgets.end())
     {
     if (newObserve)
@@ -554,11 +526,7 @@ void ctkVTKMagnifyView::setUpdateInterval(int newInterval)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyView::observe(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyView::observe(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyView::observe(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_D(ctkVTKMagnifyView);
   if (widget)
@@ -568,28 +536,16 @@ void ctkVTKMagnifyView::observe(QVTKWidget * widget)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyView::observe(QList<QVTKOpenGLWidget *> widgets)
-#else
-void ctkVTKMagnifyView::observe(QList<QVTKWidget *> widgets)
-#endif
+void ctkVTKMagnifyView::observe(QList<ctkVTKOpenGLNativeWidget *> widgets)
 {
-#if CTK_USE_QVTKOPENGLWIDGET
-  foreach(QVTKOpenGLWidget * widget, widgets)
-#else
-  foreach(QVTKWidget * widget, widgets)
-#endif
+  foreach(ctkVTKOpenGLNativeWidget * widget, widgets)
     {
     this->observe(widget);
     }
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-bool ctkVTKMagnifyView::isObserved(QVTKOpenGLWidget * widget) const
-#else
-bool ctkVTKMagnifyView::isObserved(QVTKWidget * widget) const
-#endif
+bool ctkVTKMagnifyView::isObserved(ctkVTKOpenGLNativeWidget * widget) const
 {
   if (!widget)
     {
@@ -612,11 +568,7 @@ bool ctkVTKMagnifyView::hasCursorInObservedWidget()const
   Q_D(const ctkVTKMagnifyView);
   // checking underMouse is faster than 
   // QApplication::widgetAt(QCursor::pos())
-#if CTK_USE_QVTKOPENGLWIDGET
-  foreach(const QVTKOpenGLWidget* widget, d->ObservedQVTKWidgets)
-#else
-  foreach(const QVTKWidget* widget, d->ObservedQVTKWidgets)
-#endif
+  foreach(const ctkVTKOpenGLNativeWidget* widget, d->ObservedQVTKWidgets)
     {
     if (widget->underMouse())
       {
@@ -627,11 +579,7 @@ bool ctkVTKMagnifyView::hasCursorInObservedWidget()const
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyView::remove(QVTKOpenGLWidget * widget)
-#else
-void ctkVTKMagnifyView::remove(QVTKWidget * widget)
-#endif
+void ctkVTKMagnifyView::remove(ctkVTKOpenGLNativeWidget * widget)
 {
   Q_D(ctkVTKMagnifyView);
   if (widget)
@@ -641,17 +589,9 @@ void ctkVTKMagnifyView::remove(QVTKWidget * widget)
 }
 
 // --------------------------------------------------------------------------
-#if CTK_USE_QVTKOPENGLWIDGET
-void ctkVTKMagnifyView::remove(QList<QVTKOpenGLWidget *> widgets)
-#else
-void ctkVTKMagnifyView::remove(QList<QVTKWidget *> widgets)
-#endif
+void ctkVTKMagnifyView::remove(QList<ctkVTKOpenGLNativeWidget *> widgets)
 {
-#if CTK_USE_QVTKOPENGLWIDGET
-  foreach(QVTKOpenGLWidget * widget, widgets)
-#else
-  foreach(QVTKWidget * widget, widgets)
-#endif
+  foreach(ctkVTKOpenGLNativeWidget * widget, widgets)
     {
     this->remove(widget);
     }
@@ -660,13 +600,8 @@ void ctkVTKMagnifyView::remove(QList<QVTKWidget *> widgets)
 // --------------------------------------------------------------------------
 bool ctkVTKMagnifyView::eventFilter(QObject * obj, QEvent * event)
 {
-#if CTK_USE_QVTKOPENGLWIDGET
-  // The given object should be a QVTKWidget in our list
-  QVTKOpenGLWidget * widget = static_cast<QVTKOpenGLWidget *>(obj);
-#else
-  // The given object should be a QVTKWidget in our list
-  QVTKWidget * widget = static_cast<QVTKWidget *>(obj);
-#endif
+  // The given object should be a ctkVTKOpenGLNativeWidget in our list
+  ctkVTKOpenGLNativeWidget * widget = static_cast<ctkVTKOpenGLNativeWidget *>(obj);
   Q_ASSERT(widget);
   Q_D(ctkVTKMagnifyView);
   Q_ASSERT(d->ObservedQVTKWidgets.contains(widget));

+ 8 - 40
Libs/Visualization/VTK/Widgets/ctkVTKMagnifyView.h

@@ -27,15 +27,8 @@
 // CTK includes
 #include "ctkCrosshairLabel.h"
 #include "ctkVisualizationVTKWidgetsExport.h"
-
-// VTK includes
-#if CTK_USE_QVTKOPENGLWIDGET
-class QVTKOpenGLWidget;
-#else
-class QVTKWidget;
-#endif
-
 class ctkVTKMagnifyViewPrivate;
+class ctkVTKOpenGLNativeWidget;
 
 /// \ingroup Visualization_VTK_Widgets
 /// Gives a magnified view of a QVTKWidget around the mouse position, with
@@ -79,45 +72,25 @@ public:
   /// Add a QVTKWidget to observe mouse events on.  You can call this function
   /// multiple times to observe multiple QVTKWidgets.
   /// \sa observe
-#if CTK_USE_QVTKOPENGLWIDGET
-  void observe(QVTKOpenGLWidget * widget);
-#else
-  void observe(QVTKWidget * widget);
-#endif
+  void observe(ctkVTKOpenGLNativeWidget * widget);
 
   /// Add multiple QVTKWidgets at once to observe mouse events on.  You can
   /// call this function multiple times to observe multiple QVTKWidgets.
   /// \sa observe
-#if CTK_USE_QVTKOPENGLWIDGET
-  void observe(QList<QVTKOpenGLWidget *> widgets);
-#else
-  void observe(QList<QVTKWidget *> widgets);
-#endif
+  void observe(QList<ctkVTKOpenGLNativeWidget *> widgets);
 
   /// Remove a QVTKWidget to observe mouse events on.  You can call this
   /// function multiple times to remove multiple QVTKWidgets.
   /// \sa remove
-#if CTK_USE_QVTKOPENGLWIDGET
-  void remove(QVTKOpenGLWidget * widget);
-#else
-  void remove(QVTKWidget * widget);
-#endif
+  void remove(ctkVTKOpenGLNativeWidget * widget);
 
   /// Remove multiple QVTKWidgets at once to observe mouse events on.  You can
   /// call this function multiple times to remove multiple QVTKWidgets.
   /// \sa unobserve
-#if CTK_USE_QVTKOPENGLWIDGET
-  void remove(QList<QVTKOpenGLWidget *> widgets);
-#else
-  void remove(QList<QVTKWidget *> widgets);
-#endif
+  void remove(QList<ctkVTKOpenGLNativeWidget *> widgets);
 
   /// Returns whether a QVTKWidget is observed
-#if CTK_USE_QVTKOPENGLWIDGET
-  bool isObserved(QVTKOpenGLWidget * widget) const;
-#else
-  bool isObserved(QVTKWidget * widget) const;
-#endif
+  bool isObserved(ctkVTKOpenGLNativeWidget * widget) const;
 
   /// Returns the number of observed QVTKWidgets
   int numberObserved()const;
@@ -133,13 +106,8 @@ protected:
   virtual bool eventFilter(QObject *obj, QEvent *event);
 
 Q_SIGNALS:
-#if CTK_USE_QVTKOPENGLWIDGET
-  void enteredObservedWidget(QVTKOpenGLWidget * widget);
-  void leftObservedWidget(QVTKOpenGLWidget * widget);
-#else
-  void enteredObservedWidget(QVTKWidget * widget);
-  void leftObservedWidget(QVTKWidget * widget);
-#endif
+  void enteredObservedWidget(ctkVTKOpenGLNativeWidget * widget);
+  void leftObservedWidget(ctkVTKOpenGLNativeWidget * widget);
 
 private:
   Q_DECLARE_PRIVATE(ctkVTKMagnifyView)

+ 8 - 21
Libs/Visualization/VTK/Widgets/ctkVTKMagnifyView_p.h

@@ -29,6 +29,7 @@ class QTimerEvent;
 // CTK includes
 #include "ctkVTKMagnifyView.h"
 #include <ctkVTKObject.h>
+#include "ctkVTKOpenGLNativeWidget.h"
 
 /// \ingroup Visualization_VTK_Widgets
 class ctkVTKMagnifyViewPrivate : public QObject
@@ -43,17 +44,11 @@ public:
   virtual ~ctkVTKMagnifyViewPrivate();
 
   void init();
-#if CTK_USE_QVTKOPENGLWIDGET
-  void observe(QVTKOpenGLWidget * widget);
-  void remove(QVTKOpenGLWidget * widget);
-  void connectRenderWindow(QVTKOpenGLWidget * widget);
-  void disconnectRenderWindow(QVTKOpenGLWidget * widget);
-#else
-  void observe(QVTKWidget * widget);
-  void remove(QVTKWidget * widget);
-  void connectRenderWindow(QVTKWidget * widget);
-  void disconnectRenderWindow(QVTKWidget * widget);
-#endif
+
+  void observe(ctkVTKOpenGLNativeWidget * widget);
+  void remove(ctkVTKOpenGLNativeWidget * widget);
+  void connectRenderWindow(ctkVTKOpenGLNativeWidget * widget);
+  void disconnectRenderWindow(ctkVTKOpenGLNativeWidget * widget);
 
 protected:
   void updatePixmap();
@@ -71,11 +66,7 @@ protected:
   struct EventHandlerStruct
     {
     PendingEventType EventType;
-#if CTK_USE_QVTKOPENGLWIDGET
-    QPointer<QVTKOpenGLWidget> Widget;
-#else
-    QPointer<QVTKWidget> Widget;
-#endif
+    QPointer<ctkVTKOpenGLNativeWidget> Widget;
     QPointF Position;
     int UpdateInterval;
     int TimerId;
@@ -87,11 +78,7 @@ public Q_SLOTS:
   void pushRemovePixmapEvent();
 
 public:
-#if CTK_USE_QVTKOPENGLWIDGET
-  QList<QVTKOpenGLWidget *> ObservedQVTKWidgets;
-#else
-  QList<QVTKWidget *> ObservedQVTKWidgets;
-#endif
+  QList<ctkVTKOpenGLNativeWidget *> ObservedQVTKWidgets;
   double Magnification;
   bool ObserveRenderWindowEvents;
   EventHandlerStruct EventHandler;