Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
QmitkStdMultiWidget.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 QmitkStdMultiWidget_h
14 #define QmitkStdMultiWidget_h
15 
16 // qt widgets module
17 #include "MitkQtWidgetsExports.h"
19 
25 {
26  Q_OBJECT
27 
28 public:
30  QWidget *parent = nullptr,
31  Qt::WindowFlags f = {},
32  const QString &name = "stdmulti");
33 
35 
36  virtual void InitializeMultiWidget() override;
37 
38  virtual QmitkRenderWindow* GetRenderWindow(const QString& widgetName) const override;
39  virtual QmitkRenderWindow* GetRenderWindow(const mitk::AnatomicalPlane& orientation) const override;
40 
51  void InitializeViews(const mitk::TimeGeometry* geometry, bool resetCamera) override;
52 
57  void SetInteractionReferenceGeometry(const mitk::TimeGeometry* referenceGeometry) override;
58 
64  bool HasCoupledRenderWindows() const override;
65 
66  virtual void SetSelectedPosition(const mitk::Point3D& newPosition, const QString& widgetName) override;
67  virtual const mitk::Point3D GetSelectedPosition(const QString& widgetName) const override;
68 
69  virtual void SetCrosshairVisibility(bool) override;
70  virtual bool GetCrosshairVisibility() const override;
71  void SetCrosshairGap(unsigned int gapSize) override;
72 
73  virtual void ResetCrosshair() override;
74 
75  virtual void SetWidgetPlaneMode(int mode) override;
76 
77 
80 
86  QmitkRenderWindow* GetRenderWindow(unsigned int number) const;
91 
97  mitk::DataNode::Pointer GetWidgetPlane(unsigned int number) const;
98  mitk::DataNode::Pointer GetWidgetPlane1() const;
99  mitk::DataNode::Pointer GetWidgetPlane2() const;
100  mitk::DataNode::Pointer GetWidgetPlane3() const;
101 
110  void SetDecorationColor(unsigned int widgetNumber, mitk::Color color);
116  mitk::Color GetDecorationColor(unsigned int widgetNumber);
117 
118 public Q_SLOTS:
119 
120  // mouse events
121  virtual void mousePressEvent(QMouseEvent*) override;
122  virtual void moveEvent(QMoveEvent* e) override;
123  virtual void wheelEvent(QWheelEvent* e) override;
124 
125  void Fit();
126 
128 
130 
131  void SetWidgetPlaneVisibility(const char *widgetName, bool visible, mitk::BaseRenderer *renderer = nullptr);
132 
133  void SetWidgetPlanesVisibility(bool visible, mitk::BaseRenderer *renderer = nullptr);
134 
135 Q_SIGNALS:
136 
139 
140  void WheelMoved(QWheelEvent *);
141  void Moved();
142 
143 private:
144 
145  virtual void SetLayoutImpl() override;
146  virtual void SetInteractionSchemeImpl() override { }
147 
148  void CreateRenderWindowWidgets();
149 
153  mitk::DataNode::Pointer m_PlaneNode1;
154  mitk::DataNode::Pointer m_PlaneNode2;
155  mitk::DataNode::Pointer m_PlaneNode3;
156 
161  mitk::DataNode::Pointer m_ParentNodeForGeometryPlanes;
162 
169  mitk::Color m_DecorationColorWidget4;
170 
171 };
172 
173 #endif
#define MITKQTWIDGETS_EXPORT
The 'QmitkAbstractMultiWidget' is a 'QWidget' that can be subclassed to display multiple render windo...
MITK implementation of the QVTKWidget.
The 'QmitkStdMultiWidget' is a 'QmitkAbstractMultiWidget' that is used to display multiple render win...
virtual QmitkRenderWindow * GetRenderWindow(const QString &widgetName) const override
void SetCrosshairGap(unsigned int gapSize) override
QmitkRenderWindow * GetRenderWindow(unsigned int number) const
Convenience method to get a render window widget.
void SetWidgetPlanesVisibility(bool visible, mitk::BaseRenderer *renderer=nullptr)
QmitkStdMultiWidget(QWidget *parent=nullptr, Qt::WindowFlags f={}, const QString &name="stdmulti")
void SetDecorationColor(unsigned int widgetNumber, mitk::Color color)
SetDecorationColor Set the color of the decoration of the 4 widgets.
mitk::Color GetDecorationColor(unsigned int widgetNumber)
GetDecorationColorForWidget Get the color for annotation, crosshair and rectangle.
QmitkRenderWindow * GetRenderWindow1() const
virtual QmitkRenderWindow * GetRenderWindow(const mitk::AnatomicalPlane &orientation) const override
virtual void SetCrosshairVisibility(bool) override
mitk::DataNode::Pointer GetWidgetPlane2() const
void EnsureDisplayContainsPoint(mitk::BaseRenderer *renderer, const mitk::Point3D &p)
mitk::DataNode::Pointer GetWidgetPlane1() const
void RemovePlanesFromDataStorage()
void InitializeViews(const mitk::TimeGeometry *geometry, bool resetCamera) override
Initialize all render windows of the StdMultiWidget to the given geometry. Overridem from 'QmitkAbstr...
~QmitkStdMultiWidget() override
virtual void mousePressEvent(QMouseEvent *) override
virtual void InitializeMultiWidget() override
virtual bool GetCrosshairVisibility() const override
void NotifyCrosshairRotationModeChanged(int mode)
void NotifyCrosshairVisibilityChanged(bool visible)
virtual const mitk::Point3D GetSelectedPosition(const QString &widgetName) const override
void SetWidgetPlaneVisibility(const char *widgetName, bool visible, mitk::BaseRenderer *renderer=nullptr)
QmitkRenderWindow * GetRenderWindow2() const
void SetInteractionReferenceGeometry(const mitk::TimeGeometry *referenceGeometry) override
Not implemented in this class. Overridem from 'QmitkAbstractMultiWidget'.
QmitkRenderWindow * GetRenderWindow4() const
virtual void wheelEvent(QWheelEvent *e) override
mitk::DataNode::Pointer GetWidgetPlane3() const
virtual void SetSelectedPosition(const mitk::Point3D &newPosition, const QString &widgetName) override
bool HasCoupledRenderWindows() const override
Returns true if the render windows are coupled; false if not.
void WheelMoved(QWheelEvent *)
void AddPlanesToDataStorage()
void AddDisplayPlaneSubTree()
virtual void moveEvent(QMoveEvent *e) override
virtual void SetWidgetPlaneMode(int mode) override
QmitkRenderWindow * GetRenderWindow3() const
virtual void ResetCrosshair() override
mitk::DataNode::Pointer GetWidgetPlane(unsigned int number) const
Convenience method to get a widget plane.
itk::RGBPixel< float > Color
Color Standard RGB color typedef (float)