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