]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/IO/ImageReader.h
Widget integration (step 5/6): Interactive plugins now supported, widgets updates...
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / ImageReader.h
1 #ifndef __CPPLUGINS__PLUGINS__IMAGEREADER__H__
2 #define __CPPLUGINS__PLUGINS__IMAGEREADER__H__
3
4 #include <vector>
5
6 #include <cpPlugins/IO/cpPluginsIO_Export.h>
7 #include <cpPlugins/Interface/BaseProcessObjects.h>
8
9 namespace itk
10 {
11   class ImageIOBase;
12 }
13
14 namespace cpPlugins
15 {
16   namespace IO
17   {
18     /**
19      */
20     class cpPluginsIO_EXPORT ImageReader
21       : public cpPlugins::Interface::ImageSource
22     {
23     public:
24       typedef ImageReader                       Self;
25       typedef cpPlugins::Interface::ImageSource Superclass;
26       typedef itk::SmartPointer< Self >         Pointer;
27       typedef itk::SmartPointer< const Self >   ConstPointer;
28
29       typedef Superclass::TParameters TParameters;
30       typedef std::vector< TParameters::TString > TStringList;
31
32     public:
33       itkNewMacro( Self );
34       itkTypeMacro( ImageReader, cpPluginsInterfaceImageSource );
35       cpPlugins_Id_Macro(
36         cpPlugins::IO::ImageReader, "ImageReader"
37         );
38
39     public:
40       virtual bool ExecConfigurationDialog( QWidget* parent );
41
42     protected:
43       ImageReader( );
44       virtual ~ImageReader( );
45
46       virtual std::string _GenerateData( );
47
48       template< unsigned int D >
49         std::string _GD0( itk::ImageIOBase* io, const TStringList& names );
50
51       template< class P, unsigned int D >
52         std::string _GD1( const TStringList& names );
53
54       template< class I >
55         std::string _RealGD( const TStringList& names );
56
57     private:
58       // Purposely not implemented
59       ImageReader( const Self& );
60       Self& operator=( const Self& );
61     };
62
63     // ---------------------------------------------------------------------
64     CPPLUGINS_INHERIT_PROVIDER( ImageReader );
65
66   } // ecapseman
67
68 } // ecapseman
69
70 #endif // __CPPLUGINS__PLUGINS__IMAGEREADER__H__
71
72 // eof - $RCSfile$