]> Creatis software - cpPlugins.git/blob - plugins/ITKIO/DicomSeriesSelectorWidget.h
...
[cpPlugins.git] / plugins / ITKIO / DicomSeriesSelectorWidget.h
1 #ifndef __cpPluginsITKIO__DicomSeriesSelectorWidget__H__
2 #define __cpPluginsITKIO__DicomSeriesSelectorWidget__H__
3
4 #include <cpPlugins_ITKIO_Export.h>
5 #include <cpPlugins/Config.h>
6
7 #ifdef cpPlugins_QT4
8
9 #include <QWidget>
10 #include <gdcmSerieHelper.h>
11
12 // -------------------------------------------------------------------------
13 namespace Ui
14 {
15   class DicomSeriesSelectorWidget;
16 }
17
18 // -------------------------------------------------------------------------
19 namespace cpPluginsITKIO
20 {
21   /**
22    */
23   class cpPlugins_ITKIO_EXPORT DicomSeriesSelectorWidget
24     : public QWidget
25   {
26     Q_OBJECT;
27
28   public:
29     typedef DicomSeriesSelectorWidget Self;
30
31   protected:
32     /**
33      */
34     class _GDCMSerieHelper
35       : public gdcm::SerieHelper
36     {
37     public:
38       _GDCMSerieHelper( )
39         {
40         }
41       virtual ~_GDCMSerieHelper( )
42         {
43         }
44       template< class _TIt >
45       void SetFileNames( _TIt b, _TIt e )
46         {
47           for( _TIt i = b; i != e; ++i )
48             this->AddFileName( *i );
49         }
50     };
51
52   public:
53     explicit DicomSeriesSelectorWidget( QWidget* parent = 0 );
54     virtual ~DicomSeriesSelectorWidget( );
55
56     QString startDir( ) const;
57     void setStartDir( const QString& dir, bool build = true );
58
59     std::vector< std::string >* selectedFilenames( );
60
61   protected slots:
62     void _Choose( );
63
64   protected:
65     Ui::DicomSeriesSelectorWidget* m_UI;
66     _GDCMSerieHelper m_GDCMHelper;
67     std::map< std::string, std::vector< std::string > > m_Series;
68   };
69
70 } // ecapseman
71
72 #endif // cpPlugins_QT4
73
74 #endif // __cpPluginsITKIO__DicomSeriesSelectorWidget__H__
75
76 // eof - $RCSfile$