1 #ifndef __CPPLUGINS__BASEWIDGET__H__
2 #define __CPPLUGINS__BASEWIDGET__H__
4 #include <cpPlugins/Config.h>
8 #include <cpPlugins/ProcessObject.h>
10 // Some forward declarations
11 class vtkRenderWindowInteractor;
12 namespace cpExtensions
16 class SimpleMPRWidget;
24 class cpPlugins_EXPORT BaseWidget
25 : public ProcessObject
28 typedef BaseWidget Self;
29 typedef ProcessObject Superclass;
30 typedef itk::SmartPointer< Self > Pointer;
31 typedef itk::SmartPointer< const Self > ConstPointer;
33 typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget;
36 itkTypeMacro( BaseWidget, ProcessObject );
37 cpPlugins_Id_Macro( Widgets::BaseWidget, Widgets );
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_QT4
69 #endif // __CPPLUGINS__BASEWIDGET__H__