Bläddra i källkod

Allow ctkVTKConnection pimpl to be subclassed

This can be useful for both providing a custom implementation and for testing.
Jean-Christophe Fillion-Robin 11 år sedan
förälder
incheckning
cd40307a35

+ 7 - 0
Libs/Visualization/VTK/Core/ctkVTKConnection.cpp

@@ -206,6 +206,13 @@ ctkVTKConnection::ctkVTKConnection(QObject* _parent):
 {
 }
 
+// --------------------------------------------------------------------------
+ctkVTKConnection::ctkVTKConnection(ctkVTKConnectionPrivate* pimpl, QObject* _parent)
+  : Superclass(_parent)
+  , d_ptr(pimpl)
+{
+}
+
 //-----------------------------------------------------------------------------
 ctkVTKConnection::~ctkVTKConnection()
 {

+ 1 - 0
Libs/Visualization/VTK/Core/ctkVTKConnection.h

@@ -110,6 +110,7 @@ protected Q_SLOTS:
 
 protected:
   QScopedPointer<ctkVTKConnectionPrivate> d_ptr;
+  ctkVTKConnection(ctkVTKConnectionPrivate* pimpl, QObject* _parent);
 
   void disconnect();
   virtual void addObserver(vtkObject* caller, unsigned long vtk_event, vtkCallbackCommand* callback, float priority=0.0f);

+ 3 - 1
Libs/Visualization/VTK/Core/ctkVTKConnection_p.h

@@ -33,9 +33,11 @@ class QObject;
 class vtkObject;
 class vtkCallbackCommand;
 
+#include "ctkVisualizationVTKCoreExport.h"
+
 //-----------------------------------------------------------------------------
 /// \ingroup Visualization_VTK_Core
-class ctkVTKConnectionPrivate
+class CTK_VISUALIZATION_VTK_CORE_EXPORT ctkVTKConnectionPrivate
 {
   Q_DECLARE_PUBLIC(ctkVTKConnection);
 protected: