mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#2780 Ensemble Curve Set : Add basic auto name of curve set
This commit is contained in:
@@ -22,15 +22,16 @@
|
||||
|
||||
#include "RifReaderEclipseSummary.h"
|
||||
|
||||
#include "RimEnsembleCurveSetCollection.h"
|
||||
#include "RimProject.h"
|
||||
#include "RimRegularLegendConfig.h"
|
||||
#include "RimSummaryAddress.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCaseCollection.h"
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryPlot.h"
|
||||
#include "RimSummaryCurveAutoName.h"
|
||||
#include "RimSummaryFilter.h"
|
||||
#include "RimSummaryAddress.h"
|
||||
#include "RimEnsembleCurveSetCollection.h"
|
||||
#include "RimSummaryPlot.h"
|
||||
|
||||
#include "RiuSummaryQwtPlot.h"
|
||||
|
||||
@@ -113,6 +114,20 @@ RimEnsembleCurveSet::RimEnsembleCurveSet()
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_legendConfig, "LegendConfig", "", "", "", "");
|
||||
m_legendConfig = new RimRegularLegendConfig();
|
||||
|
||||
CAF_PDM_InitField(&m_userDefinedName, "UserDefinedName", QString("Ensamble Curve Set"), "Curve Set Name", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_autoGeneratedName, "AutoGeneratedName", "Curve Set Name", "", "", "");
|
||||
m_autoGeneratedName.registerGetMethod(this, &RimEnsembleCurveSet::createAutoName);
|
||||
m_autoGeneratedName.uiCapability()->setUiReadOnly(true);
|
||||
m_autoGeneratedName.xmlCapability()->disableIO();
|
||||
|
||||
CAF_PDM_InitField(&m_isUsingAutoName, "AutoName", true, "Auto Name", "", "", "");
|
||||
CAF_PDM_InitFieldNoDefault(&m_summaryAddressNameTools, "SummaryAddressNameTools", "SummaryAddressNameTools", "", "", "");
|
||||
m_summaryAddressNameTools.uiCapability()->setUiHidden(true);
|
||||
m_summaryAddressNameTools.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
|
||||
m_summaryAddressNameTools = new RimSummaryCurveAutoName;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -326,6 +341,10 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
updateQwtPlotAxis();
|
||||
plot->updateAxes();
|
||||
}
|
||||
else if (changedField == &m_isUsingAutoName && !m_isUsingAutoName)
|
||||
{
|
||||
m_userDefinedName = createAutoName();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -333,6 +352,21 @@ void RimEnsembleCurveSet::fieldChangedByUi(const caf::PdmFieldHandle* changedFie
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimEnsembleCurveSet::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering)
|
||||
{
|
||||
{
|
||||
caf::PdmUiGroup* nameGroup = uiOrdering.addNewGroup("Curve Name");
|
||||
nameGroup->setCollapsedByDefault(true);
|
||||
nameGroup->add(&m_isUsingAutoName);
|
||||
if (m_isUsingAutoName)
|
||||
{
|
||||
nameGroup->add(&m_autoGeneratedName);
|
||||
m_summaryAddressNameTools->uiOrdering(uiConfigName, *nameGroup);
|
||||
}
|
||||
else
|
||||
{
|
||||
nameGroup->add(&m_userDefinedName);
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
QString curveDataGroupName = "Summary Vector";
|
||||
caf::PdmUiGroup* curveDataGroup = uiOrdering.addNewGroupWithKeyword(curveDataGroupName, "Summary Vector Y");
|
||||
@@ -387,6 +421,21 @@ void RimEnsembleCurveSet::defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrd
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimEnsembleCurveSet::userDescriptionField()
|
||||
{
|
||||
if (m_isUsingAutoName)
|
||||
{
|
||||
return &m_autoGeneratedName;
|
||||
}
|
||||
else
|
||||
{
|
||||
return &m_userDefinedName;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimEnsembleCurveSet::objectToggleField()
|
||||
{
|
||||
return &m_showCurves;
|
||||
@@ -632,4 +681,26 @@ std::vector<QString> RimEnsembleCurveSet::ensembleParameters() const
|
||||
}
|
||||
}
|
||||
return std::vector<QString>(paramSet.begin(), paramSet.end());
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimEnsembleCurveSet::createAutoName() const
|
||||
{
|
||||
RimSummaryPlot* plot = nullptr;
|
||||
firstAncestorOrThisOfTypeAsserted(plot);
|
||||
|
||||
QString curveSetName = m_summaryAddressNameTools->curveNameY(m_yValuesCurveVariable->address(), plot->activePlotTitleHelper());
|
||||
if (curveSetName.isEmpty())
|
||||
{
|
||||
curveSetName = m_summaryAddressNameTools->curveNameY(m_yValuesCurveVariable->address(), nullptr);
|
||||
}
|
||||
|
||||
if (curveSetName.isEmpty())
|
||||
{
|
||||
curveSetName = "Name Placeholder";
|
||||
}
|
||||
|
||||
return curveSetName;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "cafAppEnum.h"
|
||||
|
||||
#include "RifEclipseSummaryAddressQMetaType.h"
|
||||
#include "cafPdmProxyValueField.h"
|
||||
|
||||
class QwtPlot;
|
||||
class QwtPlotCurve;
|
||||
@@ -44,6 +45,7 @@ class RimSummaryCurve;
|
||||
class RimSummaryAddress;
|
||||
class RimSummaryFilter;
|
||||
class RimSummaryPlotSourceStepping;
|
||||
class RimSummaryCurveAutoName;
|
||||
class QKeyEvent;
|
||||
|
||||
//==================================================================================================
|
||||
@@ -78,6 +80,7 @@ public:
|
||||
void onLegendDefinitionChanged();
|
||||
|
||||
private:
|
||||
caf::PdmFieldHandle* userDescriptionField() override;
|
||||
caf::PdmFieldHandle* objectToggleField();
|
||||
virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) override;
|
||||
|
||||
@@ -101,13 +104,15 @@ private:
|
||||
void updateAllCurves();
|
||||
std::vector<QString> ensembleParameters() const;
|
||||
|
||||
QString createAutoName() const;
|
||||
|
||||
|
||||
private:
|
||||
caf::PdmField<bool> m_showCurves;
|
||||
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
|
||||
|
||||
caf::PdmPointer<RimSummaryCurve> m_currentSummaryCurve;
|
||||
|
||||
// Y values
|
||||
caf::PdmPtrField<RimSummaryCaseCollection*> m_yValuesSummaryGroup;
|
||||
caf::PdmChildField<RimSummaryAddress*> m_yValuesCurveVariable;
|
||||
caf::PdmField<QString> m_yValuesSelectedVariableDisplayField;
|
||||
@@ -123,6 +128,11 @@ private:
|
||||
|
||||
caf::PdmChildField<RimRegularLegendConfig*> m_legendConfig;
|
||||
|
||||
caf::PdmField<bool> m_isUsingAutoName;
|
||||
caf::PdmField<QString> m_userDefinedName;
|
||||
caf::PdmProxyValueField<QString> m_autoGeneratedName;
|
||||
caf::PdmChildField<RimSummaryCurveAutoName*> m_summaryAddressNameTools;
|
||||
|
||||
std::set<RifEclipseSummaryAddress> m_allAddressesCache;
|
||||
};
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "SummaryPlotCommands/RicSummaryCurveCreator.h"
|
||||
|
||||
#include "cafPdmUiPushButtonEditor.h"
|
||||
#include "RimEnsembleCurveSet.h"
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimSummaryCurveAutoName, "SummaryCurveAutoName");
|
||||
|
||||
@@ -323,6 +324,8 @@ void RimSummaryCurveAutoName::fieldChangedByUi(const caf::PdmFieldHandle* change
|
||||
{
|
||||
summaryCurve->updateCurveNameAndUpdatePlotLegend();
|
||||
summaryCurve->updateConnectedEditors();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
RicSummaryCurveCreator* curveCreator = dynamic_cast<RicSummaryCurveCreator*>(this->parentField()->ownerObject());
|
||||
@@ -330,6 +333,18 @@ void RimSummaryCurveAutoName::fieldChangedByUi(const caf::PdmFieldHandle* change
|
||||
{
|
||||
curveCreator->updateCurveNames();
|
||||
curveCreator->updateConnectedEditors();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
{
|
||||
auto ensambleCurveSet = dynamic_cast<RimEnsembleCurveSet*>(this->parentField()->ownerObject());
|
||||
if (ensambleCurveSet)
|
||||
{
|
||||
ensambleCurveSet->updateConnectedEditors();
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user