Medical Imaging Interaction Toolkit  2022.10.99-eeb2f471
Medical Imaging Interaction Toolkit
QmitkMxNMultiWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef QmitkMxNMultiWidget_h
14 #define QmitkMxNMultiWidget_h
15 
16 // qt widgets module
17 #include "MitkQtWidgetsExports.h"
19 
27 {
28  Q_OBJECT
29 
30 public:
31 
32  QmitkMxNMultiWidget(QWidget* parent = nullptr,
33  Qt::WindowFlags f = 0,
34  const QString& multiWidgetName = "mxnmulti");
35 
37 
38  void InitializeMultiWidget() override;
39 
40  void Synchronize(bool synchronized) override;
41 
42  QmitkRenderWindow* GetRenderWindow(const QString& widgetName) const override;
43  QmitkRenderWindow* GetRenderWindow(const mitk::AnatomicalPlane& orientation) const override;
44 
45  void SetActiveRenderWindowWidget(RenderWindowWidgetPointer activeRenderWindowWidget) override;
46 
56  void InitializeViews(const mitk::TimeGeometry* geometry, bool resetCamera) override;
57 
65  void SetInteractionReferenceGeometry(const mitk::TimeGeometry* referenceGeometry) override;
66 
72  bool HasCoupledRenderWindows() const override;
73 
74  void SetSelectedPosition(const mitk::Point3D& newPosition, const QString& widgetName) override;
75  const mitk::Point3D GetSelectedPosition(const QString& widgetName) const override;
76 
77  void SetCrosshairVisibility(bool visible) override;
78  bool GetCrosshairVisibility() const override;
79  void SetCrosshairGap(unsigned int gapSize) override;
80 
81  void ResetCrosshair() override;
82 
83  void SetWidgetPlaneMode(int userMode) override;
84 
85  mitk::SliceNavigationController* GetTimeNavigationController();
86 
87  void AddPlanesToDataStorage();
88  void RemovePlanesFromDataStorage();
89 
90 public Q_SLOTS:
91 
92  // mouse events
93  void wheelEvent(QWheelEvent* e) override;
94  void mousePressEvent(QMouseEvent* e) override;
95  void moveEvent(QMoveEvent* e) override;
96 
97 Q_SIGNALS:
98 
99  void WheelMoved(QWheelEvent *);
100  void Moved();
101 
102 protected:
103 
104  void RemoveRenderWindowWidget() override;
105 
106 private:
107 
108  void SetLayoutImpl() override;
109  void SetInteractionSchemeImpl() override { }
110 
111  void CreateRenderWindowWidget();
112 
113  mitk::SliceNavigationController* m_TimeNavigationController;
114 
115  bool m_CrosshairVisibility;
116 
117 };
118 
119 #endif
QmitkAbstractMultiWidget::RenderWindowWidgetPointer
std::shared_ptr< QmitkRenderWindowWidget > RenderWindowWidgetPointer
Definition: QmitkAbstractMultiWidget.h:59
mitk::TimeGeometry
Definition: mitkTimeGeometry.h:43
MITKQTWIDGETS_EXPORT
#define MITKQTWIDGETS_EXPORT
Definition: MitkQtWidgetsExports.h:15
QmitkAbstractMultiWidget::InitializeViews
virtual void InitializeViews(const mitk::TimeGeometry *geometry, bool resetCamera)=0
Initialize the render windows of the concrete multi widget to the given geometry.
QmitkAbstractMultiWidget::SetInteractionReferenceGeometry
virtual void SetInteractionReferenceGeometry(const mitk::TimeGeometry *referenceGeometry)=0
Define the reference geometry for interaction withing a render window.
QmitkAbstractMultiWidget::SetSelectedPosition
virtual void SetSelectedPosition(const mitk::Point3D &newPosition, const QString &widgetName)=0
QmitkAbstractMultiWidget::ResetCrosshair
virtual void ResetCrosshair()=0
QmitkAbstractMultiWidget::SetWidgetPlaneMode
virtual void SetWidgetPlaneMode(int mode)=0
QmitkRenderWindow
MITK implementation of the QVTKWidget.
Definition: QmitkRenderWindow.h:38
QmitkAbstractMultiWidget::SetCrosshairVisibility
virtual void SetCrosshairVisibility(bool visible)=0
QmitkAbstractMultiWidget::GetSelectedPosition
virtual const mitk::Point3D GetSelectedPosition(const QString &widgetName) const =0
QmitkAbstractMultiWidget::SetActiveRenderWindowWidget
virtual void SetActiveRenderWindowWidget(RenderWindowWidgetPointer activeRenderWindowWidget)
QmitkAbstractMultiWidget::InitializeMultiWidget
virtual void InitializeMultiWidget()=0
mitk::SliceNavigationController
Controls the selection of the slice the associated BaseRenderer will display.
Definition: mitkSliceNavigationController.h:132
QmitkAbstractMultiWidget::GetCrosshairVisibility
virtual bool GetCrosshairVisibility() const =0
QmitkAbstractMultiWidget::RemoveRenderWindowWidget
virtual void RemoveRenderWindowWidget()
QmitkAbstractMultiWidget::GetRenderWindow
QmitkRenderWindow * GetRenderWindow(int row, int column) const
QmitkAbstractMultiWidget.h
mitk::AnatomicalPlane
AnatomicalPlane
Definition: mitkAnatomicalPlanes.h:18
mitk::Point< ScalarType, 3 >
MitkQtWidgetsExports.h
QmitkMxNMultiWidget
The 'QmitkMxNMultiWidget' is a 'QmitkAbstractMultiWidget' that is used to display multiple render win...
Definition: QmitkMxNMultiWidget.h:26
QmitkAbstractMultiWidget::HasCoupledRenderWindows
virtual bool HasCoupledRenderWindows() const =0
Returns true if the render windows are coupled; false if not.
QmitkAbstractMultiWidget
The 'QmitkAbstractMultiWidget' is a 'QWidget' that can be subclassed to display multiple render windo...
Definition: QmitkAbstractMultiWidget.h:53
QmitkAbstractMultiWidget::Synchronize
virtual void Synchronize(bool)
Definition: QmitkAbstractMultiWidget.h:80
QmitkAbstractMultiWidget::SetCrosshairGap
virtual void SetCrosshairGap(unsigned int gapSize)=0