(591) Only possible to link property filter between same-case-views

This commit is contained in:
Jacob Støren 2015-10-24 12:24:09 +02:00
parent 658849eefc
commit 14dedf5d4a
2 changed files with 44 additions and 2 deletions

View File

@ -370,14 +370,22 @@ void RimViewController::updateOptionSensitivity()
{
this->m_syncCellResult.uiCapability()->setUiReadOnly(true);
this->m_syncCellResult = false;
this->m_syncPropertyFilters.uiCapability()->setUiReadOnly(true);
this->m_syncPropertyFilters = false;
}
else
{
this->m_syncCellResult.uiCapability()->setUiReadOnly(false);
}
if (isPropertyFilterControlPossible())
{
this->m_syncPropertyFilters.uiCapability()->setUiReadOnly(false);
}
else
{
this->m_syncPropertyFilters.uiCapability()->setUiReadOnly(true);
this->m_syncPropertyFilters = false;
}
if (isRangeFilterControlPossible())
{
@ -771,12 +779,45 @@ bool RimViewController::isRangeFiltersControlled()
return false;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimViewController::isPropertyFilterControlPossible()
{
// The cases need to be the same
RimGeoMechView* geomView = dynamic_cast<RimGeoMechView*>(masterView());
if (geomView)
{
RimGeoMechView* depGeomView = managedGeoView();
if (depGeomView && geomView->geoMechCase() == depGeomView->geoMechCase())
{
return true;
}
}
RimEclipseView* eclipseView = dynamic_cast<RimEclipseView*>(masterView());
if (eclipseView)
{
RimEclipseView* depEclipseView = managedEclipseView();
if (depEclipseView && eclipseView->eclipseCase() == depEclipseView->eclipseCase())
{
return true;
}
}
return false;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimViewController::isPropertyFilterOveridden()
{
if (!isPropertyFilterControlPossible()) return false;
if (ownerViewLinker()->isActive() && this->m_isActive())
{
return m_syncPropertyFilters;

View File

@ -95,6 +95,7 @@ private:
bool isMasterAndDepViewDifferentType();
bool isRangeFilterControlPossible();
bool isPropertyFilterControlPossible();
RimEclipseView* managedEclipseView();
RimGeoMechView* managedGeoView();