diff --git a/Examples/Tutorial/Step8.cpp b/Examples/Tutorial/Step8.cpp index fa378c4..b8a7e0d 100644 --- a/Examples/Tutorial/Step8.cpp +++ b/Examples/Tutorial/Step8.cpp @@ -64,9 +64,6 @@ void Step8::SetupWidgets() m_DataStorage->GetAll()); mitk::RenderingManager::GetInstance()->InitializeViews(geo); - // Initialize bottom-right view as 3D view - multiWidget->GetRenderWindow4()->GetRenderer()->SetMapperID( - mitk::BaseRenderer::Standard3D); // Enable standard handler for levelwindow-slider multiWidget->EnableStandardLevelWindow(); @@ -81,7 +78,7 @@ void Step8::SetupWidgets() //************************************************************************* // Moving the cut-planes to click-point - multiWidget->EnableNavigationControllerEventListening(); + //multiWidget->EnableNavigationControllerEventListening(); } /** \example Step8.cpp diff --git a/Modules/Qmitk/QmitkStdMultiWidget.cpp b/Modules/Qmitk/QmitkStdMultiWidget.cpp index 447d43a..3c9f7a5 100644 --- a/Modules/Qmitk/QmitkStdMultiWidget.cpp +++ b/Modules/Qmitk/QmitkStdMultiWidget.cpp @@ -257,7 +257,7 @@ void QmitkStdMultiWidget::InitializeWidget() layer = mitk::IntProperty::New(1000); planeNode->SetProperty("layer",layer); - mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->SetMapperID(mitk::BaseRenderer::Standard3D); + //mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())->SetMapperID(mitk::BaseRenderer::Standard2D); // Set plane mode (slicing/rotation behavior) to slicing (default) m_PlaneMode = PLANE_MODE_SLICING; @@ -269,7 +269,7 @@ void QmitkStdMultiWidget::InitializeWidget() mitkWidget3->GetSliceNavigationController()->SetDefaultViewDirection( mitk::SliceNavigationController::Frontal ); mitkWidget4->GetSliceNavigationController()->SetDefaultViewDirection( - mitk::SliceNavigationController::Original ); + mitk::SliceNavigationController::Axial ); /*************************************************/ //Write Layout Names into the viewers -- hardCoded @@ -332,43 +332,30 @@ void QmitkStdMultiWidget::InitializeWidget() // @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() ); + m_SlicesRotator->AddSliceController( mitkWidget1->GetSliceNavigationController() ); + m_SlicesRotator->AddSliceController( mitkWidget2->GetSliceNavigationController() ); + m_SlicesRotator->AddSliceController( mitkWidget3->GetSliceNavigationController() ); + m_SlicesRotator->AddSliceController( mitkWidget4->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() ); + m_SlicesSwiveller->AddSliceController( mitkWidget1->GetSliceNavigationController() ); + m_SlicesSwiveller->AddSliceController( mitkWidget2->GetSliceNavigationController() ); + m_SlicesSwiveller->AddSliceController( mitkWidget3->GetSliceNavigationController() ); //connect to the "time navigation controller": send time via sliceNavigationControllers - 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())); + 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() ->ConnectGeometryEvents(mitk::BaseRenderer::GetInstance(mitkWidget4->GetRenderWindow())); //reverse connection between sliceNavigationControllers and m_TimeNavigationController - mitkWidget1->GetSliceNavigationController() - ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); - mitkWidget2->GetSliceNavigationController() - ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); - mitkWidget3->GetSliceNavigationController() - ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); - mitkWidget4->GetSliceNavigationController() - ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); + mitkWidget1->GetSliceNavigationController() ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); + mitkWidget2->GetSliceNavigationController() ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); + mitkWidget3->GetSliceNavigationController() ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); + mitkWidget4->GetSliceNavigationController() ->ConnectGeometryTimeEvent(m_TimeNavigationController, false); m_MouseModeSwitcher = mitk::MouseModeSwitcher::New( mitk::GlobalInteraction::GetInstance() ); @@ -393,12 +380,6 @@ void QmitkStdMultiWidget::InitializeWidget() 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( @@ -415,11 +396,6 @@ void QmitkStdMultiWidget::InitializeWidget() 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() ); @@ -439,6 +415,7 @@ void QmitkStdMultiWidget::InitializeWidget() m_RectangleRendering4->SetRenderWindow( mitkWidget4->GetRenderWindow() ); m_RectangleRendering4->Enable(1.0,1.0,0.0); + } QmitkStdMultiWidget::~QmitkStdMultiWidget() @@ -502,754 +479,61 @@ void QmitkStdMultiWidget::AddPlanesToDataStorage() void QmitkStdMultiWidget::changeLayoutTo2DImagesUp() { - 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 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::changeLayoutTo2DImagesLeft() { - 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 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::changeLayoutToDefault() { - 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 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::changeLayoutToBig3D() { - 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::changeLayoutToWidget1() { - 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() { - 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() { - 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::changeLayoutToRowWidget3And4() { - 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 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::changeLayoutToColumnWidget3And4() { - 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 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::changeLayoutToRowWidgetSmall3andBig4() { - 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() { - 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 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::changeLayoutTo2x2Dand3DWidget() { - 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 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::changeLayoutToLeft2Dand3DRight2D() { - 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 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::changeLayoutTo2DUpAnd3DDown() { - 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 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(); } @@ -2014,77 +1298,6 @@ void QmitkStdMultiWidget::SetWidgetPlaneModeToSwivel( bool activate ) void QmitkStdMultiWidget::OnLayoutDesignChanged( int layoutDesignIndex ) { - switch( layoutDesignIndex ) - { - case LAYOUT_DEFAULT: - { - this->changeLayoutToDefault(); - break; - } - case LAYOUT_2D_IMAGES_UP: - { - this->changeLayoutTo2DImagesUp(); - break; - } - case LAYOUT_2D_IMAGES_LEFT: - { - this->changeLayoutTo2DImagesLeft(); - break; - } - case LAYOUT_BIG_3D: - { - this->changeLayoutToBig3D(); - break; - } - case LAYOUT_WIDGET1: - { - this->changeLayoutToWidget1(); - break; - } - case LAYOUT_WIDGET2: - { - this->changeLayoutToWidget2(); - break; - } - case LAYOUT_WIDGET3: - { - this->changeLayoutToWidget3(); - break; - } - case LAYOUT_2X_2D_AND_3D_WIDGET: - { - this->changeLayoutTo2x2Dand3DWidget(); - break; - } - case LAYOUT_ROW_WIDGET_3_AND_4: - { - this->changeLayoutToRowWidget3And4(); - break; - } - case LAYOUT_COLUMN_WIDGET_3_AND_4: - { - this->changeLayoutToColumnWidget3And4(); - break; - } - case LAYOUT_ROW_WIDGET_SMALL3_AND_BIG4: - { - this->changeLayoutToRowWidgetSmall3andBig4(); - break; - } - case LAYOUT_SMALL_UPPER_WIDGET2_BIG3_AND4: - { - this->changeLayoutToSmallUpperWidget2Big3and4(); - break; - } - case LAYOUT_2D_AND_3D_LEFT_2D_RIGHT_WIDGET: - { - this->changeLayoutToLeft2Dand3DRight2D(); - break; - } - - }; - - } void QmitkStdMultiWidget::UpdateAllWidgets()