NorMIT-nav  18.04
An IGT application
cxCroppingWidget.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 CXCROPPINGWIDGET_H_
13 #define CXCROPPINGWIDGET_H_
14 
15 #include "cxGuiExport.h"
16 
17 #include "cxForwardDeclarations.h"
18 #include "cxStringPropertyBase.h"
19 #include "cxBaseWidget.h"
20 
21 #include "cxBoundingBoxWidget.h"
22 
23 class QCheckBox;
24 class QLabel;
25 
26 namespace cx
27 {
28 
41 class cxGui_EXPORT CroppingWidget : public BaseWidget
42 {
43  Q_OBJECT
44 
45 public:
46  CroppingWidget(PatientModelServicePtr patientModelService, ViewServicePtr viewService, QWidget* parent);
47 
48 private:
49  void hideOldAndShowNewVolume(ImagePtr oldImage, ImagePtr newImage);
50 
51  InteractiveCropperPtr mInteractiveCropper;
52  BoundingBoxWidget* mBBWidget;
53  QCheckBox* mUseCropperCheckBox;
54  QCheckBox* mShowBoxCheckBox;
55  QLabel* mBoundingBoxDimensions;
56  PatientModelServicePtr mPatientModelService;
57  ViewServicePtr mViewService;
58 
59 private slots:
60  void setupUI();
61  void boxValuesChanged();
62  void cropperChangedSlot();
63  ImagePtr cropClipButtonClickedSlot();
64 };
65 
69 }//namespace cx
70 
71 
72 #endif /* CXCROPPINGWIDGET_H_ */
boost::shared_ptr< class Image > ImagePtr
Definition: cxDicomWidget.h:27
boost::shared_ptr< class ViewService > ViewServicePtr
Widget displays/edits a BoundingBox3D.
boost::shared_ptr< class InteractiveCropper > InteractiveCropperPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
Namespace for all CustusX production code.