CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxViewWrapperVideo.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 CXVIEWWRAPPERRTSTREAM_H_
13 #define CXVIEWWRAPPERRTSTREAM_H_
14 
15 #include "org_custusx_core_view_Export.h"
16 
17 #include <vector>
18 #include <QPointer>
19 #include "cxForwardDeclarations.h"
20 #include "cxDefinitions.h"
21 
22 #include "cxViewWrapper.h"
23 
24 namespace cx
25 {
39 class org_custusx_core_view_EXPORT ViewWrapperVideo: public ViewWrapper
40 {
41 Q_OBJECT
42 public:
43  ViewWrapperVideo(ViewPtr view, VisServicesPtr services);
44  virtual ~ViewWrapperVideo();
45  virtual ViewPtr getView();
47  virtual void setViewGroup(ViewGroupDataPtr group);
48 
49 private slots:
50  void updateSlot();
51  void showSectorActionSlot(bool checked);
52  void connectStream();
53  void streamActionSlot();
54 protected slots:
55  virtual void dataViewPropertiesChangedSlot(QString uid) {}
56  virtual void videoSourceChangedSlot(QString uid);
57 
58  virtual QString getDataDescription();
59  virtual QString getViewDescription();
60 private:
61  VideoSourcePtr getSourceFromService(QString uid);
62  void addStreamAction(QString uid, QMenu* contextMenu);
63  void loadStream();
64  virtual void appendToContextMenu(QMenu& contextMenu);
65  void setupRep(VideoSourcePtr source, ToolPtr tool);
66 
67  VideoFixedPlaneRepPtr mStreamRep;
68  VideoSourcePtr mSource;
69  ViewPtr mView;
70  ToolPtr mTool;
71 };
72 typedef boost::shared_ptr<ViewWrapperVideo> ViewWrapperVideoPtr;
73 
77 } // namespace cx
78 
79 #endif /* CXVIEWWRAPPERRTSTREAM_H_ */
boost::shared_ptr< class ViewGroupData > ViewGroupDataPtr
Definition: cxViewGroup.h:29
boost::shared_ptr< class SlicePlanesProxy > SlicePlanesProxyPtr
boost::shared_ptr< class VisServices > VisServicesPtr
Definition: cxMainWindow.h:40
Superclass for ViewWrappers.
Definition: cxViewWrapper.h:89
boost::shared_ptr< class View > ViewPtr
boost::shared_ptr< class VideoSource > VideoSourcePtr
boost::shared_ptr< class VideoFixedPlaneRep > VideoFixedPlaneRepPtr
boost::shared_ptr< ViewWrapperVideo > ViewWrapperVideoPtr
virtual void setSlicePlanesProxy(SlicePlanesProxyPtr proxy)
virtual void dataViewPropertiesChangedSlot(QString uid)
Namespace for all CustusX production code.
boost::shared_ptr< class Tool > ToolPtr