Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
QmitkAbstractMultiWidget Class Referenceabstract

The 'QmitkAbstractMultiWidget' is a 'QWidget' that can be subclassed to display multiple render windows at once. Render windows can dynamically be added and removed to change the layout of the multi widget. A subclass of this multi widget can be used inside a 'QmitkAbstractMultiWidgetEditor'. More...

#include <QmitkAbstractMultiWidget.h>

Inheritance diagram for QmitkAbstractMultiWidget:
Collaboration diagram for QmitkAbstractMultiWidget:

Public Types

using RenderWindowWidgetPointer = std::shared_ptr< QmitkRenderWindowWidget >
 
using RenderWindowWidgetMap = std::map< QString, std::shared_ptr< QmitkRenderWindowWidget > >
 
using RenderWindowHash = QHash< QString, QmitkRenderWindow * >
 

Signals

void ActiveRenderWindowChanged ()
 

Public Member Functions

 QmitkAbstractMultiWidget (QWidget *parent=0, Qt::WindowFlags f=0, const QString &multiWidgetName="multiwidget")
 
virtual ~QmitkAbstractMultiWidget ()
 
virtual void InitializeMultiWidget ()=0
 
virtual void MultiWidgetOpened ()
 
virtual void MultiWidgetClosed ()
 
virtual void SetDataStorage (mitk::DataStorage *dataStorage)
 
mitk::DataStorageGetDataStorage () const
 
int GetRowCount () const
 
int GetColumnCount () const
 
virtual void SetLayout (int row, int column)
 
virtual void Synchronize (bool)
 
virtual void SetInteractionScheme (mitk::InteractionSchemeSwitcher::InteractionScheme scheme)
 
mitk::InteractionEventHandlerGetInteractionEventHandler ()
 
void SetDisplayActionEventHandler (std::unique_ptr< mitk::DisplayActionEventHandler > displayActionEventHandler)
 
mitk::DisplayActionEventHandlerGetDisplayActionEventHandler ()
 
RenderWindowWidgetMap GetRenderWindowWidgets () const
 
RenderWindowWidgetMap Get2DRenderWindowWidgets () const
 
RenderWindowWidgetMap Get3DRenderWindowWidgets () const
 
RenderWindowWidgetPointer GetRenderWindowWidget (int row, int column) const
 
RenderWindowWidgetPointer GetRenderWindowWidget (const QString &widgetName) const
 
RenderWindowWidgetPointer GetRenderWindowWidget (const QmitkRenderWindow *renderWindow) const
 
RenderWindowHash GetRenderWindows () const
 
QmitkRenderWindowGetRenderWindow (int row, int column) const
 
virtual QmitkRenderWindowGetRenderWindow (const QString &widgetName) const
 
virtual QmitkRenderWindowGetRenderWindow (const mitk::AnatomicalPlane &orientation) const =0
 
virtual void SetActiveRenderWindowWidget (RenderWindowWidgetPointer activeRenderWindowWidget)
 
RenderWindowWidgetPointer GetActiveRenderWindowWidget () const
 
RenderWindowWidgetPointer GetFirstRenderWindowWidget () const
 
RenderWindowWidgetPointer GetLastRenderWindowWidget () const
 
virtual QString GetNameFromIndex (int row, int column) const
 
virtual QString GetNameFromIndex (size_t index) const
 
unsigned int GetNumberOfRenderWindowWidgets () const
 
void RequestUpdate (const QString &widgetName)
 
void RequestUpdateAll ()
 
void ForceImmediateUpdate (const QString &widgetName)
 
void ForceImmediateUpdateAll ()
 
virtual void InitializeViews (const mitk::TimeGeometry *geometry, bool resetCamera)=0
 Initialize the render windows of the concrete multi widget to the given geometry. More...
 
virtual void SetInteractionReferenceGeometry (const mitk::TimeGeometry *referenceGeometry)=0
 Define the reference geometry for interaction withing a render window. More...
 
virtual bool HasCoupledRenderWindows () const =0
 Returns true if the render windows are coupled; false if not. More...
 
virtual void SetSelectedPosition (const mitk::Point3D &newPosition, const QString &widgetName)=0
 
virtual const mitk::Point3D GetSelectedPosition (const QString &widgetName) const =0
 
virtual void SetCrosshairVisibility (bool visible)=0
 
virtual bool GetCrosshairVisibility () const =0
 
virtual void SetCrosshairGap (unsigned int gapSize)=0
 
virtual void ResetCrosshair ()=0
 
virtual void SetWidgetPlaneMode (int mode)=0
 
virtual void ActivateMenuWidget (bool state)
 
virtual bool IsMenuWidgetEnabled () const
 
QmitkMultiWidgetLayoutManagerGetMultiWidgetLayoutManager () const
 

Protected Member Functions

virtual void AddRenderWindowWidget (const QString &widgetName, RenderWindowWidgetPointer renderWindowWidget)
 
virtual void RemoveRenderWindowWidget ()
 

Detailed Description

The 'QmitkAbstractMultiWidget' is a 'QWidget' that can be subclassed to display multiple render windows at once. Render windows can dynamically be added and removed to change the layout of the multi widget. A subclass of this multi widget can be used inside a 'QmitkAbstractMultiWidgetEditor'.

The class uses the 'DisplayActionEventBroadcast' and 'DisplayActionEventHandler' classes to load a state machine and set an event configuration.

Using the 'Synchronize' function the user can enable or disable the synchronization of display action events. See 'DisplayActionEventFunctions'-class for the different synchronized and non-synchronized functions used.

Definition at line 53 of file QmitkAbstractMultiWidget.h.

Member Typedef Documentation

◆ RenderWindowHash

Definition at line 61 of file QmitkAbstractMultiWidget.h.

◆ RenderWindowWidgetMap

using QmitkAbstractMultiWidget::RenderWindowWidgetMap = std::map<QString, std::shared_ptr<QmitkRenderWindowWidget> >

Definition at line 60 of file QmitkAbstractMultiWidget.h.

◆ RenderWindowWidgetPointer

Constructor & Destructor Documentation

◆ QmitkAbstractMultiWidget()

QmitkAbstractMultiWidget::QmitkAbstractMultiWidget ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0,
const QString &  multiWidgetName = "multiwidget" 
)

◆ ~QmitkAbstractMultiWidget()

virtual QmitkAbstractMultiWidget::~QmitkAbstractMultiWidget ( )
virtual

Member Function Documentation

◆ ActivateMenuWidget()

virtual void QmitkAbstractMultiWidget::ActivateMenuWidget ( bool  state)
virtual

◆ ActiveRenderWindowChanged

void QmitkAbstractMultiWidget::ActiveRenderWindowChanged ( )
signal

◆ AddRenderWindowWidget()

virtual void QmitkAbstractMultiWidget::AddRenderWindowWidget ( const QString &  widgetName,
RenderWindowWidgetPointer  renderWindowWidget 
)
protectedvirtual

◆ ForceImmediateUpdate()

void QmitkAbstractMultiWidget::ForceImmediateUpdate ( const QString &  widgetName)

◆ ForceImmediateUpdateAll()

void QmitkAbstractMultiWidget::ForceImmediateUpdateAll ( )

◆ Get2DRenderWindowWidgets()

RenderWindowWidgetMap QmitkAbstractMultiWidget::Get2DRenderWindowWidgets ( ) const

◆ Get3DRenderWindowWidgets()

RenderWindowWidgetMap QmitkAbstractMultiWidget::Get3DRenderWindowWidgets ( ) const

◆ GetActiveRenderWindowWidget()

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetActiveRenderWindowWidget ( ) const

◆ GetColumnCount()

int QmitkAbstractMultiWidget::GetColumnCount ( ) const

◆ GetCrosshairVisibility()

virtual bool QmitkAbstractMultiWidget::GetCrosshairVisibility ( ) const
pure virtual

◆ GetDataStorage()

mitk::DataStorage* QmitkAbstractMultiWidget::GetDataStorage ( ) const

◆ GetDisplayActionEventHandler()

mitk::DisplayActionEventHandler* QmitkAbstractMultiWidget::GetDisplayActionEventHandler ( )

◆ GetFirstRenderWindowWidget()

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetFirstRenderWindowWidget ( ) const

◆ GetInteractionEventHandler()

mitk::InteractionEventHandler* QmitkAbstractMultiWidget::GetInteractionEventHandler ( )

◆ GetLastRenderWindowWidget()

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetLastRenderWindowWidget ( ) const

◆ GetMultiWidgetLayoutManager()

QmitkMultiWidgetLayoutManager* QmitkAbstractMultiWidget::GetMultiWidgetLayoutManager ( ) const

◆ GetNameFromIndex() [1/2]

virtual QString QmitkAbstractMultiWidget::GetNameFromIndex ( int  row,
int  column 
) const
virtual

◆ GetNameFromIndex() [2/2]

virtual QString QmitkAbstractMultiWidget::GetNameFromIndex ( size_t  index) const
virtual

◆ GetNumberOfRenderWindowWidgets()

unsigned int QmitkAbstractMultiWidget::GetNumberOfRenderWindowWidgets ( ) const

◆ GetRenderWindow() [1/3]

virtual QmitkRenderWindow* QmitkAbstractMultiWidget::GetRenderWindow ( const mitk::AnatomicalPlane orientation) const
pure virtual

◆ GetRenderWindow() [2/3]

virtual QmitkRenderWindow* QmitkAbstractMultiWidget::GetRenderWindow ( const QString &  widgetName) const
virtual

Reimplemented in QmitkMxNMultiWidget, and QmitkStdMultiWidget.

◆ GetRenderWindow() [3/3]

QmitkRenderWindow* QmitkAbstractMultiWidget::GetRenderWindow ( int  row,
int  column 
) const

◆ GetRenderWindows()

RenderWindowHash QmitkAbstractMultiWidget::GetRenderWindows ( ) const

◆ GetRenderWindowWidget() [1/3]

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetRenderWindowWidget ( const QmitkRenderWindow renderWindow) const

◆ GetRenderWindowWidget() [2/3]

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetRenderWindowWidget ( const QString &  widgetName) const

◆ GetRenderWindowWidget() [3/3]

RenderWindowWidgetPointer QmitkAbstractMultiWidget::GetRenderWindowWidget ( int  row,
int  column 
) const

◆ GetRenderWindowWidgets()

RenderWindowWidgetMap QmitkAbstractMultiWidget::GetRenderWindowWidgets ( ) const

◆ GetRowCount()

int QmitkAbstractMultiWidget::GetRowCount ( ) const

◆ GetSelectedPosition()

virtual const mitk::Point3D QmitkAbstractMultiWidget::GetSelectedPosition ( const QString &  widgetName) const
pure virtual

◆ HasCoupledRenderWindows()

virtual bool QmitkAbstractMultiWidget::HasCoupledRenderWindows ( ) const
pure virtual

Returns true if the render windows are coupled; false if not.

Render windows are coupled if the slice navigation controller of the render windows are connected which means that always the same geometry is used for the render windows.

Implemented in QmitkMxNMultiWidget, and QmitkStdMultiWidget.

◆ InitializeMultiWidget()

virtual void QmitkAbstractMultiWidget::InitializeMultiWidget ( )
pure virtual

◆ InitializeViews()

virtual void QmitkAbstractMultiWidget::InitializeViews ( const mitk::TimeGeometry geometry,
bool  resetCamera 
)
pure virtual

Initialize the render windows of the concrete multi widget to the given geometry.

The concrete implementation is subclass-specific, no default implementation is provided here.

Parameters
geometryThe geometry to be used to initialize / update the render window's time and slice navigation controller.
resetCameraIf true, the camera and crosshair will be reset to the default view (centered, no zoom). If false, the current crosshair position and the camera zoom will be stored and reset after the reference geometry has been updated.

Implemented in QmitkMxNMultiWidget, and QmitkStdMultiWidget.

◆ IsMenuWidgetEnabled()

virtual bool QmitkAbstractMultiWidget::IsMenuWidgetEnabled ( ) const
virtual

◆ MultiWidgetClosed()

virtual void QmitkAbstractMultiWidget::MultiWidgetClosed ( )
inlinevirtual

Definition at line 71 of file QmitkAbstractMultiWidget.h.

◆ MultiWidgetOpened()

virtual void QmitkAbstractMultiWidget::MultiWidgetOpened ( )
inlinevirtual

Definition at line 70 of file QmitkAbstractMultiWidget.h.

◆ RemoveRenderWindowWidget()

virtual void QmitkAbstractMultiWidget::RemoveRenderWindowWidget ( )
protectedvirtual

Reimplemented in QmitkMxNMultiWidget.

◆ RequestUpdate()

void QmitkAbstractMultiWidget::RequestUpdate ( const QString &  widgetName)

◆ RequestUpdateAll()

void QmitkAbstractMultiWidget::RequestUpdateAll ( )

◆ ResetCrosshair()

virtual void QmitkAbstractMultiWidget::ResetCrosshair ( )
pure virtual

◆ SetActiveRenderWindowWidget()

virtual void QmitkAbstractMultiWidget::SetActiveRenderWindowWidget ( RenderWindowWidgetPointer  activeRenderWindowWidget)
virtual

Reimplemented in QmitkMxNMultiWidget.

◆ SetCrosshairGap()

virtual void QmitkAbstractMultiWidget::SetCrosshairGap ( unsigned int  gapSize)
pure virtual

◆ SetCrosshairVisibility()

virtual void QmitkAbstractMultiWidget::SetCrosshairVisibility ( bool  visible)
pure virtual

◆ SetDataStorage()

virtual void QmitkAbstractMultiWidget::SetDataStorage ( mitk::DataStorage dataStorage)
virtual

◆ SetDisplayActionEventHandler()

void QmitkAbstractMultiWidget::SetDisplayActionEventHandler ( std::unique_ptr< mitk::DisplayActionEventHandler displayActionEventHandler)

◆ SetInteractionReferenceGeometry()

virtual void QmitkAbstractMultiWidget::SetInteractionReferenceGeometry ( const mitk::TimeGeometry referenceGeometry)
pure virtual

Define the reference geometry for interaction withing a render window.

The concrete implementation is subclass-specific, no default implementation is provided here.

Parameters
referenceGeometryThe interaction reference geometry for the base renderer of the concrete multi widget. For more details, see 'BaseRenderer::SetInteractionReferenceGeometry'.

Implemented in QmitkMxNMultiWidget, and QmitkStdMultiWidget.

◆ SetInteractionScheme()

virtual void QmitkAbstractMultiWidget::SetInteractionScheme ( mitk::InteractionSchemeSwitcher::InteractionScheme  scheme)
virtual

◆ SetLayout()

virtual void QmitkAbstractMultiWidget::SetLayout ( int  row,
int  column 
)
virtual

◆ SetSelectedPosition()

virtual void QmitkAbstractMultiWidget::SetSelectedPosition ( const mitk::Point3D newPosition,
const QString &  widgetName 
)
pure virtual

◆ SetWidgetPlaneMode()

virtual void QmitkAbstractMultiWidget::SetWidgetPlaneMode ( int  mode)
pure virtual

◆ Synchronize()

virtual void QmitkAbstractMultiWidget::Synchronize ( bool  )
inlinevirtual

Reimplemented in QmitkMxNMultiWidget.

Definition at line 80 of file QmitkAbstractMultiWidget.h.


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