X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=inline;f=lib%2FcpPlugins%2FBaseObjects%2FWidget.h;h=8cfec87e115af6a477f0dfc18005962ff355c41c;hb=047bca987b3c26b529561b5ba3918156510501fe;hp=daa5de730a7096902b337c4a80cab1deb3c336f3;hpb=3393941bf8f26babc7b592db434b40c1b747a687;p=cpPlugins.git diff --git a/lib/cpPlugins/BaseObjects/Widget.h b/lib/cpPlugins/BaseObjects/Widget.h index daa5de7..8cfec87 100644 --- a/lib/cpPlugins/BaseObjects/Widget.h +++ b/lib/cpPlugins/BaseObjects/Widget.h @@ -2,6 +2,7 @@ #define __cpPlugins__BaseObjects__Widget__h__ #include +#include // ------------------------------------------------------------------------- namespace cpPlugins @@ -24,10 +25,15 @@ namespace cpPlugins cpPlugins_Id_Macro( Widget, Object ); public: - virtual itk::ModifiedTimeType GetMTime( ) const cpPlugins_OVERRIDE; - + virtual void AddInteractor( vtkRenderWindowInteractor* i ) cpPlugins_OVERRIDE; virtual bool IsInteractive( ) cpPlugins_OVERRIDE; + virtual void EnabledOn( ); + virtual void EnabledOff( ); + virtual void Clear( ) = 0; + virtual void SetEnabled( bool v ) = 0; + virtual bool GetEnabled( ) const = 0; + protected: Widget( ); virtual ~Widget( ); @@ -36,6 +42,18 @@ namespace cpPlugins // Purposely not implemented Widget( const Self& ); Self& operator=( const Self& ); + + protected: + typedef vtkSmartPointer< vtkRenderWindowInteractor > _TInteractor; + struct _TInteractorCmp + { + bool operator()( + const _TInteractor& a, const _TInteractor& b + ) const + { return( a.GetPointer( ) < b.GetPointer( ) ); } + }; + std::set< _TInteractor, _TInteractorCmp > m_Interactors; + }; } // ecapseman