NorMIT-nav  18.04
An IGT application
cxMeshInfoWidget.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 CXMESHINFOWIDGET_H_
12 #define CXMESHINFOWIDGET_H_
13 
14 #include "cxGuiExport.h"
15 
16 #include <vector>
17 #include <QtWidgets>
18 
19 #include "cxMesh.h"
20 #include "cxDataInterface.h"
21 #include "cxInfoWidget.h"
22 #include "cxTabbedWidget.h"
23 
24 
25 namespace cx
26 {
27 typedef boost::shared_ptr<class SelectDataStringPropertyBase> SelectDataStringPropertyBasePtr;
28 
29 class cxGui_EXPORT ActiveMeshPropertiesWidget : public BaseWidget
30 {
31  Q_OBJECT
32 public:
33  ActiveMeshPropertiesWidget(VisServicesPtr services, QWidget* parent);
35 };
36 
37 class cxGui_EXPORT AllMeshPropertiesWidget : public TabbedWidget
38 {
39  Q_OBJECT
40 public:
41  AllMeshPropertiesWidget(SelectDataStringPropertyBasePtr mesh, VisServicesPtr services, QWidget* parent);
43  SelectDataStringPropertyBasePtr getSelector() { return mMeshSelector; }
44 private:
45  SelectDataStringPropertyBasePtr mMeshSelector;
46 };
47 
49 
61 class cxGui_EXPORT MeshInfoWidget : public InfoWidget
62 {
63  Q_OBJECT
64 
65 public:
66  MeshInfoWidget(SelectDataStringPropertyBasePtr meshSelector,
67  PatientModelServicePtr patientModelService, ViewServicePtr viewService,
68  QWidget* parent);
69  virtual ~MeshInfoWidget();
70 
71  SelectDataStringPropertyBasePtr getSelector() { return mMeshSelector; }
72 
73 protected slots:
74  void meshSelectedSlot();
75  void importTransformSlot();
76  void meshChangedSlot();
77  void generateNormalsSlot();
78 
79 protected:
80  virtual void showEvent(QShowEvent* event);
81  virtual void hideEvent(QCloseEvent* event);
82 
83 private:
84  void addWidgets();
85 
86  MeshPtr mMesh;
87  StringPropertyParentFramePtr mParentFrameAdapter;
90  SelectDataStringPropertyBasePtr mMeshSelector;
91 
92  PatientModelServicePtr mPatientModelService;
93  ViewServicePtr mViewService;
94 
96 };
97 
98 }//end namespace cx
99 
100 #endif /* CXMESHINFOWIDGET_H_ */
boost::shared_ptr< class StringPropertyDataUidEditable > StringPropertyDataUidEditablePtr
boost::shared_ptr< class StringPropertyParentFrame > StringPropertyParentFramePtr
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
boost::shared_ptr< class StringPropertyDataNameEditable > StringPropertyDataNameEditablePtr
boost::shared_ptr< class ViewService > ViewServicePtr
boost::shared_ptr< class SelectDataStringPropertyBase > SelectDataStringPropertyBasePtr
Interface for making widgets with a hierarchy of tabs.
boost::shared_ptr< class PatientModelService > PatientModelServicePtr
Interface for QWidget which handles widgets uniformly for the system.
Definition: cxBaseWidget.h:88
SelectDataStringPropertyBasePtr getSelector()
SelectDataStringPropertyBasePtr getSelector()
boost::shared_ptr< class Mesh > MeshPtr
Namespace for all CustusX production code.