ctkDICOMQueryRetrieveWidget.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include <QDebug>
  2. #include <QTreeView>
  3. #include <QTabBar>
  4. // ctkDICOMWidgets includes
  5. #include "ctkDICOMQueryRetrieveWidget.h"
  6. #include "ctkDICOMQueryResultsTabWidget.h"
  7. #include "ui_ctkDICOMQueryRetrieveWidget.h"
  8. #include <ctkLogger.h>
  9. static ctkLogger logger("org.commontk.DICOM.Widgets.ctkDICOMQueryRetrieveWidget");
  10. //----------------------------------------------------------------------------
  11. class ctkDICOMQueryRetrieveWidgetPrivate: public ctkPrivate<ctkDICOMQueryRetrieveWidget>,
  12. public Ui_ctkDICOMQueryRetrieveWidget
  13. {
  14. public:
  15. ctkDICOMQueryRetrieveWidgetPrivate(){}
  16. };
  17. //----------------------------------------------------------------------------
  18. // ctkDICOMQueryRetrieveWidgetPrivate methods
  19. //----------------------------------------------------------------------------
  20. // ctkDICOMQueryRetrieveWidget methods
  21. //----------------------------------------------------------------------------
  22. ctkDICOMQueryRetrieveWidget::ctkDICOMQueryRetrieveWidget(QWidget* _parent):Superclass(_parent)
  23. {
  24. CTK_INIT_PRIVATE(ctkDICOMQueryRetrieveWidget);
  25. CTK_D(ctkDICOMQueryRetrieveWidget);
  26. d->setupUi(this);
  27. d->results->disableCloseOnTab(0);
  28. connect(d->queryButton, SIGNAL(clicked()), this, SLOT(processQuery()));
  29. connect(d->results, SIGNAL(tabCloseRequested(int)), this, SLOT(onTabCloseRequested(int)));
  30. }
  31. //----------------------------------------------------------------------------
  32. ctkDICOMQueryRetrieveWidget::~ctkDICOMQueryRetrieveWidget()
  33. {
  34. }
  35. //----------------------------------------------------------------------------
  36. void ctkDICOMQueryRetrieveWidget::onTabCloseRequested(int index)
  37. {
  38. CTK_D(ctkDICOMQueryRetrieveWidget);
  39. if (index == 0)
  40. {
  41. return;
  42. }
  43. d->results->removeTab(index);
  44. }
  45. //----------------------------------------------------------------------------
  46. void ctkDICOMQueryRetrieveWidget::processQuery()
  47. {
  48. CTK_D(ctkDICOMQueryRetrieveWidget);
  49. d->serverNodeWidget->populateQuery();
  50. d->queryWidget->populateQuery();
  51. QTreeView *queryResults = new QTreeView;
  52. int tabIndex = d->results->addTab(queryResults, tr("Query Results"));
  53. d->results->setCurrentIndex(tabIndex);
  54. }