Medical Imaging Interaction Toolkit  2016.11.0
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=NULL)
 constructor with mandatory QmitkRenderWindow and optional mitk::PropertyList More...
 
virtual ~QmitkOverlayController ()
 
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 57 of file QmitkOverlayController.h.

Member Typedef Documentation

Definition at line 136 of file QmitkOverlayController.h.

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

Definition at line 137 of file QmitkOverlayController.h.

Constructor & Destructor Documentation

QmitkOverlayController::QmitkOverlayController ( QmitkRenderWindow rw,
mitk::PropertyList pl = NULL 
)
QmitkOverlayController::~QmitkOverlayController ( )
virtual

Definition at line 47 of file QmitkOverlayController.cpp.

Member Function Documentation

void QmitkOverlayController::AddOverlay ( QmitkOverlay overlay)

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.

Definition at line 310 of file QmitkOverlayController.cpp.

References AdjustOverlayPosition(), QmitkOverlay::GetPosition(), mitk::RenderingManager::GetPropertyList(), mitk::RenderWindowBase::GetRenderer(), mitk::BaseRenderer::GetRenderingManager(), QmitkOverlay::GetWidget(), m_AllOverlays, m_PositionedOverlays, m_PropertyList, m_RenderWindow, MITK_ERROR, RestackOverlays(), and UpdateOverlayData().

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.

Definition at line 173 of file QmitkOverlayController.cpp.

References AdjustOverlayPosition(), QmitkOverlay::bottom_Center, QmitkOverlay::bottom_Left, QmitkOverlay::bottom_Right, QmitkOverlay::middle_Left, QmitkOverlay::middle_Right, QmitkOverlay::top_Center, QmitkOverlay::top_Left, and QmitkOverlay::top_Right.

Referenced by QmitkOverlayController().

void QmitkOverlayController::AlignOverlays ( )
protectedvirtual

re-aligning the overlays - not implemented yet

Definition at line 396 of file QmitkOverlayController.cpp.

QSize QmitkOverlayController::GetMinimumSizeForWidget ( QmitkOverlay::DisplayPosition  displayPosition)
protected
mitk::PropertyList* QmitkOverlayController::GetPropertyList ( )

getter for the RenderWindow-specific PropertyList

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.

Definition at line 51 of file QmitkOverlayController.cpp.

References QmitkOverlay::bottom_Center, QmitkOverlay::bottom_Left, QmitkOverlay::bottom_Right, InitializeWidget(), QmitkOverlay::middle_Left, QmitkOverlay::middle_Right, QmitkOverlay::top_Center, QmitkOverlay::top_Left, and QmitkOverlay::top_Right.

Referenced by QmitkOverlayController().

void QmitkOverlayController::RemoveAllOverlays ( )

Definition at line 353 of file QmitkOverlayController.cpp.

References QmitkOverlay::GetWidget(), and m_AllOverlays.

void QmitkOverlayController::RemoveOverlay ( QmitkOverlay overlay)
void QmitkOverlayController::SetOverlayVisibility ( bool  visible)

setting the visibility of all overlays

Definition at line 281 of file QmitkOverlayController.cpp.

References m_AllOverlays, and m_PositionedOverlays.

Referenced by QmitkOverlayController().

void QmitkOverlayController::SetPropertyList ( mitk::PropertyList )

setter for the RenderWindow-specific PropertyList

void QmitkOverlayController::UpdateAllOverlays ( )
slot

Definition at line 473 of file QmitkOverlayController.cpp.

References m_AllOverlays, and UpdateOverlayData().

void QmitkOverlayController::UpdateOverlayData ( QmitkOverlay overlay)
slot

Member Data Documentation

OverlayVector QmitkOverlayController::m_AllOverlays
protected

all QmitkOverlays that are currently added

Definition at line 142 of file QmitkOverlayController.h.

Referenced by AddOverlay(), GetMinimumSizeForWidget(), RemoveAllOverlays(), RemoveOverlay(), RestackOverlays(), SetOverlayVisibility(), and UpdateAllOverlays().

OverlayPositionMap QmitkOverlayController::m_PositionedOverlays
protected

all possible positions and the QWidgets representing the corresponding QmitkOverlays

Definition at line 147 of file QmitkOverlayController.h.

Referenced by AddOverlay(), AdjustOverlayPosition(), InitializeWidget(), RemoveOverlay(), RestackOverlays(), and SetOverlayVisibility().

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

PropertyList for RenderWindow-specific properties.

Definition at line 157 of file QmitkOverlayController.h.

Referenced by AddOverlay(), QmitkOverlayController(), and UpdateOverlayData().

QmitkRenderWindow* QmitkOverlayController::m_RenderWindow
protected

RenderWindow that all Overlays will be added to.

Definition at line 152 of file QmitkOverlayController.h.

Referenced by AddOverlay(), AdjustOverlayPosition(), InitializeWidget(), and QmitkOverlayController().


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