]> Creatis software - clitk.git/blob - vv/vvQPacsConnection.h
pacs only if clitk_use_system_gdcm is defined
[clitk.git] / vv / vvQPacsConnection.h
1 #ifndef __vvQPacsConnection_h_INCLUDED__
2 #define __vvQPacsConnection_h_INCLUDED__
3
4 #include <QTGUI/QWidget>
5 #include "ui_vvPacsConnection.h"
6 #include "gdcmCompositeNetworkFunctions.h"
7 #include <QtGui/QStandardItemModel.h>
8 #include <QtGui/QStringListModel.h>
9 #include <QFileDialog>
10
11   /**
12    * \ingroup GUI
13    */
14   //=====================================================================
15  //======================================================================
16   class vvQPacsConnection : public QDialog 
17   {
18           Q_OBJECT
19   public:
20           //vvQPacsConnection(){}    
21           vvQPacsConnection(QWidget *parent=0);
22     
23           ~vvQPacsConnection(){}
24         void refreshNetworks();
25
26 public slots:
27         void selectStudies(const QModelIndex &index);
28         void selectSeries(const QModelIndex &index);
29         void selectImages(const QModelIndex &index);
30   private slots:
31     void on_scanButton_clicked();
32         void on_clearButton_clicked();
33         void on_optionsButton_clicked();
34         void on_check_ModAll_clicked(bool state);
35         void on_importButton_clicked();
36  void connectServer(int index);
37
38   private :
39           Ui::vvPacsConnection ui;
40         std::vector< std::pair<gdcm::Tag, std::string> > getKeys();
41         std::vector< std::pair<gdcm::Tag, std::string> > getPatientKeys(const std::string );
42         std::vector< std::pair<gdcm::Tag, std::string> > getStudyKeys(const std::string);
43         std::vector< std::pair<gdcm::Tag, std::string> > getSeriesKeys(const std::string i_val);
44         std::vector< std::pair<gdcm::Tag, std::string> > getImageKeys(const std::string i_val);
45         void manageStudiesFilter(bool i_enable);
46         void createTreeView();
47         void setNewPacs();
48         QStandardItemModel *Patientmodel;
49         QStandardItemModel *Studymodel;
50         QStandardItemModel *Seriesmodel;
51         QStandardItemModel *Imagesmodel;
52         void convertDataSet(std::vector<gdcm::DataSet> i_ds, QStandardItemModel *i_model, std::vector< std::pair<gdcm::Tag, std::string> > keys);
53         void manageSeriesFilter(bool i_enable);
54         std::string m_patient;
55         std::string m_study;
56         std::string m_series;
57         
58         std::string m_port;
59         std::string m_aetitle;
60         std::string m_adress;
61         std::string m_nickname;
62
63         
64   }; // class vvQPacsConnection
65   //=====================================================================
66
67   
68
69 #endif // __vvQPacsConnection_h_INCLUDED__
70
71