mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#864 Added auto name config to curve filter
This commit is contained in:
@@ -442,6 +442,14 @@ void RimSummaryCurve::updateQwtPlotAxis()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurve::applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings)
|
||||
{
|
||||
m_curveNameConfig->applySettings(autoNameSettings);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@@ -92,6 +92,8 @@ public:
|
||||
RimDefines::PlotAxis associatedPlotAxis() const;
|
||||
void updateQwtPlotAxis();
|
||||
|
||||
void applyCurveAutoNameSettings(const RimSummaryCurveAutoName& autoNameSettings);
|
||||
|
||||
protected:
|
||||
// RimPlotCurve overrides
|
||||
|
||||
|
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCurveFilter.h"
|
||||
|
||||
|
||||
|
||||
@@ -187,6 +188,22 @@ QString RimSummaryCurveAutoName::curveName(const RifEclipseSummaryAddress& summa
|
||||
return QString::fromStdString(text);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurveAutoName::applySettings(const RimSummaryCurveAutoName& other)
|
||||
{
|
||||
m_caseName = other.m_caseName;
|
||||
m_vectorName = other.m_vectorName;
|
||||
m_unit = other.m_unit;
|
||||
m_regionNumber = other.m_regionNumber;
|
||||
m_wellGroupName = other.m_wellGroupName;
|
||||
m_wellName = other.m_wellName;
|
||||
m_wellSegmentNumber = other.m_wellSegmentNumber;
|
||||
m_lgrName = other.m_lgrName;
|
||||
m_completion = other.m_completion;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -216,13 +233,22 @@ void RimSummaryCurveAutoName::appendLgrName(std::string& text, const RifEclipseS
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurveAutoName::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
RimSummaryCurve* summaryCurve = nullptr;
|
||||
this->firstAncestorOrThisOfType(summaryCurve);
|
||||
// NOTE: The curve filter is parent object of a summary curve, and the update is supposed to update
|
||||
// the first parent, not the grandparent. This is the reason for not using firstAncestorOrThisOfType()
|
||||
|
||||
RimSummaryCurve* summaryCurve = dynamic_cast<RimSummaryCurve*>(this->parentField()->ownerObject());
|
||||
if (summaryCurve)
|
||||
{
|
||||
summaryCurve->updateCurveName();
|
||||
summaryCurve->updateConnectedEditors();
|
||||
}
|
||||
|
||||
RimSummaryCurveFilter* summaryCurveFilter = dynamic_cast<RimSummaryCurveFilter*>(this->parentField()->ownerObject());
|
||||
if (summaryCurveFilter)
|
||||
{
|
||||
summaryCurveFilter->updateCurveNames();
|
||||
summaryCurveFilter->updateConnectedEditors();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@@ -33,10 +33,15 @@ public:
|
||||
|
||||
QString curveName(const RifEclipseSummaryAddress& summaryAddress) const;
|
||||
|
||||
void applySettings(const RimSummaryCurveAutoName& other);
|
||||
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override;
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
friend RimSummaryCurve;
|
||||
friend RimSummaryCurveFilter;
|
||||
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
|
||||
|
@@ -30,6 +30,7 @@
|
||||
#include "RimSummaryCase.h"
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryCurveAppearanceCalculator.h"
|
||||
#include "RimSummaryCurveAutoName.h"
|
||||
#include "RimSummaryFilter.h"
|
||||
#include "RimSummaryPlot.h"
|
||||
#include "RimSummaryPlotCollection.h"
|
||||
@@ -76,7 +77,9 @@ RimSummaryCurveFilter::RimSummaryCurveFilter()
|
||||
CAF_PDM_InitFieldNoDefault(&m_summaryFilter, "VarListFilter", "Filter", "", "", "");
|
||||
m_summaryFilter.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
m_summaryFilter.uiCapability()->setUiHidden(true);
|
||||
m_summaryFilter = new RimSummaryFilter();
|
||||
|
||||
m_summaryFilterObject = std::unique_ptr<RimSummaryFilter>(new RimSummaryFilter);
|
||||
m_summaryFilter = m_summaryFilterObject.get();
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_uiFilterResultMultiSelection, "FilterResultSelection", "Filter Result", "", "Ctrl-A : Select All", "");
|
||||
m_uiFilterResultMultiSelection.xmlCapability()->setIOWritable(false);
|
||||
@@ -110,6 +113,13 @@ RimSummaryCurveFilter::RimSummaryCurveFilter()
|
||||
CAF_PDM_InitFieldNoDefault(&m_regionAppearanceType, "RegionAppearanceType", "Region", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_plotAxis, "PlotAxis", "Axis", "", "", "");
|
||||
|
||||
CAF_PDM_InitFieldNoDefault(&m_curveNameConfig, "SummaryCurveNameConfig", "SummaryCurveNameConfig", "", "", "");
|
||||
m_curveNameConfig.uiCapability()->setUiHidden(true);
|
||||
m_curveNameConfig.uiCapability()->setUiTreeChildrenHidden(true);
|
||||
|
||||
m_curveNameConfigObject = std::unique_ptr<RimSummaryCurveAutoName>(new RimSummaryCurveAutoName);
|
||||
m_curveNameConfig = m_curveNameConfigObject.get();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -117,7 +127,6 @@ RimSummaryCurveFilter::RimSummaryCurveFilter()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
RimSummaryCurveFilter::~RimSummaryCurveFilter()
|
||||
{
|
||||
delete m_summaryFilter();
|
||||
m_curves.deleteAllChildObjects();
|
||||
}
|
||||
|
||||
@@ -213,6 +222,9 @@ void RimSummaryCurveFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrd
|
||||
m_regionAppearanceType.uiCapability()->setUiReadOnly(m_useAutoAppearanceAssignment);
|
||||
}
|
||||
|
||||
caf::PdmUiGroup* autoNameGroup = uiOrdering.addNewGroup("Curve Name Configuration");
|
||||
m_curveNameConfig->defineUiOrdering(uiConfigName, *autoNameGroup);
|
||||
|
||||
uiOrdering.add(&m_plotAxis);
|
||||
uiOrdering.add(&m_autoApplyFilterChanges);
|
||||
uiOrdering.add(&m_applyButtonField);
|
||||
@@ -515,6 +527,7 @@ void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set<std:
|
||||
curve->setSummaryCase(currentCase);
|
||||
curve->setSummaryAddress(caseAddrPair.second);
|
||||
curve->setPlotAxis(m_plotAxis());
|
||||
curve->applyCurveAutoNameSettings(*m_curveNameConfig());
|
||||
|
||||
m_curves.push_back(curve);
|
||||
|
||||
@@ -564,6 +577,18 @@ void RimSummaryCurveFilter::updateCompleteVariableStringFilterChanged()
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurveFilter::updateCurveNames()
|
||||
{
|
||||
for (RimSummaryCurve* curve : m_curves)
|
||||
{
|
||||
curve->applyCurveAutoNameSettings(*m_curveNameConfig());
|
||||
curve->updateCurveName();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@@ -28,11 +28,11 @@
|
||||
#include "cafAppEnum.h"
|
||||
#include "cafPdmPtrArrayField.h"
|
||||
|
||||
#include "RifEclipseSummaryAddress.h"
|
||||
#include "RimDefines.h"
|
||||
#include "RimSummaryCurveAppearanceCalculator.h"
|
||||
|
||||
#include "qwt_plot.h"
|
||||
|
||||
#include <memory>
|
||||
|
||||
class QwtPlot;
|
||||
class QwtPlotCurve;
|
||||
@@ -41,8 +41,8 @@ class RimSummaryCase;
|
||||
class RimSummaryCurve;
|
||||
class RimSummaryFilter;
|
||||
class RiuLineSegmentQwtPlotCurve;
|
||||
class RimSummaryCurveAutoName;
|
||||
|
||||
#include <QPointer>
|
||||
|
||||
|
||||
Q_DECLARE_METATYPE(RifEclipseSummaryAddress);
|
||||
@@ -75,6 +75,8 @@ public:
|
||||
void setPlotAxis(RimDefines::PlotAxis plotAxis);
|
||||
|
||||
void updateCompleteVariableStringFilterChanged();
|
||||
|
||||
void updateCurveNames();
|
||||
|
||||
private:
|
||||
void syncCurvesFromUiSelection();
|
||||
@@ -113,6 +115,8 @@ private:
|
||||
caf::PdmField<std::vector<RifEclipseSummaryAddress> >
|
||||
m_uiFilterResultMultiSelection;
|
||||
|
||||
caf::PdmChildField<RimSummaryCurveAutoName*> m_curveNameConfig;
|
||||
|
||||
caf::PdmField<bool> m_autoApplyFilterChanges;
|
||||
caf::PdmField<bool> m_applyButtonField;
|
||||
|
||||
@@ -125,5 +129,9 @@ private:
|
||||
caf::PdmField< AppearanceTypeAppEnum > m_regionAppearanceType;
|
||||
|
||||
std::vector< caf::PdmPointer<RimSummaryCase> > m_selectionCache;
|
||||
|
||||
// Internal objects managed by unique_ptr
|
||||
std::unique_ptr<RimSummaryFilter> m_summaryFilterObject;
|
||||
std::unique_ptr<RimSummaryCurveAutoName> m_curveNameConfigObject;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user