-/* TODO
- #include <vtkInteractorStyleImage.h>
- #include <vtkLineWidget2.h>
- #include <vtkLineRepresentation.h>
- #include <vtkPlane.h>
- class vtkImageData;
-*/
+#include <cpPlugins/Extensions/cpPlugins_Extensions_Export.h>
+
+// -------------------------------------------------------------------------
+#define cpPlugins_ImageInteractorStyle_ObserverMacro( e ) \
+ inline unsigned long Add##e##Observer( vtkCommand* observer ) \
+ { return( this->AddObserver( Self::e##Event, observer ) ); } \
+ inline void Remove##e##Observer( unsigned long tag ) \
+ { this->RemoveObserver( tag ); } \
+ inline void Remove##e##Observer( vtkCommand* observer ) \
+ { this->RemoveObserver( observer ); } \
+ inline void Remove##e##Observers( ) \
+ { this->RemoveObservers( Self::e##Event ); }