mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Fault result: Moved fault result up one level in tree view
This commit is contained in:
parent
86b74e383e
commit
79fbe65686
@ -650,9 +650,6 @@ bool RiaApplication::openEclipseCase(const QString& caseName, const QString& cas
|
||||
riv->cellResult()->setResultVariable(RimDefines::undefinedResultName());
|
||||
}
|
||||
|
||||
riv->faultResultSettings()->updateVisibility();
|
||||
|
||||
|
||||
RimUiTreeModelPdm* uiModel = RiuMainWindow::instance()->uiPdmModel();
|
||||
|
||||
uiModel->updateUiSubTree(analysisModels);
|
||||
|
@ -42,7 +42,7 @@ CAF_PDM_SOURCE_INIT(RimFaultResultSettings, "RimFaultResultSlot");
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimFaultResultSettings::RimFaultResultSettings()
|
||||
{
|
||||
CAF_PDM_InitObject("Fault Result Slot", "", "", "");
|
||||
CAF_PDM_InitObject("Fault Result Slot", ":/draw_style_faults_24x24.png", "", "");
|
||||
|
||||
CAF_PDM_InitField(&showCustomFaultResult, "ShowCustomFaultResult", false, "Show Custom Fault Result", "", "", "");
|
||||
showCustomFaultResult.setUiHidden(true);
|
||||
@ -52,8 +52,15 @@ RimFaultResultSettings::RimFaultResultSettings()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_customFaultResult, "CustomResultSlot", "Custom Fault Result", ":/CellResult.png", "", "");
|
||||
m_customFaultResult = new RimResultSlot();
|
||||
m_customFaultResult.setOwnerObject(this);
|
||||
m_customFaultResult.setUiHidden(true);
|
||||
|
||||
updateVisibility();
|
||||
// Take ownership of the fields in RimResultDefinition to be able to trap fieldChangedByUi in this class
|
||||
m_customFaultResult->m_resultTypeUiField.setOwnerObject(this);
|
||||
m_customFaultResult->m_porosityModelUiField.setOwnerObject(this);
|
||||
m_customFaultResult->m_resultVariableUiField.setOwnerObject(this);
|
||||
|
||||
updateFieldVisibility();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -77,18 +84,20 @@ void RimFaultResultSettings::setReservoirView(RimReservoirView* ownerReservoirVi
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultResultSettings::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
if (&showCustomFaultResult == changedField)
|
||||
{
|
||||
this->updateUiIconFromState(showCustomFaultResult);
|
||||
}
|
||||
this->updateUiIconFromState(showCustomFaultResult);
|
||||
|
||||
m_customFaultResult->fieldChangedByUi(changedField, oldValue, newValue);
|
||||
|
||||
if (changedField == &visualizationMode)
|
||||
{
|
||||
updateVisibility();
|
||||
updateFieldVisibility();
|
||||
|
||||
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
|
||||
}
|
||||
|
||||
RiuMainWindow::instance()->setExpanded(this, true);
|
||||
if (changedField == &m_customFaultResult->m_resultVariableUiField)
|
||||
{
|
||||
RiuMainWindow::instance()->uiPdmModel()->updateUiSubTree(this);
|
||||
}
|
||||
|
||||
if (m_reservoirView) m_reservoirView->scheduleCreateDisplayModelAndRedraw();
|
||||
@ -99,24 +108,18 @@ void RimFaultResultSettings::fieldChangedByUi(const caf::PdmFieldHandle* changed
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultResultSettings::initAfterRead()
|
||||
{
|
||||
updateVisibility();
|
||||
m_customFaultResult->initAfterRead();
|
||||
updateFieldVisibility();
|
||||
|
||||
this->updateUiIconFromState(showCustomFaultResult);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultResultSettings::updateVisibility()
|
||||
void RimFaultResultSettings::updateFieldVisibility()
|
||||
{
|
||||
if (this->visualizationMode() == FAULT_COLOR)
|
||||
{
|
||||
this->m_customFaultResult.setUiHidden(true);
|
||||
this->m_customFaultResult.setUiChildrenHidden(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
this->m_customFaultResult.setUiHidden(false);
|
||||
this->m_customFaultResult.setUiChildrenHidden(false);
|
||||
}
|
||||
m_customFaultResult->updateFieldVisibility();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -140,3 +143,28 @@ caf::PdmFieldHandle* RimFaultResultSettings::objectToggleField()
|
||||
return &showCustomFaultResult;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimFaultResultSettings::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
uiOrdering.add(&visualizationMode);
|
||||
uiOrdering.add(&showNNCs);
|
||||
|
||||
if (visualizationMode == CUSTOM_RESULT_MAPPING)
|
||||
{
|
||||
caf::PdmUiGroup* group1 = uiOrdering.addNewGroup("Result");
|
||||
group1->add(&(m_customFaultResult->m_resultTypeUiField));
|
||||
group1->add(&(m_customFaultResult->m_porosityModelUiField));
|
||||
group1->add(&(m_customFaultResult->m_resultVariableUiField));
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QList<caf::PdmOptionItemInfo> RimFaultResultSettings::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly)
|
||||
{
|
||||
return m_customFaultResult->calculateValueOptions(fieldNeedingOptions, useOptionsOnly);
|
||||
}
|
||||
|
||||
|
@ -51,12 +51,15 @@ public:
|
||||
|
||||
|
||||
RimResultSlot* customFaultResult();
|
||||
void updateVisibility();
|
||||
void updateFieldVisibility();
|
||||
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly );
|
||||
|
||||
protected:
|
||||
virtual void initAfterRead();
|
||||
virtual caf::PdmFieldHandle* objectToggleField();
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) ;
|
||||
|
||||
private:
|
||||
caf::PdmField<RimResultSlot*> m_customFaultResult;
|
||||
|
@ -103,7 +103,7 @@ RimReservoirView::RimReservoirView()
|
||||
CAF_PDM_InitFieldNoDefault(&cellEdgeResult, "GridCellEdgeResult", "Cell Edge Result", ":/EdgeResult_1.png", "", "");
|
||||
cellEdgeResult = new RimCellEdgeResultSlot();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&faultResultSettings, "FaultResultSettings", "Fault Result Settings", ":/draw_style_faults_24x24.png", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&faultResultSettings, "FaultResultSettings", "Fault Result Settings", "", "", "");
|
||||
faultResultSettings = new RimFaultResultSettings();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&overlayInfoConfig, "OverlayInfoConfig", "Info Box", "", "", "");
|
||||
@ -933,14 +933,15 @@ void RimReservoirView::loadDataAndUpdate()
|
||||
CVF_ASSERT(this->cellResult() != NULL);
|
||||
this->cellResult()->loadResult();
|
||||
|
||||
if (m_reservoir->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalActiveCellCount() == 0)
|
||||
{
|
||||
this->cellResult->setPorosityModelUiFieldHidden(true);
|
||||
}
|
||||
|
||||
CVF_ASSERT(this->cellEdgeResult() != NULL);
|
||||
this->cellEdgeResult()->loadResult();
|
||||
|
||||
if (this->faultResultSettings()->customFaultResult())
|
||||
{
|
||||
this->faultResultSettings()->customFaultResult()->loadResult();
|
||||
}
|
||||
this->faultResultSettings()->updateFieldVisibility();
|
||||
|
||||
updateViewerWidget();
|
||||
|
||||
this->propertyFilterCollection()->loadAndInitializePropertyFilters();
|
||||
|
@ -38,7 +38,7 @@ RimResultDefinition::RimResultDefinition()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_resultType, "ResultType", "Type", "", "", "");
|
||||
m_resultType.setUiHidden(true);
|
||||
CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModelType", "Type", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_porosityModel, "PorosityModelType", "Porosity", "", "", "");
|
||||
m_porosityModel.setUiHidden(true);
|
||||
CAF_PDM_InitField(&m_resultVariable, "ResultVariable", RimDefines::undefinedResultName(), "Variable", "", "", "" );
|
||||
m_resultVariable.setUiHidden(true);
|
||||
@ -46,7 +46,7 @@ RimResultDefinition::RimResultDefinition()
|
||||
CAF_PDM_InitFieldNoDefault(&m_resultTypeUiField, "MResultType", "Type", "", "", "");
|
||||
m_resultTypeUiField.setIOReadable(false);
|
||||
m_resultTypeUiField.setIOWritable(false);
|
||||
CAF_PDM_InitFieldNoDefault(&m_porosityModelUiField, "MPorosityModelType", "Type", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_porosityModelUiField, "MPorosityModelType", "Porosity", "", "", "");
|
||||
m_porosityModelUiField.setIOReadable(false);
|
||||
m_porosityModelUiField.setIOWritable(false);
|
||||
CAF_PDM_InitField(&m_resultVariableUiField, "MResultVariable", RimDefines::undefinedResultName(), "Result property", "", "", "" );
|
||||
@ -72,16 +72,7 @@ void RimResultDefinition::setReservoirView(RimReservoirView* ownerReservoirView)
|
||||
{
|
||||
m_reservoirView = ownerReservoirView;
|
||||
|
||||
// TODO: This code is executed before reservoir is read, and then porosity model is never set to zero
|
||||
if (m_reservoirView->eclipseCase() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS) )
|
||||
{
|
||||
if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalActiveCellCount() == 0)
|
||||
{
|
||||
m_porosityModelUiField.setUiHidden(true);
|
||||
}
|
||||
}
|
||||
updateFieldVisibility();
|
||||
}
|
||||
|
||||
QStringList RimResultDefinition::getResultVariableListForCurrentUIFieldSettings()
|
||||
@ -220,6 +211,8 @@ void RimResultDefinition::loadResult()
|
||||
gridCellResults->findOrLoadScalarResult(m_resultType(), m_resultVariable);
|
||||
}
|
||||
}
|
||||
|
||||
updateFieldVisibility();
|
||||
}
|
||||
|
||||
|
||||
@ -329,14 +322,6 @@ void RimResultDefinition::setResultVariable(const QString& val)
|
||||
m_resultVariableUiField = val;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimResultDefinition::setPorosityModelUiFieldHidden(bool hide)
|
||||
{
|
||||
m_porosityModelUiField.setUiHidden(true);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -347,3 +332,24 @@ bool RimResultDefinition::isTernarySaturationSelected() const
|
||||
|
||||
return isTernary;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimResultDefinition::updateFieldVisibility()
|
||||
{
|
||||
if (m_reservoirView &&
|
||||
m_reservoirView->eclipseCase() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData() &&
|
||||
m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS) )
|
||||
{
|
||||
if (m_reservoirView->eclipseCase()->reservoirData()->activeCellInfo(RifReaderInterface::FRACTURE_RESULTS)->globalActiveCellCount() == 0)
|
||||
{
|
||||
m_porosityModelUiField.setUiHidden(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
m_porosityModelUiField.setUiHidden(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -49,7 +49,6 @@ public:
|
||||
void setPorosityModel(RimDefines::PorosityModelType val);
|
||||
QString resultVariable() const { return m_resultVariable(); }
|
||||
virtual void setResultVariable(const QString& val);
|
||||
void setPorosityModelUiFieldHidden(bool hide);
|
||||
|
||||
void loadResult();
|
||||
size_t gridScalarIndex() const;
|
||||
@ -71,6 +70,7 @@ protected:
|
||||
caf::PdmField<QString> m_resultVariable;
|
||||
|
||||
friend class RimCellPropertyFilter;
|
||||
friend class RimFaultResultSettings;
|
||||
// User interface only fields, to support "filtering"-like behaviour etc.
|
||||
caf::PdmField< caf::AppEnum< RimDefines::ResultCatType > > m_resultTypeUiField;
|
||||
caf::PdmField< caf::AppEnum< RimDefines::PorosityModelType > > m_porosityModelUiField;
|
||||
@ -81,6 +81,9 @@ protected:
|
||||
|
||||
caf::PdmPointer<RimReservoirView> m_reservoirView;
|
||||
|
||||
protected:
|
||||
void updateFieldVisibility();
|
||||
|
||||
private:
|
||||
QStringList getResultVariableListForCurrentUIFieldSettings();
|
||||
};
|
||||
|
@ -154,6 +154,8 @@ void RimResultSlot::initAfterRead()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimResultSlot::setReservoirView(RimReservoirView* ownerReservoirView)
|
||||
{
|
||||
RimResultDefinition::setReservoirView(ownerReservoirView);
|
||||
|
||||
m_reservoirView = ownerReservoirView;
|
||||
this->legendConfig()->setReservoirView(ownerReservoirView);
|
||||
std::list<caf::PdmPointer<RimLegendConfig> >::iterator it;
|
||||
|
@ -44,6 +44,7 @@ public:
|
||||
virtual void setResultVariable(const QString& resultName);
|
||||
|
||||
protected:
|
||||
friend class RimFaultResultSettings;
|
||||
virtual void initAfterRead();
|
||||
|
||||
private:
|
||||
|
Loading…
Reference in New Issue
Block a user