(#477) Fixed missing updates after toggle or delete of ViewLinker

Fixed missing delete of ViewLinker child objects
This commit is contained in:
Jacob Støren
2015-09-13 21:26:09 +02:00
parent f81cf98580
commit 1e232c23c5
5 changed files with 64 additions and 0 deletions

View File

@@ -72,6 +72,7 @@ RimViewLinker::RimViewLinker(void)
//--------------------------------------------------------------------------------------------------
RimViewLinker::~RimViewLinker(void)
{
viewLinks.deleteAllChildObjects();
}
//--------------------------------------------------------------------------------------------------
@@ -419,6 +420,18 @@ bool RimViewLinker::isActive()
//--------------------------------------------------------------------------------------------------
void RimViewLinker::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
{
if (&m_isActive == changedField)
{
if (m_isActive)
{
this->applyAllOperations();
}
else
{
this->removeOverrides();
}
}
updateUiIcon();
}
@@ -514,3 +527,17 @@ void RimViewLinker::scheduleCreateDisplayModelAndRedrawForDependentViews()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimViewLinker::removeOverrides()
{
for (size_t i = 0; i < viewLinks.size(); i++)
{
if (viewLinks[i]->managedView())
{
viewLinks[i]->removeOverrides();
}
}
}