Medical Imaging Interaction Toolkit  2023.12.99-ed252ae7
Medical Imaging Interaction Toolkit
QmitkOverlayController Class Reference

controller that manages the positioning and stacking of QmitkOverlays More...

#include <QmitkOverlayController.h>

Inheritance diagram for QmitkOverlayController:
Collaboration diagram for QmitkOverlayController:

Public Slots

void AdjustAllOverlayPosition ()
 adjusts the position of all overlays to the position of the RenderWindow More...
 
void AdjustOverlayPosition (QmitkOverlay::DisplayPosition displayPosition)
 
void UpdateAllOverlays ()
 
void UpdateOverlayData (QmitkOverlay *overlay)
 

Public Member Functions

 QmitkOverlayController (QmitkRenderWindow *rw, mitk::PropertyList *pl=nullptr)
 constructor with mandatory QmitkRenderWindow and optional mitk::PropertyList More...
 
 ~QmitkOverlayController () override
 
void AddOverlay (QmitkOverlay *)
 adds an instance of QmitkOverlay to the RenderWindow More...
 
void RemoveOverlay (QmitkOverlay *)
 
void RemoveAllOverlays ()
 
void SetOverlayVisibility (bool visible)
 setting the visibility of all overlays More...
 
mitk::PropertyListGetPropertyList ()
 getter for the RenderWindow-specific PropertyList More...
 
void SetPropertyList (mitk::PropertyList *)
 setter for the RenderWindow-specific PropertyList More...
 

Protected Types

typedef std::map< QmitkOverlay::DisplayPosition, QWidget * > OverlayPositionMap
 
typedef std::vector< QmitkOverlay * > OverlayVector
 

Protected Member Functions

void InitializeOverlayLayout ()
 setting up the widgets that will hold all overlays More...
 
virtual void AlignOverlays ()
 re-aligning the overlays - not implemented yet More...
 
void InitializeWidget (QmitkOverlay::DisplayPosition pos)
 initializes one QWidget - internally used by InitializeOverlayLayout() More...
 
void RestackOverlays (QmitkOverlay::DisplayPosition pos)
 
QSize GetMinimumSizeForWidget (QmitkOverlay::DisplayPosition displayPosition)
 

Protected Attributes

OverlayVector m_AllOverlays
 all QmitkOverlays that are currently added More...
 
OverlayPositionMap m_PositionedOverlays
 all possible positions and the QWidgets representing the corresponding QmitkOverlays More...
 
QmitkRenderWindowm_RenderWindow
 RenderWindow that all Overlays will be added to. More...
 
mitk::PropertyList::Pointer m_PropertyList
 PropertyList for RenderWindow-specific properties. More...
 

Detailed Description

controller that manages the positioning and stacking of QmitkOverlays

This controller manages all QmitkOverlays of one QmitkRenderWindow.

When constructed, it creates one QWidget for each possible display-position and sets the appropriate attributes and layouts.

It is possible to add new Overlays using AddOverlay( QmitkOverlay ). This overlay will be added to the correct Widget according to its destined position (stored in QmitkOverlay). If this widget already holds an overlay, the layer-property is taken into account. If no layer has been set, the overlay will be appended at the end.

It is possible to set the visibility of all overlays at a time using SetOverlayVisibility(bool).

RenderWindow specific properties can be set using the internal mitk::PropertyList. This propertyList and the 'default' propertyList of the RenderingManager will be concatenated before the overlay is set up. If one property exists in both propertyLists, the one in the QmitkOverlayController will be used!

See also
QmitkOverlay
QmitkRenderWindow

Definition at line 53 of file QmitkOverlayController.h.

Member Typedef Documentation

◆ OverlayPositionMap

Definition at line 132 of file QmitkOverlayController.h.

◆ OverlayVector

typedef std::vector<QmitkOverlay *> QmitkOverlayController::OverlayVector
protected

Definition at line 133 of file QmitkOverlayController.h.

Constructor & Destructor Documentation

◆ QmitkOverlayController()

QmitkOverlayController::QmitkOverlayController ( QmitkRenderWindow rw,
mitk::PropertyList pl = nullptr 
)

constructor with mandatory QmitkRenderWindow and optional mitk::PropertyList

◆ ~QmitkOverlayController()

QmitkOverlayController::~QmitkOverlayController ( )
override

Member Function Documentation

◆ AddOverlay()

void QmitkOverlayController::AddOverlay ( QmitkOverlay )

adds an instance of QmitkOverlay to the RenderWindow

This method adds the given QmitkOverlay as a sub-widget to the registered RenderWindow. It will be added to the correct position in the RenderWindow as it's defined by the overlays position-variable. The layer-property will only be considered if necessary.

◆ AdjustAllOverlayPosition

void QmitkOverlayController::AdjustAllOverlayPosition ( )
slot

adjusts the position of all overlays to the position of the RenderWindow

This method updates the position of all Widgets according to the position of the RenderWindow and the extend of the overlays.

◆ AdjustOverlayPosition

void QmitkOverlayController::AdjustOverlayPosition ( QmitkOverlay::DisplayPosition  displayPosition)
slot

◆ AlignOverlays()

virtual void QmitkOverlayController::AlignOverlays ( )
protectedvirtual

re-aligning the overlays - not implemented yet

◆ GetMinimumSizeForWidget()

QSize QmitkOverlayController::GetMinimumSizeForWidget ( QmitkOverlay::DisplayPosition  displayPosition)
protected

◆ GetPropertyList()

mitk::PropertyList* QmitkOverlayController::GetPropertyList ( )

getter for the RenderWindow-specific PropertyList

◆ InitializeOverlayLayout()

void QmitkOverlayController::InitializeOverlayLayout ( )
protected

setting up the widgets that will hold all overlays

This method sets up the 8 QWidgets that will later hold all QmitkOverlays. This includes the correct setting of layouts, alignments and the widget attributes necessary to achieve a translucent background and correct rendering on all platforms.

◆ InitializeWidget()

void QmitkOverlayController::InitializeWidget ( QmitkOverlay::DisplayPosition  pos)
protected

initializes one QWidget - internally used by InitializeOverlayLayout()

◆ RemoveAllOverlays()

void QmitkOverlayController::RemoveAllOverlays ( )

◆ RemoveOverlay()

void QmitkOverlayController::RemoveOverlay ( QmitkOverlay )

◆ RestackOverlays()

void QmitkOverlayController::RestackOverlays ( QmitkOverlay::DisplayPosition  pos)
protected

◆ SetOverlayVisibility()

void QmitkOverlayController::SetOverlayVisibility ( bool  visible)

setting the visibility of all overlays

◆ SetPropertyList()

void QmitkOverlayController::SetPropertyList ( mitk::PropertyList )

setter for the RenderWindow-specific PropertyList

◆ UpdateAllOverlays

void QmitkOverlayController::UpdateAllOverlays ( )
slot

◆ UpdateOverlayData

void QmitkOverlayController::UpdateOverlayData ( QmitkOverlay overlay)
slot

Member Data Documentation

◆ m_AllOverlays

OverlayVector QmitkOverlayController::m_AllOverlays
protected

all QmitkOverlays that are currently added

Definition at line 138 of file QmitkOverlayController.h.

◆ m_PositionedOverlays

OverlayPositionMap QmitkOverlayController::m_PositionedOverlays
protected

all possible positions and the QWidgets representing the corresponding QmitkOverlays

Definition at line 143 of file QmitkOverlayController.h.

◆ m_PropertyList

mitk::PropertyList::Pointer QmitkOverlayController::m_PropertyList
protected

PropertyList for RenderWindow-specific properties.

Definition at line 153 of file QmitkOverlayController.h.

◆ m_RenderWindow

QmitkRenderWindow* QmitkOverlayController::m_RenderWindow
protected

RenderWindow that all Overlays will be added to.

Definition at line 148 of file QmitkOverlayController.h.


The documentation for this class was generated from the following file: