mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-02 20:30:46 -06:00
Make sure to track active 3d view even if it docks in plot window
This commit is contained in:
1 parent
0c8c3865f1
commit
fa8ed95a37
1 file changed
+16
-9
@@ -181,31 +181,38 @@ void RimDockWindowController::setAsActiveViewer()
|
|||||||
|
|
||||||
if ( auto pdmView = viewPdmObject() )
|
if ( auto pdmView = viewPdmObject() )
|
||||||
{
|
{
|
||||||
for ( auto viewWin : getMainWindow()->viewWindows() )
|
auto view3d = dynamic_cast<Rim3dView*>( pdmView );
|
||||||
|
auto viewPlot = dynamic_cast<RimPlotWindow*>( pdmView );
|
||||||
|
|
||||||
|
RiuMainWindowBase* mainWindow = RiaGuiApplication::instance()->mainWindow();
|
||||||
|
if ( viewPlot ) mainWindow = RiaGuiApplication::instance()->mainPlotWindow();
|
||||||
|
if ( !mainWindow ) return;
|
||||||
|
|
||||||
|
for ( auto view : mainWindow->viewWindows() )
|
||||||
{
|
{
|
||||||
if ( viewWin->isActive() )
|
if ( view->isActive() )
|
||||||
{
|
{
|
||||||
viewWin->setActive( false );
|
view->setActive( false );
|
||||||
viewWin->updateWindowTitle();
|
view->updateWindowTitle();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pdmView->setActive( true );
|
pdmView->setActive( true );
|
||||||
pdmView->updateWindowTitle();
|
pdmView->updateWindowTitle();
|
||||||
|
|
||||||
if ( auto resView = dynamic_cast<Rim3dView*>( pdmView ) )
|
if ( view3d )
|
||||||
{
|
{
|
||||||
RiaApplication::instance()->setActiveReservoirView( resView );
|
RiaApplication::instance()->setActiveReservoirView( view3d );
|
||||||
if ( auto mainWin = dynamic_cast<RiuMainWindow*>( getMainWindow() ) )
|
if ( auto mainWin = dynamic_cast<RiuMainWindow*>( mainWindow ) )
|
||||||
{
|
{
|
||||||
mainWin->refreshViewActions();
|
mainWin->refreshViewActions();
|
||||||
mainWin->refreshAnimationActions();
|
mainWin->refreshAnimationActions();
|
||||||
mainWin->refreshDrawStyleActions();
|
mainWin->refreshDrawStyleActions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( auto plotView = dynamic_cast<RimPlotWindow*>( pdmView ) )
|
else if ( viewPlot )
|
||||||
{
|
{
|
||||||
RiuPlotMainWindowTools::selectAsCurrentItem( plotView );
|
RiuPlotMainWindowTools::selectAsCurrentItem( viewPlot );
|
||||||
RiuPlotMainWindowTools::refreshToolbars();
|
RiuPlotMainWindowTools::refreshToolbars();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user