CustusX  18.04
An IGT application
cxViewGroupPropertiesWidget.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 CXVIEWGROUPPROPERTIESWIDGET_H
13 #define CXVIEWGROUPPROPERTIESWIDGET_H
14 
15 #include "cxGuiExport.h"
16 
17 #include "cxBaseWidget.h"
18 
19 #include <vector>
20 #include "cxForwardDeclarations.h"
21 #include "cxDoubleProperty.h"
22 
23 namespace cx
24 {
25 typedef boost::shared_ptr<class CameraStyleInteractor> CameraStyleInteractorPtr;
26 
29 class cxGui_EXPORT ViewGroupPropertiesWidget : public BaseWidget
30 {
31  Q_OBJECT
32 
33 public:
34  ViewGroupPropertiesWidget(int groupIndex, VisServicesPtr services, QWidget* parent);
35  virtual ~ViewGroupPropertiesWidget();
36 
37 signals:
38 
39 
40 protected:
41  void setupUI();
42  virtual void prePaintEvent();
43 
44 private:
45  void updateFrontend();
46 
47 // DoublePropertyBasePtr mSelector;
48  int mGroupIndex;
49  ViewGroupDataPtr getViewGroup();
50  VisServicesPtr mServices;
51  QVBoxLayout* mLayout;
52 
53  DoublePropertyPtr mCameraViewAngle;
54  BoolPropertyPtr mCameraFollowTool;
55  BoolPropertyPtr mFocusFollowTool;
56  BoolPropertyPtr mCameraOnTooltip;
57 
58  DoublePropertyPtr mCameraTooltipOffset;
59  StringPropertyBasePtr mCameraNotBehindROI;
60  BoolPropertyPtr mTableLock;
61  BoolPropertyPtr mUniCam;
62  DoublePropertyPtr mElevation;
63  StringPropertyBasePtr mAutoZoomROI;
64  StringPropertyBasePtr mFocusROI;
65  std::vector<PropertyPtr> mCameraStyleProperties;
66  CameraStyleInteractorPtr mCameraStyleInteractor;
67 
68  void createCameraStyleProperties();
69  void onCameraStyleChanged();
70  void createCameraStyleWidget();
71 };
72 
73 }//end namespace cx
74 
75 
76 #endif // CXVIEWGROUPPROPERTIESWIDGET_H
boost::shared_ptr< class ViewGroupData > ViewGroupDataPtr
Definition: cxViewGroup.h:29
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< class StringPropertyBase > StringPropertyBasePtr
boost::shared_ptr< class DoubleProperty > DoublePropertyPtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
boost::shared_ptr< class BoolProperty > BoolPropertyPtr
boost::shared_ptr< class CameraStyleInteractor > CameraStyleInteractorPtr
Namespace for all CustusX production code.