Browse Source

Merge pull request #533 from jcfr/update-ctkVTKHistogram-python-wrapping

Improve ctkVTKHistogram metaobject for better pythonqt wrapping
Jean-Christophe Fillion-Robin 10 years ago
parent
commit
6e246f34b0

+ 7 - 0
Libs/Visualization/VTK/Widgets/ctkVTKHistogram.cpp

@@ -232,6 +232,13 @@ int ctkVTKHistogram::component()const
 }
 
 //-----------------------------------------------------------------------------
+int ctkVTKHistogram::numberOfBins()const
+{
+  Q_D(const ctkVTKHistogram);
+  return d->UserNumberOfBins;
+}
+
+//-----------------------------------------------------------------------------
 void ctkVTKHistogram::setNumberOfBins(int number)
 {
   Q_D(ctkVTKHistogram);

+ 7 - 2
Libs/Visualization/VTK/Widgets/ctkVTKHistogram.h

@@ -38,6 +38,10 @@ class CTK_VISUALIZATION_VTK_WIDGETS_EXPORT ctkVTKHistogram: public ctkHistogram
 {
   Q_OBJECT;
   QVTK_OBJECT;
+  Q_PROPERTY(int component READ component WRITE setComponent)
+  Q_PROPERTY(QVariant maxValue READ maxValue)
+  Q_PROPERTY(QVariant minValue READ minValue)
+  Q_PROPERTY(int numberOfBins READ numberOfBins WRITE setNumberOfBins)
 public:
   ctkVTKHistogram(QObject* parent = 0);
   ctkVTKHistogram(vtkDataArray* dataArray, QObject* parent = 0);
@@ -53,12 +57,13 @@ public:
   virtual QVariant minValue()const;
   virtual QVariant maxValue()const;
 
-  void setDataArray(vtkDataArray* dataArray);
-  vtkDataArray* dataArray()const;
+  Q_INVOKABLE void setDataArray(vtkDataArray* dataArray);
+  Q_INVOKABLE vtkDataArray* dataArray()const;
 
   void setComponent(int component);
   int component()const;
 
+  int numberOfBins()const;
   void setNumberOfBins(int number);
 
   virtual void removeControlPoint( qreal pos );

+ 69 - 0
Libs/Widgets/ctkWidgetsPythonQtDecorators.h

@@ -26,6 +26,9 @@
 
 // CTK includes
 #include <ctkErrorLogModel.h>
+#include <ctkTransferFunctionBarsItem.h>
+#include <ctkTransferFunctionControlPointsItem.h>
+#include <ctkTransferFunctionGradientItem.h>
 #include <ctkWorkflowWidgetStep.h>
 
 // NOTE:
@@ -49,6 +52,8 @@ public:
 
 public Q_SLOTS:
 
+  // ctkWorkflowWidgetStep
+
   bool hasCreateUserInterfaceCommand(ctkWorkflowWidgetStep* step)const
     {
     return step->hasCreateUserInterfaceCommand();
@@ -77,6 +82,66 @@ public Q_SLOTS:
     {
     return ctkErrorLogLevel::logLevelAsString(logLevel);
     }
+
+  // ctkTransferFunctionBarsItem
+
+  ctkTransferFunctionBarsItem* new_ctkTransferFunctionBarsItem(QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionBarsItem(parent);
+    }
+
+  ctkTransferFunctionBarsItem* new_ctkTransferFunctionBarsItem(
+      ctkTransferFunction* transferFunc,
+      QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionBarsItem(transferFunc, parent);
+    }
+
+  void delete_ctkTransferFunctionBarsItem(ctkTransferFunctionBarsItem* obj)
+    {
+    delete obj;
+    }
+
+  // ctkTransferFunctionControlPointsItem
+
+  ctkTransferFunctionControlPointsItem* new_ctkTransferFunctionControlPointsItem(
+      QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionControlPointsItem(parent);
+    }
+
+  ctkTransferFunctionControlPointsItem* new_ctkTransferFunctionControlPointsItem(
+      ctkTransferFunction* transferFunc,
+      QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionControlPointsItem(transferFunc, parent);
+    }
+
+  void delete_ctkTransferFunctionControlPointsItem(ctkTransferFunctionControlPointsItem* obj)
+    {
+    delete obj;
+    }
+
+  // ctkTransferFunctionGradientItem
+
+  ctkTransferFunctionGradientItem* new_ctkTransferFunctionGradientItem(
+      QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionGradientItem(parent);
+    }
+
+  ctkTransferFunctionGradientItem* new_ctkTransferFunctionGradientItem(
+      ctkTransferFunction* transferFunc,
+      QGraphicsItem* parent = 0)
+    {
+    return new ctkTransferFunctionGradientItem(transferFunc, parent);
+    }
+
+  void delete_ctkTransferFunctionGradientItem(ctkTransferFunctionGradientItem* obj)
+    {
+    delete obj;
+    }
+
 };
 
 //-----------------------------------------------------------------------------
@@ -88,6 +153,10 @@ void initCTKWidgetsPythonQtDecorators()
   //       so that the log level QFlags are exposed to python.
   PythonQt::self()->registerClass(&ctkErrorLogLevel::staticMetaObject, "CTKCore");
 
+  PythonQt::self()->registerClass(&ctkTransferFunctionBarsItem::staticMetaObject, "CTKWidgets");
+  PythonQt::self()->registerClass(&ctkTransferFunctionControlPointsItem::staticMetaObject, "CTKWidgets");
+  PythonQt::self()->registerClass(&ctkTransferFunctionGradientItem::staticMetaObject, "CTKWidgets");
+
   PythonQt::self()->addDecorators(new ctkWidgetsPythonQtDecorators);
 }