1 #ifndef __CPPLUGINS__BASEWIDGET__H__
2 #define __CPPLUGINS__BASEWIDGET__H__
4 #include <cpPlugins/ProcessObject.h>
6 // Some forward declarations
7 class vtkRenderWindowInteractor;
12 class SimpleMPRWidget;
20 class cpPlugins_EXPORT BaseWidget
21 : public ProcessObject
24 typedef BaseWidget Self;
25 typedef ProcessObject Superclass;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
29 typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget;
32 itkTypeMacro( BaseWidget, ProcessObject );
33 cpPlugins_Id_Macro( Widgets::BaseWidget, Widgets );
36 const TMPRWidget* GetMPRViewer( ) const;
37 const vtkRenderWindowInteractor* GetSingleInteractor( ) const;
39 void SetMPRViewer( TMPRWidget* v );
40 void SetSingleInteractor( vtkRenderWindowInteractor* i );
42 virtual bool IsInteractive( ) override;
43 virtual void SetInteractionObjects(
44 const std::vector< void* >& objs
49 virtual ~BaseWidget( );
52 // Purposely not implemented
53 BaseWidget( const Self& );
54 Self& operator=( const Self& );
57 TMPRWidget* m_MPRViewer;
58 vtkRenderWindowInteractor* m_SingleInteractor;
63 #endif // __CPPLUGINS__BASEWIDGET__H__