Added LinkVisibleViewsFeature, and added action to draw toolbar

This commit is contained in:
Magne Sjaastad
2015-08-30 13:30:46 +02:00
parent e5d5543cd9
commit 3f09c1bc66
11 changed files with 208 additions and 51 deletions

View File

@@ -525,6 +525,8 @@ void RiuMainWindow::createToolBars()
m_viewToolBar->addAction(m_drawStyleToggleFaultsAction);
m_viewToolBar->addAction(m_toggleFaultsLabelAction);
m_viewToolBar->addAction(m_addWellCellsToRangeFilterAction);
m_viewToolBar->addSeparator();
m_viewToolBar->addAction(cmdFeatureMgr->action("RicLinkVisibleViewsFeature"));
QLabel* scaleLabel = new QLabel(m_viewToolBar);
scaleLabel->setText("Scale");
@@ -542,6 +544,8 @@ void RiuMainWindow::createToolBars()
refreshAnimationActions();
refreshDrawStyleActions();
cmdFeatureMgr->refreshEnabledState(QStringList() << "RicLinkVisibleViewsFeature");
}
@@ -1184,6 +1188,8 @@ void RiuMainWindow::removeViewer(RiuViewer* viewer)
#else
m_mdiArea->removeSubWindow( findMdiSubWindow(viewer));
#endif
caf::CmdFeatureManager::instance()->refreshEnabledState(QStringList() << "RicLinkVisibleViewsFeature");
}
//--------------------------------------------------------------------------------------------------
@@ -1207,6 +1213,8 @@ void RiuMainWindow::addViewer(RiuViewer* viewer)
subWin->show();
}
#endif
caf::CmdFeatureManager::instance()->refreshEnabledState(QStringList() << "RicLinkVisibleViewsFeature");
}

View File

@@ -504,27 +504,22 @@ void RiuViewer::update()
if (m_reservoirView)
{
viewsToUpdate.push_back(m_reservoirView);
// All downstreams views
m_reservoirView->managedViewCollection()->allManagedViews(viewsToUpdate);
// All upstreams views
RimView* rimView = m_reservoirView;
std::vector<caf::PdmObjectHandle*> objects;
rimView->objectsWithReferringPtrFields(objects);
while (objects.size() > 0)
{
RimManagedViewConfig* viewConfig = dynamic_cast<RimManagedViewConfig*>(objects[0]);
viewConfig->firstAnchestorOrThisOfType(rimView);
viewsToUpdate.push_back(rimView);
objects.clear();
rimView->objectsWithReferringPtrFields(objects);
}
viewsToUpdate.push_back(rimView);
rimView->managedViewCollection()->allManagedViews(viewsToUpdate);
}
// Propagate view matrix to all relevant views