Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
QmitkSliceNavigationListener Class Reference

Helper class to allow QmitkAbstractView and derived classes to react on changes of the slice/time navigation. Purpose of the class to be used in view and to give the respective view class (by composition) the posibility to react on changes of the currently selected timepoint or position in the world geometry.
In order to setup this class properly the following things must be regarded: More...

#include <QmitkSliceNavigationListener.h>

Inheritance diagram for QmitkSliceNavigationListener:
Collaboration diagram for QmitkSliceNavigationListener:

Classes

struct  ObserverInfo
 

Public Slots

void RenderWindowPartActivated (mitk::IRenderWindowPart *renderWindowPart)
 
void RenderWindowPartDeactivated (mitk::IRenderWindowPart *renderWindowPart)
 

Signals

void SliceChanged ()
 

Public Member Functions

 QmitkSliceNavigationListener ()
 
More...
 
 ~QmitkSliceNavigationListener () override
 

Protected Types

typedef std::multimap< const mitk::SliceNavigationController *, ObserverInfoObserverMapType
 

Protected Slots

void OnSliceChangedDelayed ()
 

Protected Member Functions

void OnSliceChangedInternal (const itk::EventObject &e)
 Calls OnSliceChangedDelayed so the event isn't triggered multiple times. More...
 
void OnSliceNavigationControllerDeleted (const itk::Object *sender, const itk::EventObject &)
 
bool InitObservers ()
 
void RemoveObservers (const mitk::SliceNavigationController *deletedSlicer)
 
void RemoveAllObservers (mitk::IRenderWindowPart *deletedPart=nullptr)
 

Protected Attributes

mitk::IRenderWindowPartm_renderWindowPart
 
bool m_PendingSliceChangedEvent
 
ObserverMapType m_ObserverMap
 
bool m_internalUpdateFlag
 Is a visualization currently running? More...
 

Detailed Description

Helper class to allow QmitkAbstractView and derived classes to react on changes of the slice/time navigation. Purpose of the class to be used in view and to give the respective view class (by composition) the posibility to react on changes of the currently selected timepoint or position in the world geometry.
In order to setup this class properly the following things must be regarded:

  • View class must also derive public from mitk::IRenderWindowPartListener
  • View class must implement void RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart) and pass the renderWindowPart to the listener.

    void QmitkMyView::RenderWindowPartActivated(mitk::IRenderWindowPart* renderWindowPart) { this->m_SliceNavigationListener.RenderWindowPartActivated(renderWindowPart); }

  • View class must implement void RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart) and pass the renderWindowPart to the listener.

    void QmitkMyView::RenderWindowPartDeactivated(mitk::IRenderWindowPart* renderWindowPart) { this->m_SliceNavigationListener.RenderWindowPartDeactivated(renderWindowPart); }

  • View class must pass its on render window part in its CreateQtPartControl(QWidget* parent)

    this->m_SliceNavigationListener.RenderWindowPartActivated(this->GetRenderWindowPart());

  • View class must connect the SliceChanged signal of the listener as see fit.

Definition at line 60 of file QmitkSliceNavigationListener.h.

Member Typedef Documentation

◆ ObserverMapType

Constructor & Destructor Documentation

◆ QmitkSliceNavigationListener()

QmitkSliceNavigationListener::QmitkSliceNavigationListener ( )


Definition at line 25 of file QmitkSliceNavigationListener.cpp.

◆ ~QmitkSliceNavigationListener()

QmitkSliceNavigationListener::~QmitkSliceNavigationListener ( )
override

Definition at line 31 of file QmitkSliceNavigationListener.cpp.

References RemoveAllObservers().

Member Function Documentation

◆ InitObservers()

bool QmitkSliceNavigationListener::InitObservers ( )
protected

Initializes and sets the observers that are used to monitor changes in the selected position or time point in order to actualize the view.h

Definition at line 86 of file QmitkSliceNavigationListener.cpp.

References mitk::IRenderWindowPart::GetQmitkRenderWindows(), m_ObserverMap, m_renderWindowPart, OnSliceChangedInternal(), and OnSliceNavigationControllerDeleted().

Referenced by RenderWindowPartActivated().

◆ OnSliceChangedDelayed

void QmitkSliceNavigationListener::OnSliceChangedDelayed ( )
protectedslot

Overwrite function to implement the behavior on slice/time changes.

Definition at line 36 of file QmitkSliceNavigationListener.cpp.

References m_PendingSliceChangedEvent, and SliceChanged().

Referenced by OnSliceChangedInternal().

◆ OnSliceChangedInternal()

void QmitkSliceNavigationListener::OnSliceChangedInternal ( const itk::EventObject &  e)
protected

Calls OnSliceChangedDelayed so the event isn't triggered multiple times.

Definition at line 43 of file QmitkSliceNavigationListener.cpp.

References m_PendingSliceChangedEvent, and OnSliceChangedDelayed().

Referenced by InitObservers().

◆ OnSliceNavigationControllerDeleted()

void QmitkSliceNavigationListener::OnSliceNavigationControllerDeleted ( const itk::Object *  sender,
const itk::EventObject &   
)
protected

Definition at line 57 of file QmitkSliceNavigationListener.cpp.

References RemoveObservers().

Referenced by InitObservers().

◆ RemoveAllObservers()

void QmitkSliceNavigationListener::RemoveAllObservers ( mitk::IRenderWindowPart deletedPart = nullptr)
protected

Removes all observers of the deletedPart. If null pointer is passed all observers will be removed.

Definition at line 154 of file QmitkSliceNavigationListener.cpp.

References m_ObserverMap.

Referenced by RenderWindowPartDeactivated(), and ~QmitkSliceNavigationListener().

◆ RemoveObservers()

void QmitkSliceNavigationListener::RemoveObservers ( const mitk::SliceNavigationController deletedSlicer)
protected

Definition at line 141 of file QmitkSliceNavigationListener.cpp.

References m_ObserverMap.

Referenced by OnSliceNavigationControllerDeleted().

◆ RenderWindowPartActivated

void QmitkSliceNavigationListener::RenderWindowPartActivated ( mitk::IRenderWindowPart renderWindowPart)
slot

Definition at line 65 of file QmitkSliceNavigationListener.cpp.

References InitObservers(), and m_renderWindowPart.

◆ RenderWindowPartDeactivated

void QmitkSliceNavigationListener::RenderWindowPartDeactivated ( mitk::IRenderWindowPart renderWindowPart)
slot

Definition at line 80 of file QmitkSliceNavigationListener.cpp.

References m_renderWindowPart, and RemoveAllObservers().

◆ SliceChanged

void QmitkSliceNavigationListener::SliceChanged ( )
signal

Referenced by OnSliceChangedDelayed().

Member Data Documentation

◆ m_internalUpdateFlag

bool QmitkSliceNavigationListener::m_internalUpdateFlag
protected

Is a visualization currently running?

Definition at line 114 of file QmitkSliceNavigationListener.h.

◆ m_ObserverMap

ObserverMapType QmitkSliceNavigationListener::m_ObserverMap
protected

◆ m_PendingSliceChangedEvent

bool QmitkSliceNavigationListener::m_PendingSliceChangedEvent
protected

Definition at line 96 of file QmitkSliceNavigationListener.h.

Referenced by OnSliceChangedDelayed(), and OnSliceChangedInternal().

◆ m_renderWindowPart

mitk::IRenderWindowPart* QmitkSliceNavigationListener::m_renderWindowPart
protected

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