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