]> Creatis software - clitk.git/blobdiff - vv/vvQPacsConnection.h
simplify query/retrieve calls
[clitk.git] / vv / vvQPacsConnection.h
index e62886a6025df70e002951cb937ddc0eb659df11..36e715a1006c43bfe5ba712b0d83cdb37623c497 100644 (file)
    */
   //=====================================================================
  //======================================================================
+
+struct vvQuery{
+       gdcm::ERootType theRoot;
+       gdcm::EQueryLevel theLevel;
+       std::vector< std::pair<gdcm::Tag, std::string> > keys;
+};
+
   class vvQPacsConnection : public QDialog 
   {
          Q_OBJECT
@@ -40,14 +47,19 @@ 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);
        void manageStudiesFilter(bool i_enable);
        void createTreeView();
+       void cleanTree();
        void setNewPacs();
        QStandardItemModel *Patientmodel;
        QStandardItemModel *Studymodel;
@@ -65,7 +77,14 @@ public slots:
        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 study_id);
+
+        vvQuery getQueryforStudy(const std::string patient_id);
+        std::vector< std::pair<gdcm::Tag, std::string> > getQueryKeysforStudy(const std::string patient_id);
        
   }; // class vvQPacsConnection
   //=====================================================================