ctkDICOMDirectoryListWidget.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include <QFileDialog>
  2. #include <QSqlQueryModel>
  3. #include <QSqlQuery>
  4. // ctkDICOMWidgets includes
  5. #include "ctkDICOMDirectoryListWidget.h"
  6. #include "ui_ctkDICOMDirectoryListWidget.h"
  7. #include <iostream>
  8. //----------------------------------------------------------------------------
  9. class ctkDICOMDirectoryListWidgetPrivate: public ctkPrivate<ctkDICOMDirectoryListWidget>,
  10. public Ui_ctkDICOMDirectoryListWidget
  11. {
  12. public:
  13. ctkDICOMDirectoryListWidgetPrivate(){}
  14. ctkDICOM* dicom;
  15. QSqlQueryModel* directoryListModel;
  16. };
  17. //----------------------------------------------------------------------------
  18. // ctkDICOMDirectoryListWidgetPrivate methods
  19. //----------------------------------------------------------------------------
  20. // ctkDICOMDirectoryListWidget methods
  21. //----------------------------------------------------------------------------
  22. ctkDICOMDirectoryListWidget::ctkDICOMDirectoryListWidget(QWidget* _parent):Superclass(_parent)
  23. {
  24. CTK_INIT_PRIVATE(ctkDICOMDirectoryListWidget);
  25. CTK_D(ctkDICOMDirectoryListWidget);
  26. d->setupUi(this);
  27. connect(d->addButton, SIGNAL(clicked()), this, SLOT(addDirectoryClicked()));
  28. connect(d->removeButton, SIGNAL(clicked()), this, SLOT(removeDirectoryClicked()));
  29. d->directoryListModel = new QSqlQueryModel(this);
  30. }
  31. //----------------------------------------------------------------------------
  32. ctkDICOMDirectoryListWidget::~ctkDICOMDirectoryListWidget()
  33. {
  34. }
  35. //----------------------------------------------------------------------------
  36. void ctkDICOMDirectoryListWidget::addDirectoryClicked()
  37. {
  38. CTK_D(ctkDICOMDirectoryListWidget);
  39. QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"));
  40. //d->directoryListView->setModel(NULL);
  41. // d->tableView->setModel(NULL);
  42. }
  43. //----------------------------------------------------------------------------
  44. void ctkDICOMDirectoryListWidget::removeDirectoryClicked()
  45. {
  46. }
  47. void ctkDICOMDirectoryListWidget::setDICOM(ctkDICOM* dicom)
  48. {
  49. CTK_D(ctkDICOMDirectoryListWidget);
  50. d->dicom = dicom;
  51. QSqlQuery getDirectoriesQuery(dicom->database());
  52. getDirectoriesQuery.exec("SELECT Dirname from Directories");
  53. std::cout << getDirectoriesQuery.size();
  54. d->directoryListModel->setQuery(getDirectoriesQuery);
  55. //d->directoryListView->setModel(d->directoryListModel);
  56. d->directoryListView->setModel(d->directoryListModel);
  57. }