]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/BaseObjects/Widget.h
1451b7b0f1ae16aa2dee0456cb7e31ed3f8e1faf
[cpPlugins.git] / lib / cpPlugins / BaseObjects / Widget.h
1 #ifndef __cpPlugins__BaseObjects__Widget__h__
2 #define __cpPlugins__BaseObjects__Widget__h__
3
4 #include <cpPlugins/BaseObjects/ProcessObject.h>
5
6 // -------------------------------------------------------------------------
7 namespace cpPlugins
8 {
9   namespace BaseObjects
10   {
11     /**
12      */
13     class cpPlugins_EXPORT Widget
14       : public ProcessObject
15     {
16     public:
17       typedef Widget                          Self;
18       typedef ProcessObject                   Superclass;
19       typedef itk::SmartPointer< Self >       Pointer;
20       typedef itk::SmartPointer< const Self > ConstPointer;
21
22     public:
23       itkTypeMacro( Widget, ProcessObject );
24       cpPlugins_Id_Macro( Widget, Object );
25
26     public:
27       virtual itk::ModifiedTimeType GetMTime( ) const cpPlugins_OVERRIDE;
28
29       virtual bool IsInteractive( ) cpPlugins_OVERRIDE;
30
31       virtual void EnabledOn( );
32       virtual void EnabledOff( );
33       virtual void Clear( ) = 0;
34       virtual void SetEnabled( bool v ) = 0;
35
36     protected:
37       Widget( );
38       virtual ~Widget( );
39
40     private:
41       // Purposely not implemented
42       Widget( const Self& );
43       Self& operator=( const Self& );
44     };
45
46   } // ecapseman
47
48 } // ecapseman
49
50 #endif // __cpPlugins__BaseObjects__Widget__h__
51
52 // eof - $RCSfile$