Public Types | Public Slots | Signals | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes

QmitkStdMultiWidget Class Reference

#include <QmitkStdMultiWidget.h>

Collaboration diagram for QmitkStdMultiWidget:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { PLANE_MODE_SLICING = 0, PLANE_MODE_ROTATION, PLANE_MODE_SWIVEL }
enum  {
  LAYOUT_DEFAULT = 0, LAYOUT_2D_IMAGES_UP, LAYOUT_2D_IMAGES_LEFT, LAYOUT_BIG_3D,
  LAYOUT_WIDGET1, LAYOUT_WIDGET2, LAYOUT_WIDGET3, LAYOUT_2X_2D_AND_3D_WIDGET,
  LAYOUT_ROW_WIDGET_3_AND_4, LAYOUT_COLUMN_WIDGET_3_AND_4, LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4, LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4,
  LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET, LAYOUT_2D_UP_AND_3D_DOWN
}
enum  { TRANSVERSAL, SAGITTAL, CORONAL, THREE_D }

Public Slots

void changeLayoutTo2DImagesUp ()
void changeLayoutTo2DImagesLeft ()
void changeLayoutToDefault ()
void changeLayoutToBig3D ()
void changeLayoutToWidget1 ()
void changeLayoutToWidget2 ()
void changeLayoutToWidget3 ()
void changeLayoutToRowWidget3And4 ()
void changeLayoutToColumnWidget3And4 ()
void changeLayoutToRowWidgetSmall3andBig4 ()
void changeLayoutToSmallUpperWidget2Big3and4 ()
void changeLayoutTo2x2Dand3DWidget ()
void changeLayoutToLeft2Dand3DRight2D ()
void changeLayoutTo2DUpAnd3DDown ()
void Fit ()
void InitPositionTracking ()
void AddDisplayPlaneSubTree ()
void EnableStandardLevelWindow ()
void DisableStandardLevelWindow ()
bool InitializeStandardViews (const mitk::Geometry3D *geometry)
void wheelEvent (QWheelEvent *e)
void mousePressEvent (QMouseEvent *e)
void moveEvent (QMoveEvent *e)
void leaveEvent (QEvent *e)
void EnsureDisplayContainsPoint (mitk::DisplayGeometry *displayGeometry, const mitk::Point3D &p)
void MoveCrossToPosition (const mitk::Point3D &newPosition)
void EnableNavigationControllerEventListening ()
void DisableNavigationControllerEventListening ()
void EnableGradientBackground ()
void DisableGradientBackground ()
void EnableDepartmentLogo ()
void DisableDepartmentLogo ()
void EnableColoredRectangles ()
void DisableColoredRectangles ()
void SetWidgetPlaneVisibility (const char *widgetName, bool visible, mitk::BaseRenderer *renderer=NULL)
void SetWidgetPlanesVisibility (bool visible, mitk::BaseRenderer *renderer=NULL)
void SetWidgetPlanesLocked (bool locked)
void SetWidgetPlanesRotationLocked (bool locked)
void SetWidgetPlanesRotationLinked (bool link)
void SetWidgetPlaneMode (int mode)
void SetGradientBackgroundColors (const mitk::Color &upper, const mitk::Color &lower)
void SetDepartmentLogoPath (const char *path)
void SetWidgetPlaneModeToSlicing (bool activate)
void SetWidgetPlaneModeToRotation (bool activate)
void SetWidgetPlaneModeToSwivel (bool activate)
void OnLayoutDesignChanged (int layoutDesignIndex)
void ResetCrosshair ()

Signals

void LeftMouseClicked (mitk::Point3D pointValue)
void WheelMoved (QWheelEvent *)
void WidgetPlanesRotationLinked (bool)
void WidgetPlanesRotationEnabled (bool)
void ViewsInitialized ()
void WidgetPlaneModeSlicing (bool)
void WidgetPlaneModeRotation (bool)
void WidgetPlaneModeSwivel (bool)
void WidgetPlaneModeChange (int)
void WidgetNotifyNewCrossHairMode (int)
void Moved ()

Public Member Functions

 QmitkStdMultiWidget (QWidget *parent=0, Qt::WindowFlags f=0)
virtual ~QmitkStdMultiWidget ()
mitk::SliceNavigationControllerGetTimeNavigationController ()
void RequestUpdate ()
void ForceImmediateUpdate ()
mitk::DisplayVectorInteractorGetMoveAndZoomInteractor ()
QmitkRenderWindowGetRenderWindow1 () const
QmitkRenderWindowGetRenderWindow2 () const
QmitkRenderWindowGetRenderWindow3 () const
QmitkRenderWindowGetRenderWindow4 () const
const mitk::Point3D & GetLastLeftClickPosition () const
const mitk::Point3D GetCrossPosition () const
void EnablePositionTracking ()
void DisablePositionTracking ()
int GetLayout () const
mitk::SlicesRotatorGetSlicesRotator () const
mitk::SlicesSwivellerGetSlicesSwiveller () const
void InitializeWidget ()
void RemovePlanesFromDataStorage ()
 called when the StdMultiWidget is closed to remove the 3 widget planes and the helper node from the DataStorage
void AddPlanesToDataStorage ()
void SetDataStorage (mitk::DataStorage *ds)
void ActivateMenuWidget (bool state)
 activate Menu Widget. true: activated, false: deactivated

Public Attributes

QmitkRenderWindowmitkWidget1
QmitkRenderWindowmitkWidget2
QmitkRenderWindowmitkWidget3
QmitkRenderWindowmitkWidget4
QmitkLevelWindowWidgetlevelWindowWidget
vtkCornerAnnotation * cornerText
vtkTextProperty * textProp
vtkRenderer * ren

Protected Member Functions

void UpdateAllWidgets ()
void HideAllWidgetToolbars ()

Protected Attributes

QHBoxLayout * QmitkStdMultiWidgetLayout
int m_Layout
int m_PlaneMode
mitk::RenderWindowFrame::Pointer m_RectangleRendering3
mitk::RenderWindowFrame::Pointer m_RectangleRendering2
mitk::RenderWindowFrame::Pointer m_RectangleRendering1
mitk::RenderWindowFrame::Pointer m_RectangleRendering4
mitk::ManufacturerLogo::Pointer m_LogoRendering1
mitk::ManufacturerLogo::Pointer m_LogoRendering2
mitk::ManufacturerLogo::Pointer m_LogoRendering3
mitk::ManufacturerLogo::Pointer m_LogoRendering4
mitk::GradientBackground::Pointer m_GradientBackground1
mitk::GradientBackground::Pointer m_GradientBackground2
mitk::GradientBackground::Pointer m_GradientBackground4
mitk::GradientBackground::Pointer m_GradientBackground3
mitk::DisplayVectorInteractor::Pointer m_MoveAndZoomInteractor
mitk::CoordinateSupplier::Pointer m_LastLeftClickPositionSupplier
mitk::PositionTracker::Pointer m_PositionTracker
mitk::SliceNavigationController::Pointer m_TimeNavigationController
mitk::SlicesRotator::Pointer m_SlicesRotator
mitk::SlicesSwiveller::Pointer m_SlicesSwiveller
mitk::DataNode::Pointer m_PositionTrackerNode
mitk::DataStorage::Pointer m_DataStorage
mitk::DataNode::Pointer m_PlaneNode1
mitk::DataNode::Pointer m_PlaneNode2
mitk::DataNode::Pointer m_PlaneNode3
mitk::DataNode::Pointer m_Node
QSplitter * m_MainSplit
QSplitter * m_LayoutSplit
QSplitter * m_SubSplit1
QSplitter * m_SubSplit2
QWidget * mitkWidget1Container
QWidget * mitkWidget2Container
QWidget * mitkWidget3Container
QWidget * mitkWidget4Container
struct {
   vtkCornerAnnotation *   cornerText
   vtkTextProperty *   textProp
   vtkRenderer *   ren
m_CornerAnnotaions [3]

Detailed Description

Examples:

Step8.cpp.

Definition at line 48 of file QmitkStdMultiWidget.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
PLANE_MODE_SLICING 
PLANE_MODE_ROTATION 
PLANE_MODE_SWIVEL 

Definition at line 229 of file QmitkStdMultiWidget.h.

anonymous enum
Enumerator:
LAYOUT_DEFAULT 
LAYOUT_2D_IMAGES_UP 
LAYOUT_2D_IMAGES_LEFT 
LAYOUT_BIG_3D 
LAYOUT_WIDGET1 
LAYOUT_WIDGET2 
LAYOUT_WIDGET3 
LAYOUT_2X_2D_AND_3D_WIDGET 
LAYOUT_ROW_WIDGET_3_AND_4 
LAYOUT_COLUMN_WIDGET_3_AND_4 
LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4 
LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4 
LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET 
LAYOUT_2D_UP_AND_3D_DOWN 

Definition at line 230 of file QmitkStdMultiWidget.h.

anonymous enum
Enumerator:
TRANSVERSAL 
SAGITTAL 
CORONAL 
THREE_D 

Definition at line 237 of file QmitkStdMultiWidget.h.


Constructor & Destructor Documentation

QmitkStdMultiWidget::QmitkStdMultiWidget ( QWidget *  parent = 0,
Qt::WindowFlags  f = 0 
)

Definition at line 45 of file QmitkStdMultiWidget.cpp.

References ActivateMenuWidget(), CORONAL, InitializeWidget(), levelWindowWidget, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, OnLayoutDesignChanged(), QmitkStdMultiWidgetLayout, ResetCrosshair(), SAGITTAL, QmitkRenderWindow::SetLayoutIndex(), SetWidgetPlaneMode(), THREE_D, TRANSVERSAL, TRUE, and WidgetNotifyNewCrossHairMode().

: QWidget(parent, f), 
mitkWidget1(NULL),
mitkWidget2(NULL),
mitkWidget3(NULL),
mitkWidget4(NULL),
m_PlaneNode1(NULL), 
m_PlaneNode2(NULL), 
m_PlaneNode3(NULL), 
m_Node(NULL)
{
  /*******************************/
  //Create Widget manually
  /*******************************/

  //create Layouts
  QmitkStdMultiWidgetLayout = new QHBoxLayout( this ); 

  //Set Layout to widget
  this->setLayout(QmitkStdMultiWidgetLayout);

//  QmitkNavigationToolBar* toolBar = new QmitkNavigationToolBar();
//  QmitkStdMultiWidgetLayout->addWidget( toolBar );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //creae Widget Container
  mitkWidget1Container = new QWidget(m_SubSplit1);
  mitkWidget2Container = new QWidget(m_SubSplit1);
  mitkWidget3Container = new QWidget(m_SubSplit2);
  mitkWidget4Container = new QWidget(m_SubSplit2);

  mitkWidget1Container->setContentsMargins(0,0,0,0);
  mitkWidget2Container->setContentsMargins(0,0,0,0);
  mitkWidget3Container->setContentsMargins(0,0,0,0);
  mitkWidget4Container->setContentsMargins(0,0,0,0);

  //create Widget Layout
  QHBoxLayout *mitkWidgetLayout1 = new QHBoxLayout(mitkWidget1Container);
  QHBoxLayout *mitkWidgetLayout2 = new QHBoxLayout(mitkWidget2Container);
  QHBoxLayout *mitkWidgetLayout3 = new QHBoxLayout(mitkWidget3Container);
  QHBoxLayout *mitkWidgetLayout4 = new QHBoxLayout(mitkWidget4Container);

  mitkWidgetLayout1->setMargin(0);
  mitkWidgetLayout2->setMargin(0);
  mitkWidgetLayout3->setMargin(0);
  mitkWidgetLayout4->setMargin(0);

  //set Layout to Widget Container  
  mitkWidget1Container->setLayout(mitkWidgetLayout1); 
  mitkWidget2Container->setLayout(mitkWidgetLayout2); 
  mitkWidget3Container->setLayout(mitkWidgetLayout3); 
  mitkWidget4Container->setLayout(mitkWidgetLayout4); 

  //set SizePolicy
  mitkWidget1Container->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
  mitkWidget2Container->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
  mitkWidget3Container->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
  mitkWidget4Container->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);


  //insert Widget Container into the splitters
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget2Container );

  m_SubSplit2->addWidget( mitkWidget3Container );
  m_SubSplit2->addWidget( mitkWidget4Container );

//  mitk::RenderingManager::GetInstance()->SetGlobalInteraction( mitk::GlobalInteraction::GetInstance() );

  //Create RenderWindows 1
  mitkWidget1 = new QmitkRenderWindow(mitkWidget1Container, "stdmulti.widget1");
  mitkWidget1->setMaximumSize(2000,2000);
  mitkWidget1->SetLayoutIndex( TRANSVERSAL );
  mitkWidgetLayout1->addWidget(mitkWidget1); 

  //Create RenderWindows 2
  mitkWidget2 = new QmitkRenderWindow(mitkWidget2Container, "stdmulti.widget2");
  mitkWidget2->setMaximumSize(2000,2000);
  mitkWidget2->setEnabled( TRUE );
  mitkWidget2->SetLayoutIndex( SAGITTAL );
  mitkWidgetLayout2->addWidget(mitkWidget2); 

  //Create RenderWindows 3
  mitkWidget3 = new QmitkRenderWindow(mitkWidget3Container, "stdmulti.widget3");
  mitkWidget3->setMaximumSize(2000,2000);
  mitkWidget3->SetLayoutIndex( CORONAL );
  mitkWidgetLayout3->addWidget(mitkWidget3); 

  //Create RenderWindows 4
  mitkWidget4 = new QmitkRenderWindow(mitkWidget4Container, "stdmulti.widget4");
  mitkWidget4->setMaximumSize(2000,2000);
  mitkWidget4->SetLayoutIndex( THREE_D );
  mitkWidgetLayout4->addWidget(mitkWidget4); 

  //create SignalSlot Connection
  connect( mitkWidget1, SIGNAL( SignalLayoutDesignChanged(int) ), this, SLOT( OnLayoutDesignChanged(int) ) );
  connect( mitkWidget1, SIGNAL( ResetView() ), this, SLOT( ResetCrosshair() ) );
  connect( mitkWidget1, SIGNAL( ChangeCrosshairRotationMode(int) ), this, SLOT( SetWidgetPlaneMode(int) ) );
  connect( this, SIGNAL(WidgetNotifyNewCrossHairMode(int)), mitkWidget1, SLOT(OnWidgetPlaneModeChanged(int)) );

  connect( mitkWidget2, SIGNAL( SignalLayoutDesignChanged(int) ), this, SLOT( OnLayoutDesignChanged(int) ) );
  connect( mitkWidget2, SIGNAL( ResetView() ), this, SLOT( ResetCrosshair() ) );
  connect( mitkWidget2, SIGNAL( ChangeCrosshairRotationMode(int) ), this, SLOT( SetWidgetPlaneMode(int) ) );
  connect( this, SIGNAL(WidgetNotifyNewCrossHairMode(int)), mitkWidget2, SLOT(OnWidgetPlaneModeChanged(int)) );

  connect( mitkWidget3, SIGNAL( SignalLayoutDesignChanged(int) ), this, SLOT( OnLayoutDesignChanged(int) ) );
  connect( mitkWidget3, SIGNAL( ResetView() ), this, SLOT( ResetCrosshair() ) );
  connect( mitkWidget3, SIGNAL( ChangeCrosshairRotationMode(int) ), this, SLOT( SetWidgetPlaneMode(int) ) );
  connect( this, SIGNAL(WidgetNotifyNewCrossHairMode(int)), mitkWidget3, SLOT(OnWidgetPlaneModeChanged(int)) );

  connect( mitkWidget4, SIGNAL( SignalLayoutDesignChanged(int) ), this, SLOT( OnLayoutDesignChanged(int) ) );
  connect( mitkWidget4, SIGNAL( ResetView() ), this, SLOT( ResetCrosshair() ) );
  connect( mitkWidget4, SIGNAL( ChangeCrosshairRotationMode(int) ), this, SLOT( SetWidgetPlaneMode(int) ) );
  connect( this, SIGNAL(WidgetNotifyNewCrossHairMode(int)), mitkWidget4, SLOT(OnWidgetPlaneModeChanged(int)) );

  //Create Level Window Widget
  levelWindowWidget = new QmitkLevelWindowWidget( m_MainSplit ); //this
  levelWindowWidget->setObjectName(QString::fromUtf8("levelWindowWidget"));
  QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
  sizePolicy.setHorizontalStretch(0);
  sizePolicy.setVerticalStretch(0);
  sizePolicy.setHeightForWidth(levelWindowWidget->sizePolicy().hasHeightForWidth());
  levelWindowWidget->setSizePolicy(sizePolicy);
  levelWindowWidget->setMaximumSize(QSize(50, 2000));
  
  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //resize Image.
  this->resize( QSize(364, 477).expandedTo(minimumSizeHint()) );

  //Initialize the widgets.
  this->InitializeWidget();

  //Activate Widget Menu
  this->ActivateMenuWidget( true );
}
QmitkStdMultiWidget::~QmitkStdMultiWidget (  ) [virtual]

Definition at line 420 of file QmitkStdMultiWidget.cpp.

References DisableNavigationControllerEventListening(), DisablePositionTracking(), mitk::VtkLayerController::GetInstance(), GetRenderWindow1(), GetRenderWindow2(), GetRenderWindow3(), m_CornerAnnotaions, and ren.

{
  DisablePositionTracking();
  DisableNavigationControllerEventListening();

  mitk::VtkLayerController::GetInstance(this->GetRenderWindow1()->GetRenderWindow())->RemoveRenderer( m_CornerAnnotaions[0].ren );
  mitk::VtkLayerController::GetInstance(this->GetRenderWindow2()->GetRenderWindow())->RemoveRenderer( m_CornerAnnotaions[1].ren );
  mitk::VtkLayerController::GetInstance(this->GetRenderWindow3()->GetRenderWindow())->RemoveRenderer( m_CornerAnnotaions[2].ren );

  //Delete CornerAnnotation
  m_CornerAnnotaions[0].cornerText->Delete();
  m_CornerAnnotaions[0].textProp->Delete();
  m_CornerAnnotaions[0].ren->Delete();

  m_CornerAnnotaions[1].cornerText->Delete();
  m_CornerAnnotaions[1].textProp->Delete();
  m_CornerAnnotaions[1].ren->Delete();

  m_CornerAnnotaions[2].cornerText->Delete();
  m_CornerAnnotaions[2].textProp->Delete();
  m_CornerAnnotaions[2].ren->Delete();
}

Member Function Documentation

void QmitkStdMultiWidget::ActivateMenuWidget ( bool  state )

activate Menu Widget. true: activated, false: deactivated

Definition at line 1989 of file QmitkStdMultiWidget.cpp.

References QmitkRenderWindow::ActivateMenuWidget(), mitkWidget1, mitkWidget2, mitkWidget3, and mitkWidget4.

Referenced by QmitkStdMultiWidget().

void QmitkStdMultiWidget::AddDisplayPlaneSubTree (  ) [slot]
Examples:
Step8.cpp.

Definition at line 1284 of file QmitkStdMultiWidget.cpp.

References mitk::BaseRenderer::GetInstance(), m_Node, m_PlaneNode1, m_PlaneNode2, m_PlaneNode3, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget4, mitk::DataNode::New(), mitk::Geometry2DDataMapper2D::New(), mitk::StringProperty::New(), mitk::BoolProperty::New(), and mitk::BaseRenderer::Standard2D.

Referenced by QmitkStdMultiWidgetEditor::CreateQtPartControl(), and Step8::SetupWidgets().

{
  // add the displayed planes of the multiwidget to a node to which the subtree 
  // @a planesSubTree points ...

  float white[3] = {1.0f,1.0f,1.0f};
  mitk::Geometry2DDataMapper2D::Pointer mapper;

  // ... of widget 1
  m_PlaneNode1 = (mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow()))->GetCurrentWorldGeometry2DNode();
  m_PlaneNode1->SetColor(white, mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow()));
  m_PlaneNode1->SetProperty("visible", mitk::BoolProperty::New(true));
  m_PlaneNode1->SetProperty("name", mitk::StringProperty::New("widget1Plane"));
  m_PlaneNode1->SetProperty("includeInBoundingBox", mitk::BoolProperty::New(false));
  m_PlaneNode1->SetProperty("helper object", mitk::BoolProperty::New(true));
  mapper = mitk::Geometry2DDataMapper2D::New();
  m_PlaneNode1->SetMapper(mitk::BaseRenderer::Standard2D, mapper);

  // ... of widget 2
  m_PlaneNode2 =( mitk::BaseRenderer::GetInstance(mitkWidget2->GetRenderWindow()))->GetCurrentWorldGeometry2DNode();
  m_PlaneNode2->SetColor(white, mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow()));
  m_PlaneNode2->SetProperty("visible", mitk::BoolProperty::New(true));
  m_PlaneNode2->SetProperty("name", mitk::StringProperty::New("widget2Plane"));
  m_PlaneNode2->SetProperty("includeInBoundingBox", mitk::BoolProperty::New(false));
  m_PlaneNode2->SetProperty("helper object", mitk::BoolProperty::New(true));
  mapper = mitk::Geometry2DDataMapper2D::New();
  m_PlaneNode2->SetMapper(mitk::BaseRenderer::Standard2D, mapper);

  // ... of widget 3
  m_PlaneNode3 = (mitk::BaseRenderer::GetInstance(mitkWidget3->GetRenderWindow()))->GetCurrentWorldGeometry2DNode();
  m_PlaneNode3->SetColor(white, mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow()));
  m_PlaneNode3->SetProperty("visible", mitk::BoolProperty::New(true));
  m_PlaneNode3->SetProperty("name", mitk::StringProperty::New("widget3Plane"));
  m_PlaneNode3->SetProperty("includeInBoundingBox", mitk::BoolProperty::New(false));
  m_PlaneNode3->SetProperty("helper object", mitk::BoolProperty::New(true));
  mapper = mitk::Geometry2DDataMapper2D::New();
  m_PlaneNode3->SetMapper(mitk::BaseRenderer::Standard2D, mapper);

  m_Node = mitk::DataNode::New();
  m_Node->SetProperty("name", mitk::StringProperty::New("Widgets"));
  m_Node->SetProperty("helper object", mitk::BoolProperty::New(true));
}
void QmitkStdMultiWidget::AddPlanesToDataStorage (  )
Examples:
Step8.cpp.

Definition at line 457 of file QmitkStdMultiWidget.cpp.

References m_DataStorage, m_Node, m_PlaneNode1, m_PlaneNode2, m_PlaneNode3, and mitk::BaseRenderer::Standard2D.

Referenced by QmitkStdMultiWidgetEditor::PartVisible(), and Step8::SetupWidgets().

{
  if (m_PlaneNode1.IsNotNull() && m_PlaneNode2.IsNotNull() && m_PlaneNode3.IsNotNull() && m_Node.IsNotNull())
  {
    if (m_DataStorage.IsNotNull())
    {
      m_DataStorage->Add(m_Node);
      m_DataStorage->Add(m_PlaneNode1, m_Node);
      m_DataStorage->Add(m_PlaneNode2, m_Node);
      m_DataStorage->Add(m_PlaneNode3, m_Node);
      static_cast<mitk::Geometry2DDataMapper2D*>(m_PlaneNode1->GetMapper(mitk::BaseRenderer::Standard2D))->SetDatastorageAndGeometryBaseNode(m_DataStorage, m_Node);
      static_cast<mitk::Geometry2DDataMapper2D*>(m_PlaneNode2->GetMapper(mitk::BaseRenderer::Standard2D))->SetDatastorageAndGeometryBaseNode(m_DataStorage, m_Node);
      static_cast<mitk::Geometry2DDataMapper2D*>(m_PlaneNode3->GetMapper(mitk::BaseRenderer::Standard2D))->SetDatastorageAndGeometryBaseNode(m_DataStorage, m_Node);
    }
  }
}
void QmitkStdMultiWidget::changeLayoutTo2DImagesLeft (  ) [slot]

Definition at line 547 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_2D_IMAGES_LEFT, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to 2D images left... " << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( Qt::Vertical, m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //insert Widget into the splitters
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget2Container );
  m_SubSplit1->addWidget( mitkWidget3Container );

  //set splitterSize of SubSplit1
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit1->setSizes( splitterSize );

  m_SubSplit2->addWidget( mitkWidget4Container );

  //set splitterSize of Layout Split
  splitterSize.clear();
  splitterSize.push_back(400);
  splitterSize.push_back(1000);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show Widget if hidden
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  //update Layout Name
  m_Layout = LAYOUT_2D_IMAGES_LEFT;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_2D_IMAGES_LEFT );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_2D_IMAGES_LEFT );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_2D_IMAGES_LEFT );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_2D_IMAGES_LEFT );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutTo2DImagesUp (  ) [slot]

Definition at line 474 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_2D_IMAGES_UP, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to 2D images up... " << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //Set Layout to widget
  this->setLayout(QmitkStdMultiWidgetLayout);

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //insert Widget Container into splitter top
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget2Container );
  m_SubSplit1->addWidget( mitkWidget3Container );

  //set SplitterSize for splitter top
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit1->setSizes( splitterSize );

  //insert Widget Container into splitter bottom
  m_SubSplit2->addWidget( mitkWidget4Container );

  //set SplitterSize for splitter m_LayoutSplit
  splitterSize.clear();
  splitterSize.push_back(400);
  splitterSize.push_back(1000);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt
  m_MainSplit->show();

  //show Widget if hidden
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  //Change Layout Name
  m_Layout = LAYOUT_2D_IMAGES_UP;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_2D_IMAGES_UP );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_2D_IMAGES_UP );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_2D_IMAGES_UP );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_2D_IMAGES_UP );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutTo2DUpAnd3DDown (  ) [slot]

Definition at line 1156 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_2D_UP_AND_3D_DOWN, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget3, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

{
  SMW_INFO << "changing layout to 2D up and 3D down" << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //Set Layout to widget
  this->setLayout(QmitkStdMultiWidgetLayout);

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //insert Widget Container into splitter top
  m_SubSplit1->addWidget( mitkWidget1Container );

  //set SplitterSize for splitter top
   QList<int> splitterSize;
//   splitterSize.push_back(1000);
//   splitterSize.push_back(1000);
//   splitterSize.push_back(1000);
//   m_SubSplit1->setSizes( splitterSize );

  //insert Widget Container into splitter bottom
  m_SubSplit2->addWidget( mitkWidget4Container );

  //set SplitterSize for splitter m_LayoutSplit
  splitterSize.clear();
  splitterSize.push_back(700);
  splitterSize.push_back(700);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt
  m_MainSplit->show();

  //show/hide Widgets
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  mitkWidget2->hide();
  mitkWidget3->hide();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_2D_UP_AND_3D_DOWN;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_2D_UP_AND_3D_DOWN );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_2D_UP_AND_3D_DOWN );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_2D_UP_AND_3D_DOWN );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_2D_UP_AND_3D_DOWN );

  //update all Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutTo2x2Dand3DWidget (  ) [slot]

Definition at line 1034 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_2X_2D_AND_3D_WIDGET, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to 2 x 2D and 3D Widget" << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( Qt::Vertical, m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //add Widgets to splitter
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget2Container );
  m_SubSplit2->addWidget( mitkWidget4Container );

  //set Splitter Size
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit1->setSizes( splitterSize );
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  mitkWidget3->hide();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_2X_2D_AND_3D_WIDGET;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_2X_2D_AND_3D_WIDGET );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_2X_2D_AND_3D_WIDGET );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_2X_2D_AND_3D_WIDGET );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_2X_2D_AND_3D_WIDGET );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToBig3D (  ) [slot]

Definition at line 679 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_BIG_3D, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_MainSplit, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to big 3D ..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //add widget Splitter to main Splitter
  m_MainSplit->addWidget( mitkWidget4Container );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  mitkWidget1->hide();
  mitkWidget2->hide();
  mitkWidget3->hide();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_BIG_3D;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_BIG_3D );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_BIG_3D );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_BIG_3D );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_BIG_3D );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToColumnWidget3And4 (  ) [slot]

Definition at line 905 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_COLUMN_WIDGET_3_AND_4, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to Widget3 and 4 in one Column..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //add Widgets to splitter
  m_LayoutSplit->addWidget( mitkWidget3Container );
  m_LayoutSplit->addWidget( mitkWidget4Container );

  //set SplitterSize
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  mitkWidget1->hide();
  mitkWidget2->hide();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_COLUMN_WIDGET_3_AND_4;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_COLUMN_WIDGET_3_AND_4 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_COLUMN_WIDGET_3_AND_4 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_COLUMN_WIDGET_3_AND_4 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_COLUMN_WIDGET_3_AND_4 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToDefault (  ) [slot]

Definition at line 616 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_DEFAULT, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to default... " << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //insert Widget container into the splitters
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget2Container );

  m_SubSplit2->addWidget( mitkWidget3Container );
  m_SubSplit2->addWidget( mitkWidget4Container );

  //set splitter Size
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit1->setSizes( splitterSize );
  m_SubSplit2->setSizes( splitterSize );
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show Widget if hidden
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_DEFAULT;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_DEFAULT );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_DEFAULT );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_DEFAULT );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_DEFAULT );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToLeft2Dand3DRight2D (  ) [slot]

Definition at line 1095 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to 2D and 3D left, 2D right Widget" << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( Qt::Vertical, m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );


  //add Widgets to splitter
  m_SubSplit1->addWidget( mitkWidget1Container );
  m_SubSplit1->addWidget( mitkWidget4Container );
  m_SubSplit2->addWidget( mitkWidget2Container );

  //set Splitter Size
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit1->setSizes( splitterSize );
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  mitkWidget3->hide();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToRowWidget3And4 (  ) [slot]

Definition at line 851 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_ROW_WIDGET_3_AND_4, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by changeLayoutToRowWidgetSmall3andBig4(), and OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to Widget3 and 4 in a Row..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //add Widgets to splitter
  m_LayoutSplit->addWidget( mitkWidget3Container );
  m_LayoutSplit->addWidget( mitkWidget4Container );

  //set Splitter Size
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  mitkWidget1->hide();
  mitkWidget2->hide();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_ROW_WIDGET_3_AND_4;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_ROW_WIDGET_3_AND_4 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_ROW_WIDGET_3_AND_4 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_ROW_WIDGET_3_AND_4 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_ROW_WIDGET_3_AND_4 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToRowWidgetSmall3andBig4 (  ) [slot]

Definition at line 959 of file QmitkStdMultiWidget.cpp.

References changeLayoutToRowWidget3And4(), LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4, m_Layout, and SMW_INFO.

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to Widget3 and 4 in a Row..." << std::endl;

  this->changeLayoutToRowWidget3And4();

  m_Layout = LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4;
}
void QmitkStdMultiWidget::changeLayoutToSmallUpperWidget2Big3and4 (  ) [slot]

Definition at line 969 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_LayoutSplit, m_MainSplit, m_SubSplit1, m_SubSplit2, mitkWidget1, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, mitkWidget4Container, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to Widget3 and 4 in a Row..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //create m_LayoutSplit  and add to the mainSplit
  m_LayoutSplit = new QSplitter( Qt::Vertical, m_MainSplit );
  m_MainSplit->addWidget( m_LayoutSplit );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //create m_SubSplit1 and m_SubSplit2  
  m_SubSplit1 = new QSplitter( Qt::Vertical, m_LayoutSplit );
  m_SubSplit2 = new QSplitter( m_LayoutSplit );

  //insert Widget into the splitters
  m_SubSplit1->addWidget( mitkWidget2Container );

  m_SubSplit2->addWidget( mitkWidget3Container );
  m_SubSplit2->addWidget( mitkWidget4Container );

  //set Splitter Size
  QList<int> splitterSize;
  splitterSize.push_back(1000);
  splitterSize.push_back(1000);
  m_SubSplit2->setSizes( splitterSize );
  splitterSize.clear();
  splitterSize.push_back(500);
  splitterSize.push_back(1000);
  m_LayoutSplit->setSizes( splitterSize );

  //show mainSplitt
  m_MainSplit->show();

  //show Widget if hidden
  mitkWidget1->hide();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  if ( mitkWidget4->isHidden() ) mitkWidget4->show();

  m_Layout = LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToWidget1 (  ) [slot]

Definition at line 722 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_WIDGET1, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_MainSplit, mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget3, mitkWidget4, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to big Widget1 ..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //add widget Splitter to main Splitter
  m_MainSplit->addWidget( mitkWidget1Container );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  if ( mitkWidget1->isHidden() ) mitkWidget1->show();
  mitkWidget2->hide();
  mitkWidget3->hide();
  mitkWidget4->hide();

  m_Layout = LAYOUT_WIDGET1;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_WIDGET1 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_WIDGET1 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_WIDGET1 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_WIDGET1 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToWidget2 (  ) [slot]

Definition at line 765 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_WIDGET2, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_MainSplit, mitkWidget1, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget4, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to big Widget2 ..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //add widget Splitter to main Splitter
  m_MainSplit->addWidget( mitkWidget2Container );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  mitkWidget1->hide();
  if ( mitkWidget2->isHidden() ) mitkWidget2->show();
  mitkWidget3->hide();
  mitkWidget4->hide();

  m_Layout = LAYOUT_WIDGET2;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_WIDGET2 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_WIDGET2 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_WIDGET2 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_WIDGET2 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::changeLayoutToWidget3 (  ) [slot]

Definition at line 808 of file QmitkStdMultiWidget.cpp.

References HideAllWidgetToolbars(), LAYOUT_WIDGET3, QmitkRenderWindow::LayoutDesignListChanged(), levelWindowWidget, m_Layout, m_MainSplit, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget3Container, mitkWidget4, QmitkStdMultiWidgetLayout, SMW_INFO, and UpdateAllWidgets().

Referenced by OnLayoutDesignChanged().

{
  SMW_INFO << "changing layout to big Widget3 ..." << std::endl;

  //Hide all Menu Widgets
  this->HideAllWidgetToolbars();

  delete QmitkStdMultiWidgetLayout ;

  //create Main Layout
  QmitkStdMultiWidgetLayout =  new QHBoxLayout( this );

  //create main splitter
  m_MainSplit = new QSplitter( this );
  QmitkStdMultiWidgetLayout->addWidget( m_MainSplit );

  //add widget Splitter to main Splitter
  m_MainSplit->addWidget( mitkWidget3Container );

  //add LevelWindow Widget to mainSplitter
  m_MainSplit->addWidget( levelWindowWidget );

  //show mainSplitt and add to Layout
  m_MainSplit->show();

  //show/hide Widgets
  mitkWidget1->hide();
  mitkWidget2->hide();
  if ( mitkWidget3->isHidden() ) mitkWidget3->show();
  mitkWidget4->hide();

  m_Layout = LAYOUT_WIDGET3;

  //update Layout Design List
  mitkWidget1->LayoutDesignListChanged( LAYOUT_WIDGET3 );
  mitkWidget2->LayoutDesignListChanged( LAYOUT_WIDGET3 );
  mitkWidget3->LayoutDesignListChanged( LAYOUT_WIDGET3 );
  mitkWidget4->LayoutDesignListChanged( LAYOUT_WIDGET3 );

  //update Alle Widgets
  this->UpdateAllWidgets();
}
void QmitkStdMultiWidget::DisableColoredRectangles (  ) [slot]
void QmitkStdMultiWidget::DisableDepartmentLogo (  ) [slot]
void QmitkStdMultiWidget::DisableGradientBackground (  ) [slot]

Definition at line 1651 of file QmitkStdMultiWidget.cpp.

References m_GradientBackground4.

Referenced by QmitkOpenCVVideoControls::on_PlayButton_clicked(), and QmitkSimpleExampleView::TakeScreenshot().

{
  //m_GradientBackground1->Disable();
  //m_GradientBackground2->Disable();
  //m_GradientBackground3->Disable();
  m_GradientBackground4->Disable();
}
void QmitkStdMultiWidget::DisableNavigationControllerEventListening (  ) [slot]
void QmitkStdMultiWidget::DisablePositionTracking (  )
void QmitkStdMultiWidget::DisableStandardLevelWindow (  ) [slot]

Definition at line 1342 of file QmitkStdMultiWidget.cpp.

References levelWindowWidget.

{
  levelWindowWidget->disconnect(this);
  levelWindowWidget->hide();
}
void QmitkStdMultiWidget::EnableColoredRectangles (  ) [slot]

Definition at line 2007 of file QmitkStdMultiWidget.cpp.

References m_RectangleRendering1, m_RectangleRendering2, m_RectangleRendering3, and m_RectangleRendering4.

Referenced by QmitkSimpleExampleView::TakeScreenshot().

{
  m_RectangleRendering1->Enable(1.0, 0.0, 0.0);
  m_RectangleRendering2->Enable(0.0, 1.0, 0.0);
  m_RectangleRendering3->Enable(0.0, 0.0, 1.0);
  m_RectangleRendering4->Enable(1.0, 1.0, 0.0);
}
void QmitkStdMultiWidget::EnableDepartmentLogo (  ) [slot]
void QmitkStdMultiWidget::EnableGradientBackground (  ) [slot]

Definition at line 1640 of file QmitkStdMultiWidget.cpp.

References m_GradientBackground4.

Referenced by QmitkOpenCVVideoControls::Stop(), and QmitkSimpleExampleView::TakeScreenshot().

{
  // gradient background is by default only in widget 4, otherwise
  // interferences between 2D rendering and VTK rendering may occur.
  //m_GradientBackground1->Enable();
  //m_GradientBackground2->Enable();
  //m_GradientBackground3->Enable();
  m_GradientBackground4->Enable();
}
void QmitkStdMultiWidget::EnableNavigationControllerEventListening (  ) [slot]
void QmitkStdMultiWidget::EnablePositionTracking (  )
void QmitkStdMultiWidget::EnableStandardLevelWindow (  ) [slot]
void QmitkStdMultiWidget::EnsureDisplayContainsPoint ( mitk::DisplayGeometry displayGeometry,
const mitk::Point3D &  p 
) [slot]

Definition at line 1493 of file QmitkStdMultiWidget.cpp.

References mitk::DisplayGeometry::GetOriginInMM(), mitk::DisplayGeometry::GetScaleFactorMMPerDisplayUnit(), mitk::DisplayGeometry::GetSizeInMM(), mitk::DisplayGeometry::Map(), and mitk::DisplayGeometry::MoveBy().

Referenced by MoveCrossToPosition().

{
  mitk::Point2D pointOnPlane;
  displayGeometry->Map( p, pointOnPlane );

  // point minus origin < width or height ==> outside ?
  mitk::Vector2D pointOnRenderWindow_MM;
  pointOnRenderWindow_MM = pointOnPlane.GetVectorFromOrigin()
    - displayGeometry->GetOriginInMM();

  mitk::Vector2D sizeOfDisplay( displayGeometry->GetSizeInMM() );

  if (   sizeOfDisplay[0] < pointOnRenderWindow_MM[0]
  ||                0 > pointOnRenderWindow_MM[0]
  || sizeOfDisplay[1] < pointOnRenderWindow_MM[1]
  ||                0 > pointOnRenderWindow_MM[1] )
  {
    // point is not visible -> move geometry
    mitk::Vector2D offset( (pointOnRenderWindow_MM - sizeOfDisplay / 2.0)
      / displayGeometry->GetScaleFactorMMPerDisplayUnit() );

    displayGeometry->MoveBy( offset );
  }
}
void QmitkStdMultiWidget::Fit (  ) [slot]

Definition at line 1238 of file QmitkStdMultiWidget.cpp.

References mitk::BaseRenderer::GetInstance(), mitkWidget1, mitkWidget2, mitkWidget3, and mitkWidget4.

{
  vtkRenderer * vtkrenderer;
  mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow())->GetDisplayGeometry()->Fit();
  mitk::BaseRenderer::GetInstance(mitkWidget2->GetRenderWindow())->GetDisplayGeometry()->Fit();
  mitk::BaseRenderer::GetInstance(mitkWidget3->GetRenderWindow())->GetDisplayGeometry()->Fit();
  mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->GetDisplayGeometry()->Fit();

  int w = vtkObject::GetGlobalWarningDisplay();
  vtkObject::GlobalWarningDisplayOff();

  vtkrenderer = mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow())->GetVtkRenderer();
  if ( vtkrenderer!= NULL ) 
    vtkrenderer->ResetCamera();

  vtkrenderer = mitk::BaseRenderer::GetInstance(mitkWidget2->GetRenderWindow())->GetVtkRenderer();
  if ( vtkrenderer!= NULL ) 
    vtkrenderer->ResetCamera();

  vtkrenderer = mitk::BaseRenderer::GetInstance(mitkWidget3->GetRenderWindow())->GetVtkRenderer();
  if ( vtkrenderer!= NULL ) 
    vtkrenderer->ResetCamera();

  vtkrenderer = mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->GetVtkRenderer();
  if ( vtkrenderer!= NULL ) 
    vtkrenderer->ResetCamera();

  vtkObject::SetGlobalWarningDisplay(w);
}
void QmitkStdMultiWidget::ForceImmediateUpdate (  )

Definition at line 1366 of file QmitkStdMultiWidget.cpp.

References mitk::RenderingManager::GetInstance(), mitkWidget1, mitkWidget2, mitkWidget3, and mitkWidget4.

{
  mitk::RenderingManager::GetInstance()->ForceImmediateUpdate(mitkWidget1->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->ForceImmediateUpdate(mitkWidget2->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->ForceImmediateUpdate(mitkWidget3->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->ForceImmediateUpdate(mitkWidget4->GetRenderWindow());
}
const mitk::Point3D QmitkStdMultiWidget::GetCrossPosition (  ) const
const mitk::Point3D & QmitkStdMultiWidget::GetLastLeftClickPosition (  ) const

Definition at line 1433 of file QmitkStdMultiWidget.cpp.

References m_LastLeftClickPositionSupplier.

Referenced by mousePressEvent().

{
  return m_LastLeftClickPositionSupplier->GetCurrentPoint();
}
int QmitkStdMultiWidget::GetLayout (  ) const

Definition at line 1634 of file QmitkStdMultiWidget.cpp.

References m_Layout.

{
  return m_Layout;
}
mitk::DisplayVectorInteractor * QmitkStdMultiWidget::GetMoveAndZoomInteractor (  )
Examples:
Step8.cpp.

Definition at line 1403 of file QmitkStdMultiWidget.cpp.

References m_MoveAndZoomInteractor.

Referenced by QmitkStdMultiWidgetEditor::CreateQtPartControl(), and Step8::SetupWidgets().

{
  return m_MoveAndZoomInteractor.GetPointer();
}
QmitkRenderWindow * QmitkStdMultiWidget::GetRenderWindow1 (  ) const
QmitkRenderWindow * QmitkStdMultiWidget::GetRenderWindow2 (  ) const
QmitkRenderWindow * QmitkStdMultiWidget::GetRenderWindow3 (  ) const
QmitkRenderWindow * QmitkStdMultiWidget::GetRenderWindow4 (  ) const
mitk::SlicesRotator * QmitkStdMultiWidget::GetSlicesRotator (  ) const

Definition at line 1672 of file QmitkStdMultiWidget.cpp.

References m_SlicesRotator.

Referenced by QmitkSegmentationView::SetMultiWidget().

{
  return m_SlicesRotator;
}
mitk::SlicesSwiveller * QmitkStdMultiWidget::GetSlicesSwiveller (  ) const

Definition at line 1678 of file QmitkStdMultiWidget.cpp.

References m_SlicesSwiveller.

Referenced by QmitkSegmentationView::SetMultiWidget().

{
  return m_SlicesSwiveller;
}
mitk::SliceNavigationController * QmitkStdMultiWidget::GetTimeNavigationController (  )
void QmitkStdMultiWidget::HideAllWidgetToolbars (  ) [protected]
bool QmitkStdMultiWidget::InitializeStandardViews ( const mitk::Geometry3D geometry ) [slot]

Definition at line 1351 of file QmitkStdMultiWidget.cpp.

References mitk::RenderingManager::GetInstance().

{
  return mitk::RenderingManager::GetInstance()->InitializeViews( geometry );
}
void QmitkStdMultiWidget::InitializeWidget (  )

Definition at line 197 of file QmitkStdMultiWidget.cpp.

References mitk::SliceNavigationController::ConnectGeometrySendEvent(), mitk::SliceNavigationController::ConnectGeometryTimeEvent(), cornerText, mitk::SliceNavigationController::Frontal, mitk::GlobalInteraction::GetInstance(), mitk::RenderingManager::GetInstance(), mitk::VtkLayerController::GetInstance(), mitk::BaseRenderer::GetInstance(), GetRenderWindow1(), GetRenderWindow2(), GetRenderWindow3(), mitk::RenderWindowBase::GetSliceNavigationController(), m_CornerAnnotaions, m_GradientBackground1, m_GradientBackground2, m_GradientBackground3, m_GradientBackground4, m_LastLeftClickPositionSupplier, m_LogoRendering1, m_LogoRendering2, m_LogoRendering3, m_LogoRendering4, m_MoveAndZoomInteractor, m_PlaneMode, m_PositionTracker, m_RectangleRendering1, m_RectangleRendering2, m_RectangleRendering3, m_RectangleRendering4, m_SlicesRotator, m_SlicesSwiveller, m_TimeNavigationController, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget4, mitk::RenderWindowFrame::New(), mitk::ManufacturerLogo::New(), mitk::GradientBackground::New(), mitk::CoordinateSupplier::New(), mitk::DisplayVectorInteractor::New(), mitk::SliceNavigationController::New(), mitk::SlicesSwiveller::New(), mitk::SlicesRotator::New(), mitk::IntProperty::New(), mitk::SliceNavigationController::Original, PLANE_MODE_SLICING, ren, mitk::SliceNavigationController::Sagittal, mitk::SliceNavigationController::SetDefaultViewDirection(), mitk::BaseRenderer::Standard3D, textProp, and mitk::SliceNavigationController::Transversal.

Referenced by QmitkStdMultiWidget().

{
  m_PositionTracker = NULL;

  // transfer colors in WorldGeometry-Nodes of the associated Renderer
  QColor qcolor;
  //float color[3] = {1.0f,1.0f,1.0f};
  mitk::DataNode::Pointer planeNode;
  mitk::IntProperty::Pointer  layer;

  // of widget 1
  planeNode = mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow())->GetCurrentWorldGeometry2DNode();
  planeNode->SetColor(1.0,0.0,0.0);
  layer = mitk::IntProperty::New(1000);
  planeNode->SetProperty("layer",layer);

  // ... of widget 2
  planeNode = mitk::BaseRenderer::GetInstance(mitkWidget2->GetRenderWindow())->GetCurrentWorldGeometry2DNode();
  planeNode->SetColor(0.0,1.0,0.0);
  layer = mitk::IntProperty::New(1000);
  planeNode->SetProperty("layer",layer);

  // ... of widget 3
  planeNode = mitk::BaseRenderer::GetInstance(mitkWidget3->GetRenderWindow())->GetCurrentWorldGeometry2DNode();
  planeNode->SetColor(0.0,0.0,1.0);
  layer = mitk::IntProperty::New(1000);
  planeNode->SetProperty("layer",layer);

  // ... of widget 4
  planeNode = mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->GetCurrentWorldGeometry2DNode();
  planeNode->SetColor(1.0,1.0,0.0);
  layer = mitk::IntProperty::New(1000);
  planeNode->SetProperty("layer",layer);

  mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->SetMapperID(mitk::BaseRenderer::Standard3D);
  // Set plane mode (slicing/rotation behavior) to slicing (default)
  m_PlaneMode = PLANE_MODE_SLICING;

  // Set default view directions for SNCs
  mitkWidget1->GetSliceNavigationController()->SetDefaultViewDirection(
    mitk::SliceNavigationController::Transversal );
  mitkWidget2->GetSliceNavigationController()->SetDefaultViewDirection(
    mitk::SliceNavigationController::Sagittal );
  mitkWidget3->GetSliceNavigationController()->SetDefaultViewDirection(
    mitk::SliceNavigationController::Frontal );
  mitkWidget4->GetSliceNavigationController()->SetDefaultViewDirection(
    mitk::SliceNavigationController::Original );

  /*************************************************/
  //Write Layout Names into the viewers -- hardCoded

  //Info for later: 
  //int view = this->GetRenderWindow1()->GetSliceNavigationController()->GetDefaultViewDirection();
  //QString layoutName;
  //if( view == mitk::SliceNavigationController::Transversal )
  //  layoutName = "Transversal";
  //else if( view == mitk::SliceNavigationController::Sagittal )
  //  layoutName = "Sagittal";
  //else if( view == mitk::SliceNavigationController::Frontal )
  //  layoutName = "Coronal";
  //else if( view == mitk::SliceNavigationController::Original )
  //  layoutName = "Original";
  //if( view >= 0 && view < 4 )
  //  //write LayoutName --> Viewer 3D shoudn't write the layoutName.

  //Render Window 1 == transversal
  m_CornerAnnotaions[0].cornerText = vtkCornerAnnotation::New();
  m_CornerAnnotaions[0].cornerText->SetText(0, "Transversal");
  m_CornerAnnotaions[0].cornerText->SetMaximumFontSize(12);
  m_CornerAnnotaions[0].textProp = vtkTextProperty::New();
  m_CornerAnnotaions[0].textProp->SetColor( 1.0, 0.0, 0.0 );
  m_CornerAnnotaions[0].cornerText->SetTextProperty( m_CornerAnnotaions[0].textProp );
  m_CornerAnnotaions[0].ren = vtkRenderer::New();
  m_CornerAnnotaions[0].ren->AddActor(m_CornerAnnotaions[0].cornerText);
  mitk::VtkLayerController::GetInstance(this->GetRenderWindow1()->GetRenderWindow())->InsertForegroundRenderer(m_CornerAnnotaions[0].ren,true);
  
  //Render Window 2 == sagittal
  m_CornerAnnotaions[1].cornerText = vtkCornerAnnotation::New();
  m_CornerAnnotaions[1].cornerText->SetText(0, "Sagittal");
  m_CornerAnnotaions[1].cornerText->SetMaximumFontSize(12);
  m_CornerAnnotaions[1].textProp = vtkTextProperty::New();
  m_CornerAnnotaions[1].textProp->SetColor( 0.0, 1.0, 0.0 );
  m_CornerAnnotaions[1].cornerText->SetTextProperty( m_CornerAnnotaions[1].textProp );
  m_CornerAnnotaions[1].ren = vtkRenderer::New();
  m_CornerAnnotaions[1].ren->AddActor(m_CornerAnnotaions[1].cornerText);
  mitk::VtkLayerController::GetInstance(this->GetRenderWindow2()->GetRenderWindow())->InsertForegroundRenderer(m_CornerAnnotaions[1].ren,true);
  
  //Render Window 3 == coronal
  m_CornerAnnotaions[2].cornerText = vtkCornerAnnotation::New();
  m_CornerAnnotaions[2].cornerText->SetText(0, "Coronal");
  m_CornerAnnotaions[2].cornerText->SetMaximumFontSize(12);
  m_CornerAnnotaions[2].textProp = vtkTextProperty::New();
  m_CornerAnnotaions[2].textProp->SetColor( 0.295, 0.295, 1.0 );
  m_CornerAnnotaions[2].cornerText->SetTextProperty( m_CornerAnnotaions[2].textProp );
  m_CornerAnnotaions[2].ren = vtkRenderer::New();
  m_CornerAnnotaions[2].ren->AddActor(m_CornerAnnotaions[2].cornerText);
  mitk::VtkLayerController::GetInstance(this->GetRenderWindow3()->GetRenderWindow())->InsertForegroundRenderer(m_CornerAnnotaions[2].ren,true);
   
  /*************************************************/


  // create a slice rotator
  // m_SlicesRotator = mitk::SlicesRotator::New();
  // @TODO next line causes sure memory leak
  // rotator will be created nonetheless (will be switched on and off)
  m_SlicesRotator = mitk::SlicesRotator::New("slices-rotator");
  m_SlicesRotator->AddSliceController(
    mitkWidget1->GetSliceNavigationController() );
  m_SlicesRotator->AddSliceController(
    mitkWidget2->GetSliceNavigationController() );
  m_SlicesRotator->AddSliceController(
    mitkWidget3->GetSliceNavigationController() );

  // create a slice swiveller (using the same state-machine as SlicesRotator)
  m_SlicesSwiveller = mitk::SlicesSwiveller::New("slices-rotator");
  m_SlicesSwiveller->AddSliceController(
    mitkWidget1->GetSliceNavigationController() );
  m_SlicesSwiveller->AddSliceController(
    mitkWidget2->GetSliceNavigationController() );
  m_SlicesSwiveller->AddSliceController(
    mitkWidget3->GetSliceNavigationController() );

  //initialize m_TimeNavigationController: send time via sliceNavigationControllers
  m_TimeNavigationController = mitk::SliceNavigationController::New("dummy");
  m_TimeNavigationController->ConnectGeometryTimeEvent(
    mitkWidget1->GetSliceNavigationController() , false);
  m_TimeNavigationController->ConnectGeometryTimeEvent(
    mitkWidget2->GetSliceNavigationController() , false);
  m_TimeNavigationController->ConnectGeometryTimeEvent(
    mitkWidget3->GetSliceNavigationController() , false);
  m_TimeNavigationController->ConnectGeometryTimeEvent(
    mitkWidget4->GetSliceNavigationController() , false);
  mitkWidget1->GetSliceNavigationController()
    ->ConnectGeometrySendEvent(mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow()));

  // Set TimeNavigationController to RenderingManager
  // (which uses it internally for views initialization!)
  mitk::RenderingManager::GetInstance()->SetTimeNavigationController(
    m_TimeNavigationController );

  //reverse connection between sliceNavigationControllers and m_TimeNavigationController
  mitkWidget1->GetSliceNavigationController()
    ->ConnectGeometryTimeEvent(m_TimeNavigationController.GetPointer(), false);
  mitkWidget2->GetSliceNavigationController()
    ->ConnectGeometryTimeEvent(m_TimeNavigationController.GetPointer(), false);
  mitkWidget3->GetSliceNavigationController()
    ->ConnectGeometryTimeEvent(m_TimeNavigationController.GetPointer(), false);
  mitkWidget4->GetSliceNavigationController()
    ->ConnectGeometryTimeEvent(m_TimeNavigationController.GetPointer(), false);

  // instantiate display interactor
  m_MoveAndZoomInteractor = mitk::DisplayVectorInteractor::New(
    "moveNzoom", new mitk::DisplayInteractor() );

  m_LastLeftClickPositionSupplier =
    mitk::CoordinateSupplier::New("navigation", NULL);
  mitk::GlobalInteraction::GetInstance()->AddListener(
    m_LastLeftClickPositionSupplier
    );
  // setup gradient background
  m_GradientBackground1 = mitk::GradientBackground::New();
  m_GradientBackground1->SetRenderWindow(
    mitkWidget1->GetRenderWindow() );
  m_GradientBackground1->Disable();

  m_GradientBackground2 = mitk::GradientBackground::New();
  m_GradientBackground2->SetRenderWindow(
    mitkWidget2->GetRenderWindow() );
  m_GradientBackground2->Disable();

  m_GradientBackground3 = mitk::GradientBackground::New();
  m_GradientBackground3->SetRenderWindow(
    mitkWidget3->GetRenderWindow() );
  m_GradientBackground3->Disable();

  m_GradientBackground4 = mitk::GradientBackground::New();
  m_GradientBackground4->SetRenderWindow(
    mitkWidget4->GetRenderWindow() );
  m_GradientBackground4->SetGradientColors(0.1,0.1,0.1,0.5,0.5,0.5);
  m_GradientBackground4->Enable();

  // setup the department logo rendering
  m_LogoRendering1 = mitk::ManufacturerLogo::New();
  m_LogoRendering1->SetRenderWindow(
    mitkWidget1->GetRenderWindow() );
  m_LogoRendering1->Disable();

  m_LogoRendering2 = mitk::ManufacturerLogo::New();
  m_LogoRendering2->SetRenderWindow(
    mitkWidget2->GetRenderWindow() );
  m_LogoRendering2->Disable();

  m_LogoRendering3 = mitk::ManufacturerLogo::New();
  m_LogoRendering3->SetRenderWindow(
    mitkWidget3->GetRenderWindow() );
  m_LogoRendering3->Disable();

  m_LogoRendering4 = mitk::ManufacturerLogo::New();
  m_LogoRendering4->SetRenderWindow(
    mitkWidget4->GetRenderWindow() );
  m_LogoRendering4->Enable();

  m_RectangleRendering1 = mitk::RenderWindowFrame::New();
  m_RectangleRendering1->SetRenderWindow(
    mitkWidget1->GetRenderWindow() );
  m_RectangleRendering1->Enable(1.0,0.0,0.0);

  m_RectangleRendering2 = mitk::RenderWindowFrame::New();
  m_RectangleRendering2->SetRenderWindow(
    mitkWidget2->GetRenderWindow() );
  m_RectangleRendering2->Enable(0.0,1.0,0.0);

  m_RectangleRendering3 = mitk::RenderWindowFrame::New();
  m_RectangleRendering3->SetRenderWindow(
    mitkWidget3->GetRenderWindow() );
  m_RectangleRendering3->Enable(0.0,0.0,1.0);

  m_RectangleRendering4 = mitk::RenderWindowFrame::New();
  m_RectangleRendering4->SetRenderWindow(
    mitkWidget4->GetRenderWindow() );
  m_RectangleRendering4->Enable(1.0,1.0,0.0);
}
void QmitkStdMultiWidget::InitPositionTracking (  ) [slot]

Definition at line 1269 of file QmitkStdMultiWidget.cpp.

References m_PositionTrackerNode, mitk::BoolProperty::New(), mitk::IntProperty::New(), mitk::PointSet::New(), mitk::StringProperty::New(), and mitk::DataNode::New().

{
  //PoinSetNode for MouseOrientation
  m_PositionTrackerNode = mitk::DataNode::New();
  m_PositionTrackerNode->SetProperty("name", mitk::StringProperty::New("Mouse Position"));
  m_PositionTrackerNode->SetData( mitk::PointSet::New() );
  m_PositionTrackerNode->SetColor(1.0,0.33,0.0);
  m_PositionTrackerNode->SetProperty("layer", mitk::IntProperty::New(1001));
  m_PositionTrackerNode->SetVisibility(true);
  m_PositionTrackerNode->SetProperty("inputdevice", mitk::BoolProperty::New(true) );
  m_PositionTrackerNode->SetProperty("BaseRendererMapperID", mitk::IntProperty::New(0) );//point position 2D mouse
  m_PositionTrackerNode->SetProperty("baserenderer", mitk::StringProperty::New("N/A"));
}
void QmitkStdMultiWidget::leaveEvent ( QEvent *  e ) [slot]

Definition at line 1397 of file QmitkStdMultiWidget.cpp.

References m_SlicesRotator.

{
  //set cursor back to initial state
  m_SlicesRotator->ResetMouseCursor();
}
void QmitkStdMultiWidget::LeftMouseClicked ( mitk::Point3D  pointValue ) [signal]

Referenced by mousePressEvent().

void QmitkStdMultiWidget::mousePressEvent ( QMouseEvent *  e ) [slot]

Definition at line 1380 of file QmitkStdMultiWidget.cpp.

References GetLastLeftClickPosition(), and LeftMouseClicked().

{
   if (e->button() == Qt::LeftButton) {
       mitk::Point3D pointValue = this->GetLastLeftClickPosition();
       emit LeftMouseClicked(pointValue); 
   }
}
void QmitkStdMultiWidget::MoveCrossToPosition ( const mitk::Point3D &  newPosition ) [slot]

Definition at line 1520 of file QmitkStdMultiWidget.cpp.

References mitk::EIDLEFTMOUSEBTN, mitk::EIDLEFTMOUSERELEASE, EnsureDisplayContainsPoint(), mitk::RenderingManager::GetInstance(), mitk::BaseRenderer::GetInstance(), mitk::RenderWindowBase::GetSliceNavigationController(), mitk::StateMachine::HandleEvent(), mitk::Key_unknown, m_PlaneMode, m_SlicesRotator, m_SlicesSwiveller, mitkWidget1, mitkWidget2, mitkWidget3, PLANE_MODE_ROTATION, PLANE_MODE_SLICING, and PLANE_MODE_SWIVEL.

Referenced by QmitkPointListView::OnListViewSelectionChanged().

{
  // create a PositionEvent with the given position and
  // tell the slice navigation controllers to move there

  mitk::Point2D p2d;
  mitk::PositionEvent event( mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow()), 0, 0, 0,
    mitk::Key_unknown, p2d, newPosition );
  mitk::StateEvent stateEvent(mitk::EIDLEFTMOUSEBTN, &event);
  mitk::StateEvent stateEvent2(mitk::EIDLEFTMOUSERELEASE, &event);

  switch ( m_PlaneMode )
  {
  default:
  case PLANE_MODE_SLICING:
    mitkWidget1->GetSliceNavigationController()->HandleEvent( &stateEvent );
    mitkWidget2->GetSliceNavigationController()->HandleEvent( &stateEvent );
    mitkWidget3->GetSliceNavigationController()->HandleEvent( &stateEvent );

    // just in case SNCs will develop something that depends on the mouse
    // button being released again
    mitkWidget1->GetSliceNavigationController()->HandleEvent( &stateEvent2 );
    mitkWidget2->GetSliceNavigationController()->HandleEvent( &stateEvent2 );
    mitkWidget3->GetSliceNavigationController()->HandleEvent( &stateEvent2 );
    break;

  case PLANE_MODE_ROTATION:
    m_SlicesRotator->HandleEvent( &stateEvent );

    // just in case SNCs will develop something that depends on the mouse
    // button being released again
    m_SlicesRotator->HandleEvent( &stateEvent2 );
    break;

  case PLANE_MODE_SWIVEL:
    m_SlicesSwiveller->HandleEvent( &stateEvent );

    // just in case SNCs will develop something that depends on the mouse
    // button being released again
    m_SlicesSwiveller->HandleEvent( &stateEvent2 );
    break;
  }

  // determine if cross is now out of display
  // if so, move the display window
  EnsureDisplayContainsPoint( mitk::BaseRenderer::GetInstance(mitkWidget1->GetRenderWindow())
    ->GetDisplayGeometry(), newPosition );
  EnsureDisplayContainsPoint( mitk::BaseRenderer::GetInstance(mitkWidget2->GetRenderWindow())
    ->GetDisplayGeometry(), newPosition );
  EnsureDisplayContainsPoint( mitk::BaseRenderer::GetInstance(mitkWidget3->GetRenderWindow())
    ->GetDisplayGeometry(), newPosition );

  // update displays
  mitk::RenderingManager::GetInstance()->RequestUpdateAll();
}
void QmitkStdMultiWidget::Moved (  ) [signal]

Referenced by moveEvent().

void QmitkStdMultiWidget::moveEvent ( QMoveEvent *  e ) [slot]

Definition at line 1388 of file QmitkStdMultiWidget.cpp.

References Moved().

{
  QWidget::moveEvent( e );
  
  // it is necessary to readjust the position of the overlays as the StdMultiWidget has moved
  // unfortunately it's not done by QmitkRenderWindow::moveEvent -> must be done here
  emit Moved();
}
void QmitkStdMultiWidget::OnLayoutDesignChanged ( int  layoutDesignIndex ) [slot]

Definition at line 1889 of file QmitkStdMultiWidget.cpp.

References changeLayoutTo2DImagesLeft(), changeLayoutTo2DImagesUp(), changeLayoutTo2x2Dand3DWidget(), changeLayoutToBig3D(), changeLayoutToColumnWidget3And4(), changeLayoutToDefault(), changeLayoutToLeft2Dand3DRight2D(), changeLayoutToRowWidget3And4(), changeLayoutToRowWidgetSmall3andBig4(), changeLayoutToSmallUpperWidget2Big3and4(), changeLayoutToWidget1(), changeLayoutToWidget2(), changeLayoutToWidget3(), LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET, LAYOUT_2D_IMAGES_LEFT, LAYOUT_2D_IMAGES_UP, LAYOUT_2X_2D_AND_3D_WIDGET, LAYOUT_BIG_3D, LAYOUT_COLUMN_WIDGET_3_AND_4, LAYOUT_DEFAULT, LAYOUT_ROW_WIDGET_3_AND_4, LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4, LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4, LAYOUT_WIDGET1, LAYOUT_WIDGET2, and LAYOUT_WIDGET3.

Referenced by QmitkStdMultiWidget().

void QmitkStdMultiWidget::RemovePlanesFromDataStorage (  )

called when the StdMultiWidget is closed to remove the 3 widget planes and the helper node from the DataStorage

Definition at line 443 of file QmitkStdMultiWidget.cpp.

References m_DataStorage, m_Node, m_PlaneNode1, m_PlaneNode2, and m_PlaneNode3.

Referenced by QmitkStdMultiWidgetEditor::PartClosed(), and QmitkStdMultiWidgetEditor::PartHidden().

{
  if (m_PlaneNode1.IsNotNull() && m_PlaneNode2.IsNotNull() && m_PlaneNode3.IsNotNull() && m_Node.IsNotNull())
  {
    if(m_DataStorage.IsNotNull())
    {
      m_DataStorage->Remove(m_PlaneNode1);
      m_DataStorage->Remove(m_PlaneNode2);
      m_DataStorage->Remove(m_PlaneNode3);
      m_DataStorage->Remove(m_Node);
    }
  }
}
void QmitkStdMultiWidget::RequestUpdate (  )

Definition at line 1357 of file QmitkStdMultiWidget.cpp.

References mitk::RenderingManager::GetInstance(), mitkWidget1, mitkWidget2, mitkWidget3, and mitkWidget4.

Referenced by QmitkControlVisualizationPropertiesView::AdditionalScaling(), QmitkQBallReconstructionView::AnalyticalQBallReconstruction(), QmitkIsoSurface::CreateSurface(), QmitkControlVisualizationPropertiesView::IndexParam1Changed(), QmitkControlVisualizationPropertiesView::IndexParam2Changed(), QmitkControlVisualizationPropertiesView::NormalizationDropdownChanged(), QmitkControlVisualizationPropertiesView::OpacityMaxFaChanged(), QmitkControlVisualizationPropertiesView::OpacityMinFaChanged(), QmitkDiffusionTensorEstimation::QBallReconstructionAnalyticalButton(), QmitkDiffusionTensorEstimation::QBallReconstructionButton(), QmitkDiffusionTensorEstimation::QBallStandardAlgorithmsDeconvolutionButton(), QmitkDiffusionTensorEstimation::QBallStandardAlgorithmsDirectionButton(), QmitkDiffusionTensorEstimation::QBallStandardAlgorithmsGFAButton(), QmitkDiffusionTensorEstimation::QBallVolumesVisualizeSelectedButton(), QmitkDiffusionQuantificationView::QBIQuantification(), QmitkControlVisualizationPropertiesView::ScalingFactorChanged(), QmitkControlVisualizationPropertiesView::ShowMaxNumberChanged(), QmitkDiffusionTensorEstimation::StandardAlgorithmsDirectionButton(), QmitkDiffusionTensorEstimation::StandardAlgorithmsFAButton(), QmitkDiffusionTensorEstimation::StandardAlgorithmsRAButton(), QmitkSimpleExampleView::stereoSelectionChanged(), QmitkDiffusionQuantificationView::TensorQuantification(), QmitkControlVisualizationPropertiesView::TextIntON(), and QmitkControlVisualizationPropertiesView::VisibleOdfsON().

{
  mitk::RenderingManager::GetInstance()->RequestUpdate(mitkWidget1->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->RequestUpdate(mitkWidget2->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->RequestUpdate(mitkWidget3->GetRenderWindow());
  mitk::RenderingManager::GetInstance()->RequestUpdate(mitkWidget4->GetRenderWindow());
}
void QmitkStdMultiWidget::ResetCrosshair (  ) [slot]

Definition at line 1997 of file QmitkStdMultiWidget.cpp.

References mitk::RenderingManager::GetInstance(), m_DataStorage, PLANE_MODE_SLICING, and SetWidgetPlaneMode().

Referenced by QmitkStdMultiWidget().

{
  if (m_DataStorage.IsNotNull())
  {
    mitk::RenderingManager::GetInstance()->InitializeViews( m_DataStorage->ComputeVisibleBoundingGeometry3D() );
    // reset interactor to normal slicing
    this->SetWidgetPlaneMode(PLANE_MODE_SLICING);
  }
}
void QmitkStdMultiWidget::SetDataStorage ( mitk::DataStorage ds )
void QmitkStdMultiWidget::SetDepartmentLogoPath ( const char *  path ) [slot]

Definition at line 1854 of file QmitkStdMultiWidget.cpp.

References m_LogoRendering1, m_LogoRendering2, m_LogoRendering3, and m_LogoRendering4.

Referenced by QmitkStdMultiWidgetEditor::CreateQtPartControl().

{
  m_LogoRendering1->SetLogoSource(path);
  m_LogoRendering2->SetLogoSource(path);
  m_LogoRendering3->SetLogoSource(path);
  m_LogoRendering4->SetLogoSource(path);
}
void QmitkStdMultiWidget::SetGradientBackgroundColors ( const mitk::Color upper,
const mitk::Color lower 
) [slot]

Definition at line 1845 of file QmitkStdMultiWidget.cpp.

References m_GradientBackground1, m_GradientBackground2, m_GradientBackground3, and m_GradientBackground4.

{
  m_GradientBackground1->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
  m_GradientBackground2->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
  m_GradientBackground3->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
  m_GradientBackground4->SetGradientColors(upper[0], upper[1], upper[2], lower[0], lower[1], lower[2]);
}
void QmitkStdMultiWidget::SetWidgetPlaneMode ( int  mode ) [slot]

Definition at line 1730 of file QmitkStdMultiWidget.cpp.

References mitk::GlobalInteraction::AddListener(), mitk::RenderingManager::GetInstance(), mitk::GlobalInteraction::GetInstance(), mitk::RenderWindowBase::GetSliceNavigationController(), m_PlaneMode, m_SlicesRotator, m_SlicesSwiveller, MITK_DEBUG, mitkWidget1, mitkWidget2, mitkWidget3, mitkWidget4, PLANE_MODE_ROTATION, PLANE_MODE_SLICING, PLANE_MODE_SWIVEL, mitk::GlobalInteraction::RemoveListener(), WidgetNotifyNewCrossHairMode(), WidgetPlaneModeRotation(), WidgetPlaneModeSlicing(), and WidgetPlaneModeSwivel().

Referenced by QmitkStdMultiWidget(), ResetCrosshair(), SetWidgetPlaneModeToRotation(), SetWidgetPlaneModeToSlicing(), and SetWidgetPlaneModeToSwivel().

{
  MITK_DEBUG << "Changing crosshair mode to " << userMode;

  emit WidgetNotifyNewCrossHairMode( userMode );
  
  int mode = m_PlaneMode;
  bool link = false;
  
  // Convert user interface mode to actual mode
  {
    switch(userMode)
    {
      case 0:
        mode = PLANE_MODE_SLICING;
        link = false;
        break;
      
      case 1:
        mode = PLANE_MODE_ROTATION;
        link = false;
        break;
     
      case 2:
        mode = PLANE_MODE_ROTATION;
        link = true;
        break;
     
      case 3:
        mode = PLANE_MODE_SWIVEL;
        link = false;
        break;
    }
  }

  // Slice rotation linked
  m_SlicesRotator->SetLinkPlanes( link );
  m_SlicesSwiveller->SetLinkPlanes( link );

  // Do nothing if mode didn't change
  if ( m_PlaneMode == mode )
  {
    return;
  }

  mitk::GlobalInteraction *gi = mitk::GlobalInteraction::GetInstance();

  // Remove listeners of previous mode
  switch ( m_PlaneMode )
  {
  default:
  case PLANE_MODE_SLICING:
    // Notify MainTemplate GUI that this mode has been deselected
    emit WidgetPlaneModeSlicing( false );

    gi->RemoveListener( mitkWidget1->GetSliceNavigationController() );
    gi->RemoveListener( mitkWidget2->GetSliceNavigationController() );
    gi->RemoveListener( mitkWidget3->GetSliceNavigationController() );
    gi->RemoveListener( mitkWidget4->GetSliceNavigationController() );
    break;

  case PLANE_MODE_ROTATION:
    // Notify MainTemplate GUI that this mode has been deselected
    emit WidgetPlaneModeRotation( false );

    m_SlicesRotator->ResetMouseCursor();
    gi->RemoveListener( m_SlicesRotator );
    break;

  case PLANE_MODE_SWIVEL:
    // Notify MainTemplate GUI that this mode has been deselected
    emit WidgetPlaneModeSwivel( false );

    m_SlicesSwiveller->ResetMouseCursor();
    gi->RemoveListener( m_SlicesSwiveller );
    break;
  }

  // Set new mode and add corresponding listener to GlobalInteraction
  m_PlaneMode = mode;
  switch ( m_PlaneMode )
  {
  default:
  case PLANE_MODE_SLICING:
    // Notify MainTemplate GUI that this mode has been selected
    emit WidgetPlaneModeSlicing( true );

    // Add listeners
    gi->AddListener( mitkWidget1->GetSliceNavigationController() );
    gi->AddListener( mitkWidget2->GetSliceNavigationController() );
    gi->AddListener( mitkWidget3->GetSliceNavigationController() );
    gi->AddListener( mitkWidget4->GetSliceNavigationController() );

    mitk::RenderingManager::GetInstance()->InitializeViews();
    break;

  case PLANE_MODE_ROTATION:
    // Notify MainTemplate GUI that this mode has been selected
    emit WidgetPlaneModeRotation( true );

    // Add listener
    gi->AddListener( m_SlicesRotator );
    break;

  case PLANE_MODE_SWIVEL:
    // Notify MainTemplate GUI that this mode has been selected
    emit WidgetPlaneModeSwivel( true );

    // Add listener
    gi->AddListener( m_SlicesSwiveller );
    break;
  }
}
void QmitkStdMultiWidget::SetWidgetPlaneModeToRotation ( bool  activate ) [slot]

Definition at line 1872 of file QmitkStdMultiWidget.cpp.

References PLANE_MODE_ROTATION, and SetWidgetPlaneMode().

{
  if ( activate )
  {
    this->SetWidgetPlaneMode( PLANE_MODE_ROTATION );
  }
}
void QmitkStdMultiWidget::SetWidgetPlaneModeToSlicing ( bool  activate ) [slot]

Definition at line 1863 of file QmitkStdMultiWidget.cpp.

References PLANE_MODE_SLICING, and SetWidgetPlaneMode().

{
  if ( activate )
  {
    this->SetWidgetPlaneMode( PLANE_MODE_SLICING );
  }
}
void QmitkStdMultiWidget::SetWidgetPlaneModeToSwivel ( bool  activate ) [slot]

Definition at line 1881 of file QmitkStdMultiWidget.cpp.

References PLANE_MODE_SWIVEL, and SetWidgetPlaneMode().

{
  if ( activate )
  {
    this->SetWidgetPlaneMode( PLANE_MODE_SWIVEL );
  }
}
void QmitkStdMultiWidget::SetWidgetPlanesLocked ( bool  locked ) [slot]
void QmitkStdMultiWidget::SetWidgetPlanesRotationLinked ( bool  link ) [slot]

Definition at line 1722 of file QmitkStdMultiWidget.cpp.

References m_SlicesRotator, m_SlicesSwiveller, and WidgetPlanesRotationLinked().

{
  m_SlicesRotator->SetLinkPlanes( link );
  m_SlicesSwiveller->SetLinkPlanes( link );
  emit WidgetPlanesRotationLinked( link );
}
void QmitkStdMultiWidget::SetWidgetPlanesRotationLocked ( bool  locked ) [slot]
void QmitkStdMultiWidget::SetWidgetPlanesVisibility ( bool  visible,
mitk::BaseRenderer renderer = NULL 
) [slot]
void QmitkStdMultiWidget::SetWidgetPlaneVisibility ( const char *  widgetName,
bool  visible,
mitk::BaseRenderer renderer = NULL 
) [slot]

Definition at line 1684 of file QmitkStdMultiWidget.cpp.

References m_DataStorage, and mitk::DataNode::SetVisibility().

Referenced by SetWidgetPlanesVisibility().

{
  if (m_DataStorage.IsNotNull())
  {
    mitk::DataNode* n = m_DataStorage->GetNamedNode(widgetName);
    if (n != NULL)
      n->SetVisibility(visible, renderer);
  }
}
void QmitkStdMultiWidget::UpdateAllWidgets (  ) [protected]

Definition at line 1964 of file QmitkStdMultiWidget.cpp.

References mitkWidget1, mitkWidget1Container, mitkWidget2, mitkWidget2Container, mitkWidget3, mitkWidget3Container, mitkWidget4, and mitkWidget4Container.

Referenced by changeLayoutTo2DImagesLeft(), changeLayoutTo2DImagesUp(), changeLayoutTo2DUpAnd3DDown(), changeLayoutTo2x2Dand3DWidget(), changeLayoutToBig3D(), changeLayoutToColumnWidget3And4(), changeLayoutToDefault(), changeLayoutToLeft2Dand3DRight2D(), changeLayoutToRowWidget3And4(), changeLayoutToSmallUpperWidget2Big3and4(), changeLayoutToWidget1(), changeLayoutToWidget2(), and changeLayoutToWidget3().

{
  mitkWidget1->resize( mitkWidget1Container->frameSize().width()-1, mitkWidget1Container->frameSize().height() );
  mitkWidget1->resize( mitkWidget1Container->frameSize().width(), mitkWidget1Container->frameSize().height() );

  mitkWidget2->resize( mitkWidget2Container->frameSize().width()-1, mitkWidget2Container->frameSize().height() );
  mitkWidget2->resize( mitkWidget2Container->frameSize().width(), mitkWidget2Container->frameSize().height() );

  mitkWidget3->resize( mitkWidget3Container->frameSize().width()-1, mitkWidget3Container->frameSize().height() );
  mitkWidget3->resize( mitkWidget3Container->frameSize().width(), mitkWidget3Container->frameSize().height() );

  mitkWidget4->resize( mitkWidget4Container->frameSize().width()-1, mitkWidget4Container->frameSize().height() );
  mitkWidget4->resize( mitkWidget4Container->frameSize().width(), mitkWidget4Container->frameSize().height() );

}
void QmitkStdMultiWidget::ViewsInitialized (  ) [signal]
void QmitkStdMultiWidget::wheelEvent ( QWheelEvent *  e ) [slot]

Definition at line 1375 of file QmitkStdMultiWidget.cpp.

References WheelMoved().

{
  emit WheelMoved( e );
}
void QmitkStdMultiWidget::WheelMoved ( QWheelEvent *   ) [signal]

Referenced by wheelEvent().

void QmitkStdMultiWidget::WidgetNotifyNewCrossHairMode ( int   ) [signal]
void QmitkStdMultiWidget::WidgetPlaneModeChange ( int   ) [signal]
void QmitkStdMultiWidget::WidgetPlaneModeRotation ( bool   ) [signal]

Referenced by SetWidgetPlaneMode().

void QmitkStdMultiWidget::WidgetPlaneModeSlicing ( bool   ) [signal]

Referenced by SetWidgetPlaneMode().

void QmitkStdMultiWidget::WidgetPlaneModeSwivel ( bool   ) [signal]

Referenced by SetWidgetPlaneMode().

void QmitkStdMultiWidget::WidgetPlanesRotationEnabled ( bool   ) [signal]
void QmitkStdMultiWidget::WidgetPlanesRotationLinked ( bool   ) [signal]

Member Data Documentation

vtkCornerAnnotation* QmitkStdMultiWidget::cornerText

Definition at line 294 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget().

struct { ... } QmitkStdMultiWidget::m_CornerAnnotaions[3] [protected]

Definition at line 262 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetGradientBackgroundColors().

Definition at line 263 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetGradientBackgroundColors().

Definition at line 265 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetGradientBackgroundColors().

QSplitter* QmitkStdMultiWidget::m_LayoutSplit [protected]

Definition at line 257 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetDepartmentLogoPath().

Definition at line 258 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetDepartmentLogoPath().

Definition at line 259 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and SetDepartmentLogoPath().

QSplitter* QmitkStdMultiWidget::m_MainSplit [protected]

Definition at line 267 of file QmitkStdMultiWidget.h.

Referenced by GetMoveAndZoomInteractor(), and InitializeWidget().

QSplitter* QmitkStdMultiWidget::m_SubSplit1 [protected]
QSplitter* QmitkStdMultiWidget::m_SubSplit2 [protected]

Definition at line 296 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget(), and ~QmitkStdMultiWidget().

Definition at line 295 of file QmitkStdMultiWidget.h.

Referenced by InitializeWidget().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines