ctkDICOMQueryWidget.cpp 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // ctkDICOMWidgets includes
  2. #include "ctkDICOMQueryWidget.h"
  3. #include "ui_ctkDICOMQueryWidget.h"
  4. // STD includes
  5. #include <iostream>
  6. //logger
  7. #include <ctkLogger.h>
  8. static ctkLogger logger("org.commontk.DICOM.Widgets.ctkDICOMQueryWidget");
  9. //----------------------------------------------------------------------------
  10. class ctkDICOMQueryWidgetPrivate: public Ui_ctkDICOMQueryWidget
  11. {
  12. public:
  13. ctkDICOMQueryWidgetPrivate(){}
  14. };
  15. //----------------------------------------------------------------------------
  16. // ctkDICOMQueryWidgetPrivate methods
  17. //----------------------------------------------------------------------------
  18. // ctkDICOMQueryWidget methods
  19. //----------------------------------------------------------------------------
  20. ctkDICOMQueryWidget::ctkDICOMQueryWidget(QWidget* _parent):Superclass(_parent),
  21. d_ptr(new ctkDICOMQueryWidgetPrivate)
  22. {
  23. Q_D(ctkDICOMQueryWidget);
  24. d->setupUi(this);
  25. connect(d->nameSearch, SIGNAL(textChanged(QString)), this, SIGNAL(nameSearchTextChanged(QString)));
  26. connect(d->studySearch, SIGNAL(textChanged(QString)), this, SIGNAL(studySearchTextChanged(QString)));
  27. connect(d->seriesSearch, SIGNAL(textChanged(QString)), this, SIGNAL(seriesSearchTextChanged(QString)));
  28. connect(d->idSearch, SIGNAL(textChanged(QString)), this, SIGNAL(idSearchTextChanged(QString)));
  29. }
  30. //----------------------------------------------------------------------------
  31. ctkDICOMQueryWidget::~ctkDICOMQueryWidget()
  32. {
  33. Q_D(ctkDICOMQueryWidget);
  34. disconnect(d->nameSearch, SIGNAL(textChanged(QString)), this, SIGNAL(nameSearchTextChanged(QString)));
  35. disconnect(d->studySearch, SIGNAL(textChanged(QString)), this, SIGNAL(studySearchTextChanged(QString)));
  36. disconnect(d->seriesSearch, SIGNAL(textChanged(QString)), this, SIGNAL(seriesSearchTextChanged(QString)));
  37. disconnect(d->idSearch, SIGNAL(textChanged(QString)), this, SIGNAL(idSearchTextChanged(QString)));
  38. }
  39. //----------------------------------------------------------------------------
  40. QMap<QString,QVariant> ctkDICOMQueryWidget::parameters()
  41. {
  42. Q_D(ctkDICOMQueryWidget);
  43. QMap<QString,QVariant> parameters;
  44. parameters["Name"] = d->nameSearch->text();
  45. parameters["Study"] = d->studySearch->text();
  46. parameters["Series"] = d->seriesSearch->text();
  47. parameters["ID"] = d->idSearch->text();
  48. if ( !d->modalityWidget->areAllModalitiesSelected() )
  49. { // some PACS (conquest) don't seem to accept list of modalities,
  50. // so don't include the list at all when all modalities are desired
  51. // TODO: think about how to fix this for conquest at the query level
  52. parameters["Modalities"] = d->modalityWidget->selectedModalities();
  53. }
  54. if ( !d->dateRangeWidget->isAnyDate() )
  55. {
  56. QDate startDate = d->dateRangeWidget->startDateTime().date();
  57. QDate endDate = d->dateRangeWidget->endDateTime().date();
  58. parameters["StartDate"] = startDate.toString("yyyyMMdd");
  59. parameters["EndDate"] = endDate.toString("yyyyMMdd");
  60. }
  61. return parameters;
  62. }