Fraxinus  18.10
An IGT application
cxToolMetricWrapper.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 CXTOOLMETRICWRAPPER_H
12 #define CXTOOLMETRICWRAPPER_H
13 
14 #include "cxGuiExport.h"
15 
16 #include "cxToolMetric.h"
17 #include "cxDataMetricWrappers.h"
18 #include "cxTransform3DWidget.h"
19 
20 namespace cx {
21 
28 class cxGui_EXPORT ToolMetricWrapper : public MetricBase
29 {
30  Q_OBJECT
31 public:
32  explicit ToolMetricWrapper(VisServicesPtr services, cx::ToolMetricPtr data);
33  virtual ~ToolMetricWrapper();
34  virtual QWidget* createWidget();
35  virtual QString getValue() const;
36  virtual DataMetricPtr getData() const;
37  virtual QString getArguments() const;
38  virtual QString getType() const;
39  virtual void update();
40 
41 private slots:
42  void resampleMetric();
43  void spaceSelected();
44  void toolNameSet();
45  void toolOffsetSet();
46 // void dataChangedSlot();
47  void frameWidgetChangedSlot();
48 private:
49  cx::ToolMetricPtr mData;
50  SpacePropertyPtr mSpaceSelector;
51  StringPropertyPtr mToolNameSelector;
52  DoublePropertyPtr mToolOffsetSelector;
53  bool mInternalUpdate;
54  Transform3DWidget* mFrameWidget;
55  void initializeProperties();
56 };
57 
58 } //namespace cx
59 
60 #endif // CXTOOLMETRICWRAPPER_H
Widget for displaying and manipulating an affine matrix, i.e. a rotation+translation matrix...
boost::shared_ptr< class ToolMetric > ToolMetricPtr
Definition: cxToolMetric.h:24
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< DataMetric > DataMetricPtr
Definition: cxDataMetric.h:73
boost::shared_ptr< class SpaceProperty > SpacePropertyPtr
boost::shared_ptr< class StringProperty > StringPropertyPtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
Namespace for all CustusX production code.