1 #ifndef __CPPLUGINS__BASEWIDGET__H__
2 #define __CPPLUGINS__BASEWIDGET__H__
4 #include <cpPlugins/Config.h>
6 #include <cpPlugins/ProcessObject.h>
8 // Some forward declarations
9 class vtkRenderWindowInteractor;
10 namespace cpExtensions
14 class SimpleMPRWidget;
22 class cpPlugins_EXPORT BaseWidget
23 : public ProcessObject
26 typedef BaseWidget Self;
27 typedef ProcessObject Superclass;
28 typedef itk::SmartPointer< Self > Pointer;
29 typedef itk::SmartPointer< const Self > ConstPointer;
31 typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget;
34 itkTypeMacro( BaseWidget, ProcessObject );
35 cpPlugins_Id_Macro( Widgets::BaseWidget, Widgets );
38 virtual itk::ModifiedTimeType GetMTime( ) const ITK_OVERRIDE;
40 const TMPRWidget* GetMPRViewer( ) const;
41 const vtkRenderWindowInteractor* GetSingleInteractor( ) const;
43 void SetMPRViewer( TMPRWidget* v );
44 void SetSingleInteractor( vtkRenderWindowInteractor* i );
46 virtual bool IsInteractive( ) ITK_OVERRIDE;
47 virtual void SetInteractionObjects(
48 const std::vector< void* >& objs
53 virtual ~BaseWidget( );
56 // Purposely not implemented
57 BaseWidget( const Self& );
58 Self& operator=( const Self& );
61 TMPRWidget* m_MPRViewer;
62 vtkRenderWindowInteractor* m_SingleInteractor;
67 #endif // __CPPLUGINS__BASEWIDGET__H__