ctkDICOMQueryRetrieveWidget.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 Ui_ctkDICOMQueryRetrieveWidget
  12. {
  13. public:
  14. ctkDICOMQueryRetrieveWidgetPrivate(){}
  15. };
  16. //----------------------------------------------------------------------------
  17. // ctkDICOMQueryRetrieveWidgetPrivate methods
  18. //----------------------------------------------------------------------------
  19. // ctkDICOMQueryRetrieveWidget methods
  20. //----------------------------------------------------------------------------
  21. ctkDICOMQueryRetrieveWidget::ctkDICOMQueryRetrieveWidget(QWidget* _parent):Superclass(_parent),
  22. d_ptr(new ctkDICOMQueryRetrieveWidgetPrivate)
  23. {
  24. Q_D(ctkDICOMQueryRetrieveWidget);
  25. d->setupUi(this);
  26. d->results->disableCloseOnTab(0);
  27. connect(d->queryButton, SIGNAL(clicked()), this, SLOT(processQuery()));
  28. connect(d->results, SIGNAL(tabCloseRequested(int)), this, SLOT(onTabCloseRequested(int)));
  29. }
  30. //----------------------------------------------------------------------------
  31. ctkDICOMQueryRetrieveWidget::~ctkDICOMQueryRetrieveWidget()
  32. {
  33. }
  34. //----------------------------------------------------------------------------
  35. void ctkDICOMQueryRetrieveWidget::onTabCloseRequested(int index)
  36. {
  37. Q_D(ctkDICOMQueryRetrieveWidget);
  38. if (index == 0)
  39. {
  40. return;
  41. }
  42. d->results->removeTab(index);
  43. }
  44. //----------------------------------------------------------------------------
  45. void ctkDICOMQueryRetrieveWidget::processQuery()
  46. {
  47. Q_D(ctkDICOMQueryRetrieveWidget);
  48. d->serverNodeWidget->populateQuery();
  49. d->queryWidget->populateQuery();
  50. QTreeView *queryResults = new QTreeView;
  51. int tabIndex = d->results->addTab(queryResults, tr("Query Results"));
  52. d->results->setCurrentIndex(tabIndex);
  53. }