]> Creatis software - clitk.git/blobdiff - vv/vvQPacsConnection.h
add cmove for all levels
[clitk.git] / vv / vvQPacsConnection.h
index 96090658e463e1940443496e5ddb38d5eab0f479..f5c543f2b3e9a9cdf8c28aa01c86afd13e5718cb 100644 (file)
@@ -7,12 +7,20 @@
 #include <QtGui/QStandardItemModel.h>
 #include <QtGui/QStringListModel.h>
 #include <QFileDialog>
+#include "vvDicomServerQueryFactory.h"
 
   /**
    * \ingroup GUI
    */
   //=====================================================================
  //======================================================================
+
+struct vvQuery{
+       gdcm::ERootType theRoot;
+       gdcm::EQueryLevel theLevel;
+       std::vector< std::pair<gdcm::Tag, std::string> > keys;
+};
+
   class vvQPacsConnection : public QDialog 
   {
          Q_OBJECT
@@ -22,6 +30,7 @@
     
          ~vvQPacsConnection(){}
        void refreshNetworks();
+       std::vector <std::string> getFileNames();
 
 public slots:
        void selectStudies(const QModelIndex &index);
@@ -38,14 +47,21 @@ public slots:
  void modifyServer();
 
   private :
+
+                vvQuery getQueryPatient(const std::string i_patname, const std::string i_patid);
+
+
          Ui::vvPacsConnection ui;
        std::vector< std::pair<gdcm::Tag, std::string> > getKeys();
-       std::vector< std::pair<gdcm::Tag, std::string> > getPatientKeys(const std::string );
+       std::vector< std::pair<gdcm::Tag, std::string> > getPatientKeys(const std::string , const std::string );
        std::vector< std::pair<gdcm::Tag, std::string> > getStudyKeys(const std::string);
-       std::vector< std::pair<gdcm::Tag, std::string> > getSeriesKeys(const std::string i_val);
-       std::vector< std::pair<gdcm::Tag, std::string> > getImageKeys(const std::string i_val);
+       std::vector< std::pair<gdcm::Tag, std::string> > getSeriesKeys(const std::string patient_id, const std::string study_id, bool bdisplay);
+
+std::vector< std::pair<gdcm::Tag, std::string> > getQueryKeysforImages(const std::string patient_id, const std::string study_id, const std::string series_id,bool bdisplay);
+vvQuery getQueryforImages(const std::string patient_id, const std::string study_id, const std::string series_id,bool bdisplay);
        void manageStudiesFilter(bool i_enable);
        void createTreeView();
+       void cleanTree();
        void setNewPacs();
        QStandardItemModel *Patientmodel;
        QStandardItemModel *Studymodel;
@@ -53,15 +69,24 @@ public slots:
        QStandardItemModel *Imagesmodel;
        void convertDataSet(std::vector<gdcm::DataSet> i_ds, QStandardItemModel *i_model, std::vector< std::pair<gdcm::Tag, std::string> > keys);
        void manageSeriesFilter(bool i_enable);
+       std::vector< std::pair<gdcm::Tag, std::string> > fillMoveKeys();
        std::string m_patient;
        std::string m_study;
        std::string m_series;
-       
+       gdcm::EQueryLevel m_level;
        std::string m_port;
        std::string m_aetitle;
        std::string m_adress;
        std::string m_nickname;
+       vvDicomServerQueryFactory mquery;
+       vvQuery m_query;
+       vvQuery f_query;
+        gdcm::Directory::FilenamesType m_files;
+
+        vvQuery getQueryforSeries(const std::string patient_id, const std::string study_id, bool bdisplay);
 
+        vvQuery getQueryforStudy(const std::string patient_id, bool bdisplay);
+        std::vector< std::pair<gdcm::Tag, std::string> > getQueryKeysforStudy(const std::string patient_id, bool bdisplay);
        
   }; // class vvQPacsConnection
   //=====================================================================