mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Got rid of the "ownership"-changes in EclipseResultDefinition with friends.
Updating is now done more explicitly.
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
#include "RimTernaryLegendConfig.h"
|
#include "RimTernaryLegendConfig.h"
|
||||||
#include "RimUiTreeModelPdm.h"
|
#include "RimUiTreeModelPdm.h"
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
|
#include "RimEclipseFaultColors.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimEclipseCellColors, "ResultSlot");
|
CAF_PDM_SOURCE_INIT(RimEclipseCellColors, "ResultSlot");
|
||||||
|
|
||||||
@@ -72,7 +73,7 @@ void RimEclipseCellColors::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
|
|||||||
{
|
{
|
||||||
RimEclipseResultDefinition::fieldChangedByUi(changedField, oldValue, newValue);
|
RimEclipseResultDefinition::fieldChangedByUi(changedField, oldValue, newValue);
|
||||||
|
|
||||||
// Update of legend config must happen after RimResultDefinition::fieldChangedByUi(), as this function modifies this->resultVariable()
|
// Update of legend config must happen after RimEclipseResultDefinition::fieldChangedByUi(), as this function modifies this->resultVariable()
|
||||||
if (changedField == &m_resultVariableUiField)
|
if (changedField == &m_resultVariableUiField)
|
||||||
{
|
{
|
||||||
if (oldValue != newValue)
|
if (oldValue != newValue)
|
||||||
@@ -85,7 +86,15 @@ void RimEclipseCellColors::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
|
|||||||
if (m_reservoirView) m_reservoirView->hasUserRequestedAnimation = true;
|
if (m_reservoirView) m_reservoirView->hasUserRequestedAnimation = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
|
RimEclipseFaultColors* faultColors = dynamic_cast<RimEclipseFaultColors*>(this->parentField()->ownerObject());
|
||||||
|
if (faultColors)
|
||||||
|
{
|
||||||
|
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(faultColors);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_reservoirView) m_reservoirView->createDisplayModelAndRedraw();
|
if (m_reservoirView) m_reservoirView->createDisplayModelAndRedraw();
|
||||||
|
|||||||
@@ -47,20 +47,7 @@ RimEclipseFaultColors::RimEclipseFaultColors()
|
|||||||
CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_customFaultResultColors, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", "");
|
||||||
m_customFaultResultColors = new RimEclipseCellColors();
|
m_customFaultResultColors = new RimEclipseCellColors();
|
||||||
|
|
||||||
// MODTODO how to handle this?
|
|
||||||
//m_customFaultResultColors.setOwnerObject(this);
|
|
||||||
|
|
||||||
m_customFaultResultColors.uiCapability()->setUiHidden(true);
|
m_customFaultResultColors.uiCapability()->setUiHidden(true);
|
||||||
m_customFaultResultColors()->setUiHidden(true);
|
|
||||||
|
|
||||||
// MODTODO how to handle this?
|
|
||||||
/*
|
|
||||||
// Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
|
|
||||||
m_customFaultResultColors->m_resultTypeUiField.setOwnerObject(this);
|
|
||||||
m_customFaultResultColors->m_porosityModelUiField.setOwnerObject(this);
|
|
||||||
m_customFaultResultColors->m_resultVariableUiField.setOwnerObject(this);
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
updateFieldVisibility();
|
updateFieldVisibility();
|
||||||
}
|
}
|
||||||
@@ -88,13 +75,6 @@ void RimEclipseFaultColors::fieldChangedByUi(const caf::PdmFieldHandle* changedF
|
|||||||
{
|
{
|
||||||
this->updateUiIconFromToggleField();
|
this->updateUiIconFromToggleField();
|
||||||
|
|
||||||
m_customFaultResultColors->fieldChangedByUi(changedField, oldValue, newValue);
|
|
||||||
|
|
||||||
if (changedField == &m_customFaultResultColors->m_resultVariableUiField)
|
|
||||||
{
|
|
||||||
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_reservoirView) m_reservoirView->scheduleCreateDisplayModelAndRedraw();
|
if (m_reservoirView) m_reservoirView->scheduleCreateDisplayModelAndRedraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,18 +61,6 @@ RimEclipsePropertyFilter::RimEclipsePropertyFilter()
|
|||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&resultDefinition, "ResultDefinition", "Result definition", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&resultDefinition, "ResultDefinition", "Result definition", "", "", "");
|
||||||
resultDefinition = new RimEclipseResultDefinition();
|
resultDefinition = new RimEclipseResultDefinition();
|
||||||
|
|
||||||
// MODOTODO
|
|
||||||
// How to handle this???
|
|
||||||
/*
|
|
||||||
// Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
|
|
||||||
resultDefinition->m_resultTypeUiField.setparOwnerObject(this);
|
|
||||||
resultDefinition->m_resultTypeUiField.uiCapability()->setUiName("");
|
|
||||||
resultDefinition->m_porosityModelUiField.setOwnerObject(this);
|
|
||||||
resultDefinition->m_porosityModelUiField.uiCapability()->setUiName("");
|
|
||||||
resultDefinition->m_resultVariableUiField.setOwnerObject(this);
|
|
||||||
resultDefinition->m_resultVariableUiField.uiCapability()->setUiName("");
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Set to hidden to avoid this item to been displayed as a child item
|
// Set to hidden to avoid this item to been displayed as a child item
|
||||||
// Fields in this object are displayed using defineUiOrdering()
|
// Fields in this object are displayed using defineUiOrdering()
|
||||||
@@ -107,20 +95,6 @@ void RimEclipsePropertyFilter::fieldChangedByUi(const caf::PdmFieldHandle* chang
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( &(resultDefinition->m_resultTypeUiField) == changedField
|
|
||||||
|| &(resultDefinition->m_porosityModelUiField) == changedField)
|
|
||||||
{
|
|
||||||
resultDefinition->fieldChangedByUi(changedField, oldValue, newValue);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( &(resultDefinition->m_resultVariableUiField) == changedField )
|
|
||||||
{
|
|
||||||
resultDefinition->fieldChangedByUi(changedField, oldValue, newValue);
|
|
||||||
setToDefaultValues();
|
|
||||||
m_parentContainer->fieldChangedByUi(changedField, oldValue, newValue);
|
|
||||||
updateFilterName();
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( &lowerBound == changedField
|
if ( &lowerBound == changedField
|
||||||
|| &upperBound == changedField
|
|| &upperBound == changedField
|
||||||
|| &obsoleteField_evaluationRegion == changedField
|
|| &obsoleteField_evaluationRegion == changedField
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
#include "RimEclipseView.h"
|
#include "RimEclipseView.h"
|
||||||
|
|
||||||
#include "cafPdmUiListEditor.h"
|
#include "cafPdmUiListEditor.h"
|
||||||
|
#include "RimEclipsePropertyFilter.h"
|
||||||
|
#include "RimEclipseFaultColors.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RimEclipseResultDefinition, "ResultDefinition");
|
CAF_PDM_SOURCE_INIT(RimEclipseResultDefinition, "ResultDefinition");
|
||||||
|
|
||||||
@@ -117,6 +119,7 @@ void RimEclipseResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
|||||||
{
|
{
|
||||||
m_resultVariableUiField = "";
|
m_resultVariableUiField = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (&m_resultVariableUiField == changedField)
|
if (&m_resultVariableUiField == changedField)
|
||||||
@@ -124,8 +127,30 @@ void RimEclipseResultDefinition::fieldChangedByUi(const caf::PdmFieldHandle* cha
|
|||||||
m_porosityModel = m_porosityModelUiField;
|
m_porosityModel = m_porosityModelUiField;
|
||||||
m_resultType = m_resultTypeUiField;
|
m_resultType = m_resultTypeUiField;
|
||||||
m_resultVariable = m_resultVariableUiField;
|
m_resultVariable = m_resultVariableUiField;
|
||||||
|
|
||||||
loadResult();
|
loadResult();
|
||||||
|
|
||||||
|
RimEclipsePropertyFilter* propFilter = dynamic_cast<RimEclipsePropertyFilter*>(this->parentField()->ownerObject());
|
||||||
|
if (propFilter)
|
||||||
|
{
|
||||||
|
propFilter->setToDefaultValues();
|
||||||
|
propFilter->updateFilterName();
|
||||||
|
m_reservoirView->scheduleGeometryRegen(PROPERTY_FILTERED);
|
||||||
|
m_reservoirView->scheduleCreateDisplayModelAndRedraw();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
RimEclipsePropertyFilter* propFilter = dynamic_cast<RimEclipsePropertyFilter*>(this->parentField()->ownerObject());
|
||||||
|
if (propFilter)
|
||||||
|
{
|
||||||
|
propFilter->updateConnectedEditors();
|
||||||
|
}
|
||||||
|
|
||||||
|
RimEclipseFaultColors* faultColors = dynamic_cast<RimEclipseFaultColors*>(this->parentField()->ownerObject());
|
||||||
|
if (faultColors)
|
||||||
|
{
|
||||||
|
faultColors->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,8 @@ protected:
|
|||||||
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField;
|
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField;
|
||||||
caf::PdmField<QString> m_resultVariableUiField;
|
caf::PdmField<QString> m_resultVariableUiField;
|
||||||
|
|
||||||
caf::PdmPointer<RimEclipseView> m_reservoirView;
|
caf::PdmPointer<RimEclipseView> m_reservoirView;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void updateFieldVisibility();
|
void updateFieldVisibility();
|
||||||
|
|||||||
Reference in New Issue
Block a user