CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxSamplerWidget.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 #ifndef CXSAMPLERWIDGET_H
12 #define CXSAMPLERWIDGET_H
13 
14 #include "cxGuiExport.h"
15 
16 #include "cxBaseWidget.h"
17 
18 #include "cxSpaceProperty.h"
19 #include "cxVector3DProperty.h"
20 #include "cxActiveToolProxy.h"
21 #include "cxPointMetric.h"
22 
23 namespace cx
24 {
25 
34 class cxGui_EXPORT SamplerWidget : public BaseWidget
35 {
36  Q_OBJECT
37 public:
38  SamplerWidget(TrackingServicePtr trackingService, PatientModelServicePtr patientModelService, SpaceProviderPtr spaceProvider, QWidget* parent);
39  virtual ~SamplerWidget();
40 
41 private slots:
42  void spacesChangedSlot();
43  void toggleAdvancedSlot();
44 protected:
45  virtual void prePaintEvent();
46 private:
47  void showAdvanced();
48 
49  QHBoxLayout* mLayout;
50  SpacePropertyPtr mSpaceSelector;
51  SpaceListenerPtr mListener;
52  ActiveToolProxyPtr mActiveTool;
53  QLineEdit* mCoordLineEdit;
54  QAction* mAdvancedAction;
55  QHBoxLayout* mAdvancedLayout;
56  QWidget* mAdvancedWidget;
57  PatientModelServicePtr mPatientModelService;
58  SpaceProviderPtr mSpaceProvider;
59 };
60 
61 } // namespace cx
62 
63 #endif // CXSAMPLERWIDGET_H
boost::shared_ptr< class SpaceProvider > SpaceProviderPtr
boost::shared_ptr< class TrackingService > TrackingServicePtr
boost::shared_ptr< class SpaceProperty > SpacePropertyPtr
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
boost::shared_ptr< class ActiveToolProxy > ActiveToolProxyPtr
Definition: cxStatusBar.h:32
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
boost::shared_ptr< class SpaceListener > SpaceListenerPtr
Namespace for all CustusX production code.