Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
QmitkMxNMultiWidget Class Reference

The 'QmitkMxNMultiWidget' is a 'QmitkAbstractMultiWidget' that is used to display multiple render windows at once. Render windows can dynamically be added and removed to change the layout of the multi widget. This is done by using the 'SetLayout'-function to define a layout. This will automatically add or remove the appropriate number of render window widgets. More...

#include <QmitkMxNMultiWidget.h>

Inheritance diagram for QmitkMxNMultiWidget:
Collaboration diagram for QmitkMxNMultiWidget:

Public Slots

void wheelEvent (QWheelEvent *e) override
 
void mousePressEvent (QMouseEvent *e) override
 
void moveEvent (QMoveEvent *e) override
 
void LoadLayout (const nlohmann::json *jsonData)
 
void SaveLayout (std::ostream *outStream)
 

Signals

void WheelMoved (QWheelEvent *)
 
void Moved ()
 
void UpdateUtilityWidgetViewPlanes ()
 
void LayoutChanged ()
 
- Signals inherited from QmitkAbstractMultiWidget
void ActiveRenderWindowChanged ()
 

Public Member Functions

 QmitkMxNMultiWidget (QWidget *parent=nullptr, Qt::WindowFlags f=0, const QString &multiWidgetName="mxn")
 
 ~QmitkMxNMultiWidget ()
 
void InitializeMultiWidget () override
 
void Synchronize (bool synchronized) override
 
QmitkRenderWindowGetRenderWindow (const QString &widgetName) const override
 
QmitkRenderWindowGetRenderWindow (const mitk::AnatomicalPlane &orientation) const override
 
void SetActiveRenderWindowWidget (RenderWindowWidgetPointer activeRenderWindowWidget) override
 
void InitializeViews (const mitk::TimeGeometry *geometry, bool resetCamera) override
 Initialize the active render windows of the MxNMultiWidget to the given geometry. More...
 
void SetInteractionReferenceGeometry (const mitk::TimeGeometry *referenceGeometry) override
 Forward the given time geometry to all base renderers, so that they can store it as their interaction reference geometry. This will update the alignment status of the reference geometry for each base renderer. For more details, see 'BaseRenderer::SetInteractionReferenceGeometry'. Overridem from 'QmitkAbstractMultiWidget'. More...
 
bool HasCoupledRenderWindows () const override
 Returns true if the render windows are coupled; false if not. More...
 
void SetSelectedPosition (const mitk::Point3D &newPosition, const QString &widgetName) override
 
const mitk::Point3D GetSelectedPosition (const QString &widgetName) const override
 
void SetCrosshairVisibility (bool visible) override
 
bool GetCrosshairVisibility () const override
 
void SetCrosshairGap (unsigned int gapSize) override
 
void ResetCrosshair () override
 
void SetWidgetPlaneMode (int userMode) override
 
mitk::SliceNavigationControllerGetTimeNavigationController ()
 
void EnableCrosshair ()
 
void DisableCrosshair ()
 
- Public Member Functions inherited from QmitkAbstractMultiWidget
 QmitkAbstractMultiWidget (QWidget *parent=0, Qt::WindowFlags f=0, const QString &multiWidgetName="multiwidget")
 
virtual ~QmitkAbstractMultiWidget ()
 
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 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
 
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 ActivateMenuWidget (bool state)
 
virtual bool IsMenuWidgetEnabled () const
 
QmitkMultiWidgetLayoutManagerGetMultiWidgetLayoutManager () const
 

Protected Member Functions

void RemoveRenderWindowWidget () override
 
- Protected Member Functions inherited from QmitkAbstractMultiWidget
virtual void AddRenderWindowWidget (const QString &widgetName, RenderWindowWidgetPointer renderWindowWidget)
 

Additional Inherited Members

- Public Types inherited from QmitkAbstractMultiWidget
using RenderWindowWidgetPointer = std::shared_ptr< QmitkRenderWindowWidget >
 
using RenderWindowWidgetMap = std::map< QString, std::shared_ptr< QmitkRenderWindowWidget > >
 
using RenderWindowHash = QHash< QString, QmitkRenderWindow * >
 

Detailed Description

The 'QmitkMxNMultiWidget' is a 'QmitkAbstractMultiWidget' that is used to display multiple render windows at once. Render windows can dynamically be added and removed to change the layout of the multi widget. This is done by using the 'SetLayout'-function to define a layout. This will automatically add or remove the appropriate number of render window widgets.

Definition at line 33 of file QmitkMxNMultiWidget.h.

Constructor & Destructor Documentation

◆ QmitkMxNMultiWidget()

QmitkMxNMultiWidget::QmitkMxNMultiWidget ( QWidget *  parent = nullptr,
Qt::WindowFlags  f = 0,
const QString &  multiWidgetName = "mxn" 
)

◆ ~QmitkMxNMultiWidget()

QmitkMxNMultiWidget::~QmitkMxNMultiWidget ( )

Member Function Documentation

◆ DisableCrosshair()

void QmitkMxNMultiWidget::DisableCrosshair ( )

◆ EnableCrosshair()

void QmitkMxNMultiWidget::EnableCrosshair ( )

◆ GetCrosshairVisibility()

bool QmitkMxNMultiWidget::GetCrosshairVisibility ( ) const
overridevirtual

◆ GetRenderWindow() [1/2]

QmitkRenderWindow* QmitkMxNMultiWidget::GetRenderWindow ( const mitk::AnatomicalPlane orientation) const
overridevirtual

◆ GetRenderWindow() [2/2]

QmitkRenderWindow* QmitkMxNMultiWidget::GetRenderWindow ( const QString &  widgetName) const
overridevirtual

Reimplemented from QmitkAbstractMultiWidget.

◆ GetSelectedPosition()

const mitk::Point3D QmitkMxNMultiWidget::GetSelectedPosition ( const QString &  widgetName) const
overridevirtual

◆ GetTimeNavigationController()

mitk::SliceNavigationController* QmitkMxNMultiWidget::GetTimeNavigationController ( )

◆ HasCoupledRenderWindows()

bool QmitkMxNMultiWidget::HasCoupledRenderWindows ( ) const
overridevirtual

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

For the MxNMultiWidget the render windows are typically decoupled.

Implements QmitkAbstractMultiWidget.

◆ InitializeMultiWidget()

void QmitkMxNMultiWidget::InitializeMultiWidget ( )
overridevirtual

◆ InitializeViews()

void QmitkMxNMultiWidget::InitializeViews ( const mitk::TimeGeometry geometry,
bool  resetCamera 
)
overridevirtual

Initialize the active render windows of the MxNMultiWidget to the given geometry.

Parameters
geometryThe geometry to be used to initialize / update the active 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.

Implements QmitkAbstractMultiWidget.

◆ LayoutChanged

void QmitkMxNMultiWidget::LayoutChanged ( )
signal

◆ LoadLayout

void QmitkMxNMultiWidget::LoadLayout ( const nlohmann::json *  jsonData)
slot

◆ mousePressEvent

void QmitkMxNMultiWidget::mousePressEvent ( QMouseEvent *  e)
overrideslot

◆ Moved

void QmitkMxNMultiWidget::Moved ( )
signal

◆ moveEvent

void QmitkMxNMultiWidget::moveEvent ( QMoveEvent *  e)
overrideslot

◆ RemoveRenderWindowWidget()

void QmitkMxNMultiWidget::RemoveRenderWindowWidget ( )
overrideprotectedvirtual

Reimplemented from QmitkAbstractMultiWidget.

◆ ResetCrosshair()

void QmitkMxNMultiWidget::ResetCrosshair ( )
overridevirtual

◆ SaveLayout

void QmitkMxNMultiWidget::SaveLayout ( std::ostream *  outStream)
slot

◆ SetActiveRenderWindowWidget()

void QmitkMxNMultiWidget::SetActiveRenderWindowWidget ( RenderWindowWidgetPointer  activeRenderWindowWidget)
overridevirtual

Reimplemented from QmitkAbstractMultiWidget.

◆ SetCrosshairGap()

void QmitkMxNMultiWidget::SetCrosshairGap ( unsigned int  gapSize)
overridevirtual

◆ SetCrosshairVisibility()

void QmitkMxNMultiWidget::SetCrosshairVisibility ( bool  visible)
overridevirtual

◆ SetInteractionReferenceGeometry()

void QmitkMxNMultiWidget::SetInteractionReferenceGeometry ( const mitk::TimeGeometry referenceGeometry)
overridevirtual

Forward the given time geometry to all base renderers, so that they can store it as their interaction reference geometry. This will update the alignment status of the reference geometry for each base renderer. For more details, see 'BaseRenderer::SetInteractionReferenceGeometry'. Overridem from 'QmitkAbstractMultiWidget'.

Implements QmitkAbstractMultiWidget.

◆ SetSelectedPosition()

void QmitkMxNMultiWidget::SetSelectedPosition ( const mitk::Point3D newPosition,
const QString &  widgetName 
)
overridevirtual

◆ SetWidgetPlaneMode()

void QmitkMxNMultiWidget::SetWidgetPlaneMode ( int  userMode)
overridevirtual

◆ Synchronize()

void QmitkMxNMultiWidget::Synchronize ( bool  synchronized)
overridevirtual

Reimplemented from QmitkAbstractMultiWidget.

◆ UpdateUtilityWidgetViewPlanes

void QmitkMxNMultiWidget::UpdateUtilityWidgetViewPlanes ( )
signal

◆ wheelEvent

void QmitkMxNMultiWidget::wheelEvent ( QWheelEvent *  e)
overrideslot

◆ WheelMoved

void QmitkMxNMultiWidget::WheelMoved ( QWheelEvent *  )
signal

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