CustusX  2023.01.05-dev+develop.0da12
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"
23 
24 namespace cx
25 {
26 typedef boost::shared_ptr<class CameraStyleInteractor> CameraStyleInteractorPtr;
27 
30 class cxGui_EXPORT ViewGroupPropertiesWidget : public BaseWidget
31 {
32  Q_OBJECT
33 
34 public:
35  ViewGroupPropertiesWidget(int groupIndex, VisServicesPtr services, QWidget* parent);
36  virtual ~ViewGroupPropertiesWidget();
37 
38 signals:
39 
40 protected slots:
41  void onToolChanged();
42 
43 protected:
44  void setupUI();
45  virtual void prePaintEvent();
46 
47 private:
48  void updateFrontend();
49 
50 // DoublePropertyBasePtr mSelector;
51  int mGroupIndex;
52  ViewGroupDataPtr getViewGroup();
53  VisServicesPtr mServices;
54  QVBoxLayout* mLayout;
55 
56  DoublePropertyPtr mCameraViewAngle;
57  BoolPropertyPtr mCameraFollowTool;
58  BoolPropertyPtr mFocusFollowTool;
59  BoolPropertyPtr mCameraOnTooltip;
60 
61  DoublePropertyPtr mCameraTooltipOffset;
62  StringPropertyBasePtr mCameraNotBehindROI;
63  BoolPropertyPtr mTableLock;
64  BoolPropertyPtr mUniCam;
65  DoublePropertyPtr mElevation;
66  StringPropertyBasePtr mAutoZoomROI;
67  StringPropertyBasePtr mFocusROI;
68  std::vector<PropertyPtr> mCameraStyleProperties;
69  CameraStyleInteractorPtr mCameraStyleInteractor;
70  StringPropertySelectToolPtr mToolSelector;
71 
72  void createCameraStyleProperties();
73  void onCameraStyleChanged();
74  void createCameraStyleWidget();
75  void createControllingToolSelector();
76 };
77 
78 }//end namespace cx
79 
80 
81 #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 StringPropertySelectTool > StringPropertySelectToolPtr
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.