Prechádzať zdrojové kódy

Add database accessor to list all patients

Allows user of this class to iterate through all contents
of the database hierarchically
Steve Pieper 13 rokov pred
rodič
commit
6d50cfa4f5

+ 15 - 0
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -265,6 +265,21 @@ void ctkDICOMDatabase::closeDatabase()
 }
 
 //------------------------------------------------------------------------------
+QStringList ctkDICOMDatabase::patients()
+{
+  Q_D(ctkDICOMDatabase);
+  QSqlQuery query(d->Database);
+  query.prepare ( "SELECT UID FROM Patients" );
+  query.exec();
+  QStringList result;
+  while (query.next()) 
+    {
+    result << query.value(0).toString();
+    }
+  return( result );
+}
+
+//------------------------------------------------------------------------------
 QStringList ctkDICOMDatabase::studiesForPatient(QString patientUID)
 {
   Q_D(ctkDICOMDatabase);

+ 1 - 0
Libs/DICOM/Core/ctkDICOMDatabase.h

@@ -109,6 +109,7 @@ public:
 
   ///
   /// \brief database accessors
+  Q_INVOKABLE QStringList patients ();
   Q_INVOKABLE QStringList studiesForPatient (QString patientUID);
   Q_INVOKABLE QStringList seriesForStudy (QString studyUID);
   Q_INVOKABLE QStringList filesForSeries (QString seriesUID);