Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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:
62  ~QmitkOverlayController() override;
63 
71  void AddOverlay(QmitkOverlay *);
72 
73  void RemoveOverlay(QmitkOverlay *);
74 
75  void RemoveAllOverlays();
76 
80  void SetOverlayVisibility(bool visible);
81 
85  mitk::PropertyList *GetPropertyList();
86 
90  void SetPropertyList(mitk::PropertyList *);
91 
92 public slots:
99  void AdjustAllOverlayPosition();
100 
101  void AdjustOverlayPosition(QmitkOverlay::DisplayPosition displayPosition);
102 
103  void UpdateAllOverlays();
104 
105  void UpdateOverlayData(QmitkOverlay *overlay);
106 
107 protected:
116  void InitializeOverlayLayout();
117 
121  virtual void AlignOverlays();
122 
126  void InitializeWidget(QmitkOverlay::DisplayPosition pos);
127 
128  void RestackOverlays(QmitkOverlay::DisplayPosition pos);
129 
130  QSize GetMinimumSizeForWidget(QmitkOverlay::DisplayPosition displayPosition);
131 
132  typedef std::map<QmitkOverlay::DisplayPosition, QWidget *> OverlayPositionMap;
133  typedef std::vector<QmitkOverlay *> OverlayVector;
134 
139 
144 
149 
154 };
155 
156 #endif
MitkQtOverlaysExports.h
QmitkOverlay::DisplayPosition
DisplayPosition
enumeration of all possible display positions
Definition: QmitkOverlay.h:55
QmitkOverlayController
controller that manages the positioning and stacking of QmitkOverlays
Definition: QmitkOverlayController.h:53
QmitkOverlayController::m_PositionedOverlays
OverlayPositionMap m_PositionedOverlays
all possible positions and the QWidgets representing the corresponding QmitkOverlays
Definition: QmitkOverlayController.h:143
QmitkOverlay
Abstract base class for all overlay-objects in MITK.
Definition: QmitkOverlay.h:49
itk::SmartPointer< Self >
QmitkRenderWindow
MITK implementation of the QVTKWidget.
Definition: QmitkRenderWindow.h:38
QmitkOverlayController::m_RenderWindow
QmitkRenderWindow * m_RenderWindow
RenderWindow that all Overlays will be added to.
Definition: QmitkOverlayController.h:148
QmitkOverlayController::OverlayPositionMap
std::map< QmitkOverlay::DisplayPosition, QWidget * > OverlayPositionMap
Definition: QmitkOverlayController.h:132
QmitkOverlayController::m_AllOverlays
OverlayVector m_AllOverlays
all QmitkOverlays that are currently added
Definition: QmitkOverlayController.h:138
mitkPropertyList.h
mitkCommon.h
mitk::PropertyList
Key-value list holding instances of BaseProperty.
Definition: mitkPropertyList.h:56
MITKQTOVERLAYS_EXPORT
#define MITKQTOVERLAYS_EXPORT
Definition: MitkQtOverlaysExports.h:15
QmitkOverlay.h
QmitkOverlayController::m_PropertyList
mitk::PropertyList::Pointer m_PropertyList
PropertyList for RenderWindow-specific properties.
Definition: QmitkOverlayController.h:153
QmitkOverlayController::OverlayVector
std::vector< QmitkOverlay * > OverlayVector
Definition: QmitkOverlayController.h:133