Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
QmitkDicomExternalDataWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef QmitkDicomExternalDataWidget_h
14 #define QmitkDicomExternalDataWidget_h
15 
16 #include "ui_QmitkDicomExternalDataWidgetControls.h"
17 #include <MitkDICOMUIExports.h>
18 
19 // include QT
20 #include <QHash>
21 #include <QLabel>
22 #include <QProgressDialog>
23 #include <QString>
24 #include <QStringList>
25 #include <QVariant>
26 #include <QWidget>
27 
28 class ctkFileDialog;
29 class ctkDICOMDatabase;
30 class ctkDICOMIndexer;
31 
38 {
39  // this is needed for all Qt objects that should have a Qt meta-object
40  // (everything that derives from QObject and wants to have signal/slots)
41  Q_OBJECT
42 
43 public:
44  static const std::string Widget_ID;
45 
51  QmitkDicomExternalDataWidget(QWidget *parent);
52 
56  ~QmitkDicomExternalDataWidget() override;
57 
63  virtual void CreateQtPartControl(QWidget *parent);
64 
68  void Initialize();
69 
70 signals:
71 
73  void SignalStartDicomImport(const QStringList &);
74 
76  void SignalDicomToDataManager(QHash<QString, QVariant>);
77 
78 public slots:
79 
81  void OnDownloadButtonClicked();
82 
84  void OnViewButtonClicked();
85 
87  void OnStartDicomImport(const QString &);
88 
89  void OnSeriesSelectionChanged(const QStringList &s);
90 
91 protected slots:
92  void OnProgressStep(const QString&);
93 
94  void OnProgressDetail(const QString&);
95 
96  void OnProgress(int value);
97 
98  void OnIndexingComplete(int, int, int, int);
99 
100 protected:
103  QStringList GetFileNamesFromIndex();
104 
106  void SetupImportDialog();
107 
108  void SetupProgressDialog();
109 
110  ctkDICOMDatabase *m_ExternalDatabase;
111  ctkDICOMIndexer *m_ExternalIndexer;
112  ctkFileDialog *m_ImportDialog;
113 
114  QProgressDialog *m_ProgressDialog;
116  QString m_ProgressStep;
117 
118  Ui::QmitkDicomExternalDataWidgetControls *m_Controls;
119 };
120 
121 #endif
QmitkDicomExternalDataWidget::m_ExternalDatabase
ctkDICOMDatabase * m_ExternalDatabase
Definition: QmitkDicomExternalDataWidget.h:110
QmitkDicomExternalDataWidget::m_ProgressDialog
QProgressDialog * m_ProgressDialog
Definition: QmitkDicomExternalDataWidget.h:114
MitkDICOMUIExports.h
QmitkDicomExternalDataWidget::Widget_ID
static const std::string Widget_ID
Definition: QmitkDicomExternalDataWidget.h:44
QmitkDicomExternalDataWidget::m_Controls
Ui::QmitkDicomExternalDataWidgetControls * m_Controls
Definition: QmitkDicomExternalDataWidget.h:118
QmitkDicomExternalDataWidget
QmitkDicomExternalDataWidget is a QWidget providing functionality for dicom import.
Definition: QmitkDicomExternalDataWidget.h:37
MITKDICOMUI_EXPORT
#define MITKDICOMUI_EXPORT
Definition: MitkDICOMUIExports.h:15
QmitkDicomExternalDataWidget::m_ImportDialog
ctkFileDialog * m_ImportDialog
Definition: QmitkDicomExternalDataWidget.h:112
QmitkDicomExternalDataWidget::m_ProgressStep
QString m_ProgressStep
Definition: QmitkDicomExternalDataWidget.h:116
QmitkDicomExternalDataWidget::m_ExternalIndexer
ctkDICOMIndexer * m_ExternalIndexer
Definition: QmitkDicomExternalDataWidget.h:111
QmitkDicomExternalDataWidget::m_LastImportDirectory
QString m_LastImportDirectory
Definition: QmitkDicomExternalDataWidget.h:115