#ifndef __CPPLUGINS__BASEWIDGET__H__ #define __CPPLUGINS__BASEWIDGET__H__ #include // Some forward declarations class vtkRenderWindowInteractor; namespace cpExtensions { namespace QT { class SimpleMPRWidget; } } namespace cpPlugins { /** */ class cpPlugins_EXPORT BaseWidget : public ProcessObject { public: typedef BaseWidget Self; typedef ProcessObject Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; typedef cpExtensions::QT::SimpleMPRWidget TMPRWidget; public: itkTypeMacro( BaseWidget, ProcessObject ); cpPlugins_Id_Macro( Widgets::BaseWidget, Widgets ); public: const TMPRWidget* GetMPRViewer( ) const; const vtkRenderWindowInteractor* GetSingleInteractor( ) const; void SetMPRViewer( TMPRWidget* v ); void SetSingleInteractor( vtkRenderWindowInteractor* i ); virtual bool IsInteractive( ) override; virtual void SetInteractionObjects( const std::vector< void* >& objs ) override; protected: BaseWidget( ); virtual ~BaseWidget( ); private: // Purposely not implemented BaseWidget( const Self& ); Self& operator=( const Self& ); protected: TMPRWidget* m_MPRViewer; vtkRenderWindowInteractor* m_SingleInteractor; }; } // ecapseman #endif // __CPPLUGINS__BASEWIDGET__H__ // eof - $RCSfile$