Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
QmitkOverlayController.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 QmitkOverlayController_h
14 #define QmitkOverlayController_h
15 
16 // MITK-Stuff
17 #include "QmitkOverlay.h"
18 #include "mitkCommon.h"
19 #include "mitkPropertyList.h"
20 
21 #include <QObject>
22 
23 #include <string>
24 
25 #include <MitkQtOverlaysExports.h>
26 
27 class QmitkRenderWindow;
28 
54 {
55  Q_OBJECT
56 
57 public:
63 
72 
74 
76 
80  void SetOverlayVisibility(bool visible);
81 
86 
91 
92 public slots:
100 
102 
104 
106 
107 protected:
117 
121  virtual void AlignOverlays();
122 
127 
129 
131 
132  typedef std::map<QmitkOverlay::DisplayPosition, QWidget *> OverlayPositionMap;
133  typedef std::vector<QmitkOverlay *> OverlayVector;
134 
139 
144 
149 
153  mitk::PropertyList::Pointer m_PropertyList;
154 };
155 
156 #endif
#define MITKQTOVERLAYS_EXPORT
controller that manages the positioning and stacking of QmitkOverlays
std::map< QmitkOverlay::DisplayPosition, QWidget * > OverlayPositionMap
void InitializeWidget(QmitkOverlay::DisplayPosition pos)
initializes one QWidget - internally used by InitializeOverlayLayout()
mitk::PropertyList * GetPropertyList()
getter for the RenderWindow-specific PropertyList
void AddOverlay(QmitkOverlay *)
adds an instance of QmitkOverlay to the RenderWindow
void SetPropertyList(mitk::PropertyList *)
setter for the RenderWindow-specific PropertyList
void RestackOverlays(QmitkOverlay::DisplayPosition pos)
mitk::PropertyList::Pointer m_PropertyList
PropertyList for RenderWindow-specific properties.
void AdjustOverlayPosition(QmitkOverlay::DisplayPosition displayPosition)
void RemoveOverlay(QmitkOverlay *)
QSize GetMinimumSizeForWidget(QmitkOverlay::DisplayPosition displayPosition)
void InitializeOverlayLayout()
setting up the widgets that will hold all overlays
QmitkRenderWindow * m_RenderWindow
RenderWindow that all Overlays will be added to.
OverlayPositionMap m_PositionedOverlays
all possible positions and the QWidgets representing the corresponding QmitkOverlays
void AdjustAllOverlayPosition()
adjusts the position of all overlays to the position of the RenderWindow
OverlayVector m_AllOverlays
all QmitkOverlays that are currently added
QmitkOverlayController(QmitkRenderWindow *rw, mitk::PropertyList *pl=nullptr)
constructor with mandatory QmitkRenderWindow and optional mitk::PropertyList
virtual void AlignOverlays()
re-aligning the overlays - not implemented yet
void UpdateOverlayData(QmitkOverlay *overlay)
void SetOverlayVisibility(bool visible)
setting the visibility of all overlays
~QmitkOverlayController() override
std::vector< QmitkOverlay * > OverlayVector
Abstract base class for all overlay-objects in MITK.
Definition: QmitkOverlay.h:50
DisplayPosition
enumeration of all possible display positions
Definition: QmitkOverlay.h:56
MITK implementation of the QVTKWidget.
Key-value list holding instances of BaseProperty.