CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxDicomWidget.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 #ifndef CXDICOMWIDGET_H_
13 #define CXDICOMWIDGET_H_
14 
15 #include "org_custusx_dicom_Export.h"
16 
17 #include "cxBaseWidget.h"
18 #include "boost/shared_ptr.hpp"
19 class QItemSelection;
20 //class ctkDICOMBrowser;
21 class ctkDICOMAppWidget;
22 class ctkPluginContext;
23 class ctkDICOMDatabase;
24 
25 namespace cx
26 {
28 typedef boost::shared_ptr<class Image> ImagePtr;
29 
38 class org_custusx_dicom_EXPORT DicomWidget : public BaseWidget
39 {
40  Q_OBJECT
41 public:
42  DicomWidget(ctkPluginContext* context, QWidget* parent = 0);
43  virtual ~DicomWidget();
44 
45  QString getDICOMDatabaseDirectory();
46 protected:
47  virtual void prePaintEvent();
48  ctkDICOMDatabase* getDatabase() const;
49 
50 private slots:
51  void onViewHeader();
52  void onImportIntoCustusXAction();
53  void deleteDICOMDB();
54  void toggleDetailsSlot();
55 
56 private:
57  virtual QSize sizeHint () const { return QSize(600, 100);};
58  QVBoxLayout* mVerticalLayout;
59  DICOMAppWidget* mBrowser;
60  ctkPluginContext* mContext;
61  QAction* mViewHeaderAction;
62  QAction* mImportIntoCustusXAction;
63  QAction* mDetailsAction;
64  QString mDicomShowAdvancedSettingsString;
65  void createUI();
66  void setupDatabaseDirectory();
67  void importSeries(QString seriesUid);
68  void loadIntoPatientModel(ImagePtr image, QString seriesUid);
69  QStringList currentSeriesSelection();
70  void showOrHideDetails();
71 };
72 
73 } /* namespace cx */
74 
75 #endif /* CXDICOMWIDGET_H_ */
boost::shared_ptr< class Image > ImagePtr
Definition: cxDicomWidget.h:27
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
Namespace for all CustusX production code.