]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/QT/MPRInteractionCommand.h
4f914686003b6ee081a1077ac25cd81e05250c18
[cpPlugins.git] / lib / cpExtensions / QT / MPRInteractionCommand.h
1 #ifndef __cpExtensions__QT__MPRInteractionCommand__h__
2 #define __cpExtensions__QT__MPRInteractionCommand__h__
3
4 #include <cpExtensions/Config.h>
5
6 #ifdef cpExtensions_QT4
7
8 #include <cpExtensions/Interaction/BaseStyle.h>
9 #include <vtkCommand.h>
10 #include <vtkSmartPointer.h>
11 #include <set>
12
13 // -------------------------------------------------------------------------
14 namespace cpExtensions
15 {
16   namespace QT
17   {
18     class ImageWidget;
19     class MPR3DWidget;
20
21     /**
22      */
23     class cpExtensions_EXPORT MPRInteractionCommand
24       : public vtkCommand
25     {
26     public:
27       typedef MPRInteractionCommand Self;
28
29     public:
30       vtkTypeMacro( MPRInteractionCommand, vtkCommand );
31
32     public:
33       static Self* New( );
34
35       void AddWidget( QWidget* w );
36
37       virtual void Execute(
38         vtkObject* caller, unsigned long evId, void* data
39         ) cpExtensions_OVERRIDE;
40       
41     protected:
42       MPRInteractionCommand( );
43       virtual ~MPRInteractionCommand( );
44
45     private:
46       // Purposely not implemented
47       MPRInteractionCommand( const Self& );
48       Self& operator=( const Self& );
49
50     protected:
51       std::set< cpExtensions::QT::ImageWidget* > m_ImageWidgets;
52       std::set< cpExtensions::QT::MPR3DWidget* > m_MPR3DWidgets;
53     };
54
55   } // ecapseman
56
57 } // ecapseman
58
59 #endif // cpExtensions_QT4
60
61 #endif // __cpExtensions__QT__MPRInteractionCommand__h__
62
63 // eof - $RCSfile$