mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#449) Minor fixes related to isActive
This commit is contained in:
parent
9aeb949b06
commit
08e266c2f3
@ -94,7 +94,7 @@ void RicLinkVisibleViewsFeature::onActionTriggered(bool isChecked)
|
|||||||
|
|
||||||
viewLink->initAfterReadRecursively();
|
viewLink->initAfterReadRecursively();
|
||||||
viewLink->updateOptionSensitivity();
|
viewLink->updateOptionSensitivity();
|
||||||
viewLink->updateUiIcon();
|
viewLink->updateUiIconFromActiveState();
|
||||||
}
|
}
|
||||||
|
|
||||||
proj->viewLinkerCollection()->viewLinkers().push_back(linkedViews);
|
proj->viewLinkerCollection()->viewLinkers().push_back(linkedViews);
|
||||||
|
@ -447,8 +447,8 @@ void RimView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QV
|
|||||||
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
||||||
if (viewLinker)
|
if (viewLinker)
|
||||||
{
|
{
|
||||||
RimViewLink* linkedView = viewLinker->viewLinkFromView(this);
|
RimViewLink* viewLink = viewLinker->viewLinkFromView(this);
|
||||||
if (!linkedView || linkedView->syncCamera())
|
if (this == viewLinker->mainView() || (viewLink && viewLink->isActive() && viewLink->syncCamera()))
|
||||||
{
|
{
|
||||||
viewLinker->updateScaleZ(this, scaleZ);
|
viewLinker->updateScaleZ(this, scaleZ);
|
||||||
}
|
}
|
||||||
@ -484,11 +484,15 @@ void RimView::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QV
|
|||||||
this->firstAnchestorOrThisOfType(proj);
|
this->firstAnchestorOrThisOfType(proj);
|
||||||
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
||||||
if (viewLinker)
|
if (viewLinker)
|
||||||
|
{
|
||||||
|
RimViewLink* viewLink = viewLinker->viewLinkFromView(this);
|
||||||
|
if (this == viewLinker->mainView() || (viewLink && viewLink->isActive() && viewLink->syncTimeStep()))
|
||||||
{
|
{
|
||||||
viewLinker->updateTimeStep(this, m_currentTimeStep);
|
viewLinker->updateTimeStep(this, m_currentTimeStep);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (changedField == &backgroundColor)
|
else if (changedField == &backgroundColor)
|
||||||
{
|
{
|
||||||
if (viewer() != NULL)
|
if (viewer() != NULL)
|
||||||
@ -590,10 +594,9 @@ void RimView::notifyCameraHasChanged()
|
|||||||
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
RimViewLinker* viewLinker = proj->findViewLinkerFromView(this);
|
||||||
if (viewLinker)
|
if (viewLinker)
|
||||||
{
|
{
|
||||||
RimViewLink* linkedView = viewLinker->viewLinkFromView(this);
|
RimViewLink* viewLink = viewLinker->viewLinkFromView(this);
|
||||||
|
|
||||||
// There is no view config for a master view, but all views for sync must be updated
|
if (this == viewLinker->mainView() || (viewLink && viewLink->isActive() && viewLink->syncCamera()))
|
||||||
if (!linkedView || linkedView->syncCamera())
|
|
||||||
{
|
{
|
||||||
viewLinker->allViewsForCameraSync(this, viewsToUpdate);
|
viewLinker->allViewsForCameraSync(this, viewsToUpdate);
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimView.h"
|
#include "RimView.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
|
#include "RimViewLinkerCollection.h"
|
||||||
|
|
||||||
#include "RiuViewer.h"
|
#include "RiuViewer.h"
|
||||||
|
|
||||||
@ -42,7 +43,7 @@ CAF_PDM_SOURCE_INIT(RimViewLink, "RimViewLink");
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimViewLink::RimViewLink(void)
|
RimViewLink::RimViewLink(void)
|
||||||
{
|
{
|
||||||
CAF_PDM_InitObject("View Config", "", "", "");
|
CAF_PDM_InitObject("View Link", "", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
|
CAF_PDM_InitField(&isActive, "Active", true, "Active", "", "", "");
|
||||||
isActive.uiCapability()->setUiHidden(true);
|
isActive.uiCapability()->setUiHidden(true);
|
||||||
@ -138,46 +139,35 @@ void RimViewLink::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
|||||||
{
|
{
|
||||||
if (changedField == &isActive)
|
if (changedField == &isActive)
|
||||||
{
|
{
|
||||||
updateUiIcon();
|
updateUiIconFromActiveState();
|
||||||
|
if (syncCamera()) doSyncCamera();
|
||||||
|
if (syncTimeStep()) doSyncTimeStep();
|
||||||
|
if (syncCellResult()) doSyncCellResult();
|
||||||
configureOverrides();
|
configureOverrides();
|
||||||
}
|
}
|
||||||
else if (changedField == &syncCamera && syncCamera())
|
else if (changedField == &syncCamera && syncCamera())
|
||||||
{
|
{
|
||||||
RimViewLinker* linkedViews = NULL;
|
doSyncCamera();
|
||||||
this->firstAnchestorOrThisOfType(linkedViews);
|
|
||||||
linkedViews->updateScaleZ(linkedViews->mainView(), linkedViews->mainView()->scaleZ());
|
|
||||||
|
|
||||||
if (m_managedView && m_managedView->viewer())
|
|
||||||
{
|
|
||||||
m_managedView->viewer()->navigationPolicyUpdate();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (changedField == &syncTimeStep && syncTimeStep())
|
else if (changedField == &syncTimeStep && syncTimeStep())
|
||||||
{
|
{
|
||||||
if (m_managedView)
|
doSyncTimeStep();
|
||||||
{
|
|
||||||
RimViewLinker* linkedViews = NULL;
|
|
||||||
this->firstAnchestorOrThisOfType(linkedViews);
|
|
||||||
linkedViews->updateTimeStep(m_managedView, m_managedView->currentTimeStep());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (changedField == &syncCellResult && syncCellResult())
|
else if (changedField == &syncCellResult && syncCellResult())
|
||||||
{
|
{
|
||||||
RimViewLinker* linkedViews = NULL;
|
doSyncCellResult();
|
||||||
this->firstAnchestorOrThisOfType(linkedViews);
|
|
||||||
linkedViews->updateCellResult();
|
|
||||||
}
|
}
|
||||||
else if (changedField == &syncRangeFilters)
|
else if (changedField == &syncRangeFilters)
|
||||||
{
|
{
|
||||||
configureOverridesUpdateDisplayModel();
|
configureOverrides();
|
||||||
}
|
}
|
||||||
else if (changedField == &syncPropertyFilters)
|
else if (changedField == &syncPropertyFilters)
|
||||||
{
|
{
|
||||||
configureOverridesUpdateDisplayModel();
|
configureOverrides();
|
||||||
}
|
}
|
||||||
else if (changedField == &m_managedView)
|
else if (changedField == &m_managedView)
|
||||||
{
|
{
|
||||||
configureOverridesUpdateDisplayModel();
|
configureOverrides();
|
||||||
|
|
||||||
if (m_managedView)
|
if (m_managedView)
|
||||||
{
|
{
|
||||||
@ -222,14 +212,14 @@ void RimViewLink::fieldChangedByUi(const caf::PdmFieldHandle* changedField, cons
|
|||||||
|
|
||||||
updateOptionSensitivity();
|
updateOptionSensitivity();
|
||||||
updateDisplayNameAndIcon();
|
updateDisplayNameAndIcon();
|
||||||
updateUiIcon();
|
updateUiIconFromActiveState();
|
||||||
|
|
||||||
name.uiCapability()->updateConnectedEditors();
|
name.uiCapability()->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
else if (&syncVisibleCells == changedField)
|
else if (&syncVisibleCells == changedField)
|
||||||
{
|
{
|
||||||
updateOptionSensitivity();
|
updateOptionSensitivity();
|
||||||
configureOverridesUpdateDisplayModel();
|
configureOverrides();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +230,7 @@ void RimViewLink::initAfterRead()
|
|||||||
{
|
{
|
||||||
configureOverrides();
|
configureOverrides();
|
||||||
updateDisplayNameAndIcon();
|
updateDisplayNameAndIcon();
|
||||||
updateUiIcon();
|
updateUiIconFromActiveState();
|
||||||
updateOptionSensitivity();
|
updateOptionSensitivity();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,40 +254,15 @@ RimGeoMechView* RimViewLink::managedGeoView()
|
|||||||
return dynamic_cast<RimGeoMechView*>(rimView);
|
return dynamic_cast<RimGeoMechView*>(rimView);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
///
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
void RimViewLink::configureOverridesUpdateDisplayModel()
|
|
||||||
{
|
|
||||||
configureOverrides();
|
|
||||||
|
|
||||||
// This update scheduling actually schedules update in the master view (not the managed view). Is that intentional ? JJS
|
|
||||||
/*
|
|
||||||
if (m_managedView)
|
|
||||||
{
|
|
||||||
m_managedView->rangeFilterCollection()->updateDisplayModeNotifyManagedViews();
|
|
||||||
}
|
|
||||||
|
|
||||||
RimEclipseView* eclipseView = managedEclipseView();
|
|
||||||
if (eclipseView)
|
|
||||||
{
|
|
||||||
eclipseView->propertyFilterCollection()->updateDisplayModelNotifyManagedViews();
|
|
||||||
}
|
|
||||||
|
|
||||||
RimGeoMechView* geoView = managedGeoView();
|
|
||||||
if (geoView)
|
|
||||||
{
|
|
||||||
geoView->propertyFilterCollection()->updateDisplayModelNotifyManagedViews();
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
// Todo : Notify the managed view of the possible change of visualCellsOverride
|
|
||||||
}
|
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimViewLink::configureOverrides()
|
void RimViewLink::configureOverrides()
|
||||||
{
|
{
|
||||||
|
RimViewLinkerCollection* viewLinkerColl = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(viewLinkerColl);
|
||||||
|
if (!viewLinkerColl->isActive()) return;
|
||||||
|
|
||||||
RimViewLinker* viewLinker = NULL;
|
RimViewLinker* viewLinker = NULL;
|
||||||
this->firstAnchestorOrThisOfType(viewLinker);
|
this->firstAnchestorOrThisOfType(viewLinker);
|
||||||
|
|
||||||
@ -472,7 +437,7 @@ void RimViewLink::removeOverrides()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimViewLink::updateUiIcon()
|
void RimViewLink::updateUiIconFromActiveState()
|
||||||
{
|
{
|
||||||
RimViewLinker::applyIconEnabledState(this, m_originalIcon, !isActive());
|
RimViewLinker::applyIconEnabledState(this, m_originalIcon, !isActive());
|
||||||
}
|
}
|
||||||
@ -485,3 +450,53 @@ void RimViewLink::updateDisplayNameAndIcon()
|
|||||||
RimViewLinker::findNameAndIconFromView(&name.v(), &m_originalIcon, managedView());
|
RimViewLinker::findNameAndIconFromView(&name.v(), &m_originalIcon, managedView());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimViewLink::doSyncCamera()
|
||||||
|
{
|
||||||
|
RimViewLinkerCollection* viewLinkerColl = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(viewLinkerColl);
|
||||||
|
if (!viewLinkerColl->isActive()) return;
|
||||||
|
|
||||||
|
RimViewLinker* viewLinker = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(viewLinker);
|
||||||
|
viewLinker->updateScaleZ(viewLinker->mainView(), viewLinker->mainView()->scaleZ());
|
||||||
|
|
||||||
|
if (m_managedView && m_managedView->viewer())
|
||||||
|
{
|
||||||
|
m_managedView->viewer()->navigationPolicyUpdate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimViewLink::doSyncTimeStep()
|
||||||
|
{
|
||||||
|
RimViewLinkerCollection* viewLinkerColl = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(viewLinkerColl);
|
||||||
|
if (!viewLinkerColl->isActive()) return;
|
||||||
|
|
||||||
|
if (m_managedView)
|
||||||
|
{
|
||||||
|
RimViewLinker* linkedViews = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(linkedViews);
|
||||||
|
linkedViews->updateTimeStep(m_managedView, m_managedView->currentTimeStep());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimViewLink::doSyncCellResult()
|
||||||
|
{
|
||||||
|
RimViewLinkerCollection* viewLinkerColl = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(viewLinkerColl);
|
||||||
|
if (!viewLinkerColl->isActive()) return;
|
||||||
|
|
||||||
|
RimViewLinker* linkedViews = NULL;
|
||||||
|
this->firstAnchestorOrThisOfType(linkedViews);
|
||||||
|
linkedViews->updateCellResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -59,10 +59,9 @@ public:
|
|||||||
void updateOptionSensitivity();
|
void updateOptionSensitivity();
|
||||||
void removeOverrides();
|
void removeOverrides();
|
||||||
|
|
||||||
void updateUiIcon();
|
void updateUiIconFromActiveState();
|
||||||
void updateDisplayNameAndIcon();
|
void updateDisplayNameAndIcon();
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
|
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
|
||||||
@ -72,9 +71,10 @@ protected:
|
|||||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering);
|
||||||
virtual caf::PdmFieldHandle* objectToggleField() { return &isActive; }
|
virtual caf::PdmFieldHandle* objectToggleField() { return &isActive; }
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void configureOverridesUpdateDisplayModel();
|
void doSyncCamera();
|
||||||
|
void doSyncTimeStep();
|
||||||
|
void doSyncCellResult();
|
||||||
|
|
||||||
RimEclipseView* managedEclipseView();
|
RimEclipseView* managedEclipseView();
|
||||||
RimGeoMechView* managedGeoView();
|
RimGeoMechView* managedGeoView();
|
||||||
|
@ -305,6 +305,8 @@ void RimViewLinker::applyAllOperations()
|
|||||||
updateRangeFilters();
|
updateRangeFilters();
|
||||||
updatePropertyFilters();
|
updatePropertyFilters();
|
||||||
updateScaleZ(m_mainView, m_mainView->scaleZ());
|
updateScaleZ(m_mainView, m_mainView->scaleZ());
|
||||||
|
|
||||||
|
m_mainView->notifyCameraHasChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "RimProject.h"
|
#include "RimProject.h"
|
||||||
#include "RimView.h"
|
#include "RimView.h"
|
||||||
|
#include "RimViewLink.h"
|
||||||
#include "RimViewLinker.h"
|
#include "RimViewLinker.h"
|
||||||
|
|
||||||
#include "RiuCadNavigation.h"
|
#include "RiuCadNavigation.h"
|
||||||
@ -263,11 +264,15 @@ void RiuViewer::slotSetCurrentFrame(int frameIndex)
|
|||||||
m_reservoirView->firstAnchestorOrThisOfType(proj);
|
m_reservoirView->firstAnchestorOrThisOfType(proj);
|
||||||
RimViewLinker* viewLinker = proj->findViewLinkerFromView(m_reservoirView);
|
RimViewLinker* viewLinker = proj->findViewLinkerFromView(m_reservoirView);
|
||||||
if (viewLinker)
|
if (viewLinker)
|
||||||
|
{
|
||||||
|
RimViewLink* viewLink = viewLinker->viewLinkFromView(m_reservoirView);
|
||||||
|
if (m_reservoirView == viewLinker->mainView() || (viewLink && viewLink->isActive() && viewLink->syncTimeStep()))
|
||||||
{
|
{
|
||||||
viewLinker->updateTimeStep(m_reservoirView, frameIndex);
|
viewLinker->updateTimeStep(m_reservoirView, frameIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
|
Loading…
Reference in New Issue
Block a user