Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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