Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
QmitkMultiWidgetLayoutManager Class Reference

The layout manager provides different layout-functions that can modify the layout of an QmitkAbstractMultiWidget. More...

#include <QmitkMultiWidgetLayoutManager.h>

Inheritance diagram for QmitkMultiWidgetLayoutManager:
Collaboration diagram for QmitkMultiWidgetLayoutManager:

Public Types

enum  LayoutDesign {
  LayoutDesign::DEFAULT, LayoutDesign::ALL_2D_TOP_3D_BOTTOM, LayoutDesign::ALL_2D_LEFT_3D_RIGHT, LayoutDesign::ONE_BIG,
  LayoutDesign::ONLY_2D_HORIZONTAL, LayoutDesign::ONLY_2D_VERTICAL, LayoutDesign::ONE_TOP_3D_BOTTOM, LayoutDesign::ONE_LEFT_3D_RIGHT,
  LayoutDesign::ALL_HORIZONTAL, LayoutDesign::ALL_VERTICAL, LayoutDesign::REMOVE_ONE, LayoutDesign::NONE
}
 

Public Member Functions

 QmitkMultiWidgetLayoutManager (QmitkAbstractMultiWidget *multiwidget)
 
void SetLayoutDesign (LayoutDesign layoutDesign)
 This function is called by render window widgets. Given a specific layout design the layout of the multi widget data member is set with this method. More...
 
void SetCurrentRenderWindowWidget (QmitkRenderWindowWidget *renderWindowWidget)
 Allow setting the current render window widget without relying on the sending object. More...
 
void SetDefaultLayout ()
 The default layout shows all render windows in a rectangle. More...
 
void SetAll2DTop3DBottomLayout ()
 All 2D render windows are spread horizontally above all 3D render windows. More...
 
void SetAll2DLeft3DRightLayout ()
 All 2D render windows are spread vertically beneath all 3D render windows. More...
 
void SetOneBigLayout ()
 The current render window is displayed as a single 'full screen' render window. More...
 
void SetOnly2DHorizontalLayout ()
 All 2D render windows are spread horizontally, no 3D render windows. More...
 
void SetOnly2DVerticalLayout ()
 All 2D render windows are spread vertically, no 3D render windows. More...
 
void SetOneTop3DBottomLayout ()
 The current render window is put above all 3D render windows, which are spread horizontally below the current render window. More...
 
void SetOneLeft3DRightLayout ()
 The current render window is put beneath all 3D render windows, which are spread vertically beneath the current render window. More...
 
void SetAllHorizontalLayout ()
 All 2D and 3D render windows are spread horizontally. More...
 
void SetAllVerticalLayout ()
 All 2D and 3D render windows are spread vertically. More...
 
void RemoveOneLayout ()
 Hide the current render window. More...
 

Detailed Description

The layout manager provides different layout-functions that can modify the layout of an QmitkAbstractMultiWidget.

The constructor is used with the specific multi widget that should be modified. The function 'SetLayoutDesign' can then be used to modify the layout of the multi widget. The function needs to be called with the signal-slot syntax from a 'QmitkRenderWindow' since it retrieves the specific render window and sets it as the current render window. Some layouts work with a specific render window (e.g. ONE_BIG / SetOneBigLayout()), so the current render window is then used by these layout functions. The publicly accessible layout functions can also be called directly but in order to work the current render window needs to be set before by using 'SetCurrentRenderWindowWidget'.

Definition at line 35 of file QmitkMultiWidgetLayoutManager.h.

Member Enumeration Documentation

◆ LayoutDesign

Enumerator
DEFAULT 
ALL_2D_TOP_3D_BOTTOM 
ALL_2D_LEFT_3D_RIGHT 
ONE_BIG 
ONLY_2D_HORIZONTAL 
ONLY_2D_VERTICAL 
ONE_TOP_3D_BOTTOM 
ONE_LEFT_3D_RIGHT 
ALL_HORIZONTAL 
ALL_VERTICAL 
REMOVE_ONE 
NONE 

Definition at line 41 of file QmitkMultiWidgetLayoutManager.h.

Constructor & Destructor Documentation

◆ QmitkMultiWidgetLayoutManager()

QmitkMultiWidgetLayoutManager::QmitkMultiWidgetLayoutManager ( QmitkAbstractMultiWidget multiwidget)

Member Function Documentation

◆ RemoveOneLayout()

void QmitkMultiWidgetLayoutManager::RemoveOneLayout ( )

Hide the current render window.

◆ SetAll2DLeft3DRightLayout()

void QmitkMultiWidgetLayoutManager::SetAll2DLeft3DRightLayout ( )

All 2D render windows are spread vertically beneath all 3D render windows.

◆ SetAll2DTop3DBottomLayout()

void QmitkMultiWidgetLayoutManager::SetAll2DTop3DBottomLayout ( )

All 2D render windows are spread horizontally above all 3D render windows.

◆ SetAllHorizontalLayout()

void QmitkMultiWidgetLayoutManager::SetAllHorizontalLayout ( )

All 2D and 3D render windows are spread horizontally.

◆ SetAllVerticalLayout()

void QmitkMultiWidgetLayoutManager::SetAllVerticalLayout ( )

All 2D and 3D render windows are spread vertically.

◆ SetCurrentRenderWindowWidget()

void QmitkMultiWidgetLayoutManager::SetCurrentRenderWindowWidget ( QmitkRenderWindowWidget renderWindowWidget)

Allow setting the current render window widget without relying on the sending object.

Calling 'SetLayoutDesign' will overwrite the current render window widget but using the public layout setter the current render window widget can be defined using the function. This is necessary for layouts that work with a specific selected render window widget.

◆ SetDefaultLayout()

void QmitkMultiWidgetLayoutManager::SetDefaultLayout ( )

The default layout shows all render windows in a rectangle.

◆ SetLayoutDesign()

void QmitkMultiWidgetLayoutManager::SetLayoutDesign ( LayoutDesign  layoutDesign)

This function is called by render window widgets. Given a specific layout design the layout of the multi widget data member is set with this method.

◆ SetOneBigLayout()

void QmitkMultiWidgetLayoutManager::SetOneBigLayout ( )

The current render window is displayed as a single 'full screen' render window.

◆ SetOneLeft3DRightLayout()

void QmitkMultiWidgetLayoutManager::SetOneLeft3DRightLayout ( )

The current render window is put beneath all 3D render windows, which are spread vertically beneath the current render window.

◆ SetOneTop3DBottomLayout()

void QmitkMultiWidgetLayoutManager::SetOneTop3DBottomLayout ( )

The current render window is put above all 3D render windows, which are spread horizontally below the current render window.

◆ SetOnly2DHorizontalLayout()

void QmitkMultiWidgetLayoutManager::SetOnly2DHorizontalLayout ( )

All 2D render windows are spread horizontally, no 3D render windows.

◆ SetOnly2DVerticalLayout()

void QmitkMultiWidgetLayoutManager::SetOnly2DVerticalLayout ( )

All 2D render windows are spread vertically, no 3D render windows.


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