Преглед на файлове

Add support for filtered queries

Have the ctkDICOMQueryWidget expose the parameters of the query
and have the ctkDICOMQuery use them as part of the dicom
transaction.
Steve Pieper преди 14 години
родител
ревизия
ed686fe898
променени са 2 файла, в които са добавени 6 реда и са изтрити 4 реда
  1. 4 4
      Libs/DICOM/Widgets/ctkDICOMQueryRetrieveWidget.cpp
  2. 2 0
      Libs/DICOM/Widgets/ctkDICOMQueryWidget.cpp

+ 4 - 4
Libs/DICOM/Widgets/ctkDICOMQueryRetrieveWidget.cpp

@@ -93,15 +93,15 @@ void ctkDICOMQueryRetrieveWidget::processQuery()
     QMap<QString, QVariant> parameters = d->ServerNodeWidget->nodeParameters(server);
     if ( parameters["CheckState"] == Qt::Checked )
     {
+      // create a query for the current server
       d->queries[server] = new ctkDICOMQuery;
       d->queries[server]->setCallingAETitle(d->ServerNodeWidget->callingAETitle());
       d->queries[server]->setCalledAETitle(parameters["AETitle"].toString());
       d->queries[server]->setHost(parameters["Address"].toString());
       d->queries[server]->setPort(parameters["Port"].toInt());
-      // TODO: add interface to ctkDICOMQuery for specifying query params
-      // for now, query for everything
 
-      //d->queries[server]->setFilters( d->
+      // populate the query with the current search options
+      d->queries[server]->setFilters( d->QueryWidget->parameters() );
 
       try
       {
@@ -115,7 +115,7 @@ void ctkDICOMQueryRetrieveWidget::processQuery()
     }
   }
 
-  // checkable headers.
+  // checkable headers - allow user to select the patient/studies to retrieve
   d->results->setModel(&d->model);
   d->model.setHeaderData(0, Qt::Horizontal, Qt::Unchecked, Qt::CheckStateRole);
   QHeaderView* previousHeaderView = d->results->header();

+ 2 - 0
Libs/DICOM/Widgets/ctkDICOMQueryWidget.cpp

@@ -48,5 +48,7 @@ QMap<QString,QVariant> ctkDICOMQueryWidget::parameters()
   parameters["Series"] = d->SeriesSearch->text();
   parameters["ID"] = d->IdSearch->text();
 
+  parameters["Modalities"] = d->ModalityWidget->selectedModalities();
+
   return parameters;
 }