mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 23:46:00 -06:00
(#477) Fixed missing updates after toggle or delete of ViewLinker
Fixed missing delete of ViewLinker child objects
This commit is contained in:
parent
f81cf98580
commit
1e232c23c5
@ -65,6 +65,7 @@ RimViewLink::RimViewLink(void)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimViewLink::~RimViewLink(void)
|
RimViewLink::~RimViewLink(void)
|
||||||
{
|
{
|
||||||
|
this->removeOverrides();
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -461,3 +462,19 @@ void RimViewLink::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiO
|
|||||||
visibleCells->add(&syncPropertyFilters);
|
visibleCells->add(&syncPropertyFilters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RimViewLink::removeOverrides()
|
||||||
|
{
|
||||||
|
|
||||||
|
if (m_managedView)
|
||||||
|
{
|
||||||
|
RimEclipseView* manEclView = managedEclipseView();
|
||||||
|
RimGeoMechView* manGeoView = managedGeoView();
|
||||||
|
m_managedView->setOverrideRangeFilterCollection(NULL);
|
||||||
|
if (manEclView) manEclView->setOverridePropertyFilterCollection(NULL);
|
||||||
|
if (manGeoView) manGeoView->setOverridePropertyFilterCollection(NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ public:
|
|||||||
|
|
||||||
void configureOverrides();
|
void configureOverrides();
|
||||||
void updateOptionSensitivity();
|
void updateOptionSensitivity();
|
||||||
|
void removeOverrides();
|
||||||
|
|
||||||
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);
|
||||||
|
@ -72,6 +72,7 @@ RimViewLinker::RimViewLinker(void)
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
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)
|
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();
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@ public:
|
|||||||
void scheduleCreateDisplayModelAndRedrawForDependentViews();
|
void scheduleCreateDisplayModelAndRedrawForDependentViews();
|
||||||
|
|
||||||
void configureOverrides();
|
void configureOverrides();
|
||||||
|
void removeOverrides();
|
||||||
|
|
||||||
void allViews(std::vector<RimView*>& views);
|
void allViews(std::vector<RimView*>& views);
|
||||||
|
|
||||||
|
@ -71,6 +71,24 @@ void RimViewLinkerCollection::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTre
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimViewLinkerCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
void RimViewLinkerCollection::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||||
{
|
{
|
||||||
|
if (&isActive == changedField)
|
||||||
|
{
|
||||||
|
if (isActive)
|
||||||
|
{
|
||||||
|
for (size_t cIdx = 0; cIdx < viewLinkers.size(); ++cIdx)
|
||||||
|
{
|
||||||
|
viewLinkers[cIdx]->applyAllOperations();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
for (size_t cIdx = 0; cIdx < viewLinkers.size(); ++cIdx)
|
||||||
|
{
|
||||||
|
viewLinkers[cIdx]->removeOverrides();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this->updateUiIconFromToggleField();
|
this->updateUiIconFromToggleField();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user