Program Listing for File vtkMRMLLayerDMObjectEventObserverScripted.h

Return to documentation for file (MRML/vtkMRMLLayerDMObjectEventObserverScripted.h)

#pragma once

// LayerDM includes
#include "vtkMRMLLayerDMObjectEventObserver.h"
#include "vtkSlicerLayerDMModuleMRMLExport.h"

// VTK includes
#include <vtkPython.h>
#include <vtkSmartPyObject.h>

class vtkCallbackCommand;

class VTK_SLICER_LAYERDM_MODULE_MRML_EXPORT vtkMRMLLayerDMObjectEventObserverScripted : public vtkMRMLLayerDMObjectEventObserver
{
public:
  static vtkMRMLLayerDMObjectEventObserverScripted* New();
  vtkTypeMacro(vtkMRMLLayerDMObjectEventObserverScripted, vtkMRMLLayerDMObjectEventObserver);

  void SetPythonCallback(PyObject* object);

  static PyObject* CastCallData(PyObject* object, int vtkType);

protected:
  vtkMRMLLayerDMObjectEventObserverScripted();
  ~vtkMRMLLayerDMObjectEventObserverScripted() override;

private:
  PyObject* m_object;
};