ctkDICOMThumbnailListWidget.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Qt include
  2. #include <QGridLayout>
  3. #include <QResizeEvent>
  4. #include <QPushButton>
  5. #include <QPixmap>
  6. // ctk includes
  7. #include "ctkLogger.h"
  8. // ctkWidgets includes
  9. #include "ctkFlowLayout.h"
  10. // ctkDICOMWidgets includes
  11. #include "ctkDICOMThumbnailListWidget.h"
  12. #include "ui_ctkDICOMThumbnailListWidget.h"
  13. #include "ctkDICOMThumbnailWidget.h"
  14. // STD includes
  15. #include <iostream>
  16. static ctkLogger logger("org.commontk.DICOM.Widgets.ctkDICOMThumbnailListWidget");
  17. //----------------------------------------------------------------------------
  18. class ctkDICOMThumbnailListWidgetPrivate: public Ui_ctkDICOMThumbnailListWidget
  19. {
  20. public:
  21. ctkDICOMThumbnailListWidgetPrivate(ctkDICOMThumbnailListWidget* parent): q_ptr(parent){
  22. }
  23. QList<ctkDICOMThumbnailWidget*> thumbnailList;
  24. ctkDICOMThumbnailListWidget* const q_ptr;
  25. Q_DECLARE_PUBLIC(ctkDICOMThumbnailListWidget);
  26. };
  27. //----------------------------------------------------------------------------
  28. // ctkDICOMThumbnailListWidgetPrivate methods
  29. //----------------------------------------------------------------------------
  30. // ctkDICOMThumbnailListWidget methods
  31. //----------------------------------------------------------------------------
  32. ctkDICOMThumbnailListWidget::ctkDICOMThumbnailListWidget(QWidget* _parent):Superclass(_parent),
  33. d_ptr(new ctkDICOMThumbnailListWidgetPrivate(this))
  34. {
  35. Q_D(ctkDICOMThumbnailListWidget);
  36. d->setupUi(this);
  37. }
  38. //----------------------------------------------------------------------------
  39. ctkDICOMThumbnailListWidget::~ctkDICOMThumbnailListWidget()
  40. {
  41. }
  42. void ctkDICOMThumbnailListWidget::setThumbnailFiles(const QStringList& thumbnailList)
  43. {
  44. Q_D(ctkDICOMThumbnailListWidget);
  45. if (d->scrollAreaContentWidget->layout())
  46. {
  47. delete d->scrollAreaContentWidget->layout();
  48. }
  49. ctkFlowLayout* flowLayout = new ctkFlowLayout();
  50. d->scrollAreaContentWidget->setLayout(flowLayout);
  51. int i = 0;
  52. foreach (QString thumbnailFile, thumbnailList)
  53. {
  54. ctkDICOMThumbnailWidget* widget = new ctkDICOMThumbnailWidget(d->scrollAreaContentWidget);
  55. QString widgetLabel = QString("Image %1").arg(i++);
  56. widget->setText( widgetLabel );
  57. QPixmap pix(thumbnailFile);
  58. logger.debug("Setting pixmap to " + thumbnailFile);
  59. widget->setPixmap(pix);
  60. flowLayout->addWidget(widget);
  61. }
  62. }