mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#773 Summary Curve Filter : Added auto update of plot when selection changes
This commit is contained in:
parent
d3ad0d43bf
commit
4bba0d1337
@ -102,6 +102,8 @@ RimSummaryCurveFilter::RimSummaryCurveFilter()
|
||||
m_applyButtonField.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_applyButtonField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitField(&m_autoApplyFilterChanges, "AutoApplyFilterChanges", false, "Auto Apply Changes", "", "", "");
|
||||
|
||||
CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", "");
|
||||
m_showCurves.uiCapability()->setUiHidden(true);
|
||||
|
||||
@ -219,6 +221,7 @@ void RimSummaryCurveFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrd
|
||||
}
|
||||
|
||||
uiOrdering.add(&m_plotAxis);
|
||||
uiOrdering.add(&m_autoApplyFilterChanges);
|
||||
uiOrdering.add(&m_applyButtonField);
|
||||
|
||||
uiOrdering.setForgetRemainingFields(true);
|
||||
@ -231,17 +234,16 @@ void RimSummaryCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedF
|
||||
{
|
||||
if(changedField == &m_uiFilterResultMultiSelection)
|
||||
{
|
||||
|
||||
if (m_autoApplyFilterChanges)
|
||||
{
|
||||
loadDataAndUpdatePlot();
|
||||
}
|
||||
}
|
||||
else if (changedField == &m_applyButtonField)
|
||||
{
|
||||
syncCurvesFromUiSelection();
|
||||
loadDataAndUpdate();
|
||||
m_applyButtonField = false;
|
||||
|
||||
RimSummaryPlot* plot = nullptr;
|
||||
firstAncestorOrThisOfType(plot);
|
||||
plot->updateAxes();
|
||||
loadDataAndUpdatePlot();
|
||||
}
|
||||
else if (changedField == &m_showCurves)
|
||||
{
|
||||
@ -257,6 +259,19 @@ void RimSummaryCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedF
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurveFilter::loadDataAndUpdatePlot()
|
||||
{
|
||||
syncCurvesFromUiSelection();
|
||||
loadDataAndUpdate();
|
||||
|
||||
RimSummaryPlot* plot = nullptr;
|
||||
firstAncestorOrThisOfType(plot);
|
||||
plot->updateAxes();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -296,8 +311,6 @@ RimSummaryCurve* RimSummaryCurveFilter::findRimCurveFromQwtCurve(const QwtPlotCu
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -500,8 +513,6 @@ void RimSummaryCurveFilter::createCurvesFromCurveDefinitions(const std::set<std:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -514,7 +525,6 @@ void RimSummaryCurveFilter::updateCaseNameHasChanged()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -534,6 +544,17 @@ void RimSummaryCurveFilter::setPlotAxis(RimDefines::PlotAxis plotAxis)
|
||||
updatePlotAxisForCurves();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryCurveFilter::updateCompleteVariableStringFilterChanged()
|
||||
{
|
||||
if (m_autoApplyFilterChanges)
|
||||
{
|
||||
loadDataAndUpdatePlot();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -74,6 +74,8 @@ public:
|
||||
RimDefines::PlotAxis associatedPlotAxis() const;
|
||||
void setPlotAxis(RimDefines::PlotAxis plotAxis);
|
||||
|
||||
void updateCompleteVariableStringFilterChanged();
|
||||
|
||||
private:
|
||||
void syncCurvesFromUiSelection();
|
||||
void createCurvesFromCurveDefinitions(const std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >& curveDefinitions);
|
||||
@ -88,10 +90,12 @@ private:
|
||||
// Overridden PDM methods
|
||||
virtual caf::PdmFieldHandle* objectToggleField() override;
|
||||
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly);
|
||||
|
||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly);
|
||||
virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute * attribute) override;
|
||||
void updatePlotAxisForCurves();
|
||||
void loadDataAndUpdatePlot();
|
||||
|
||||
private:
|
||||
QPointer<QwtPlot> m_parentQwtPlot;
|
||||
@ -111,6 +115,7 @@ private:
|
||||
caf::PdmField<std::vector<RifEclipseSummaryAddress> >
|
||||
m_uiFilterResultMultiSelection;
|
||||
|
||||
caf::PdmField<bool> m_autoApplyFilterChanges;
|
||||
caf::PdmField<bool> m_applyButtonField;
|
||||
|
||||
caf::PdmField<bool> m_useAutoAppearanceAssignment;
|
||||
|
@ -17,7 +17,9 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RimSummaryFilter.h"
|
||||
|
||||
#include "RimSummaryCurve.h"
|
||||
#include "RimSummaryCurveFilter.h"
|
||||
|
||||
namespace caf
|
||||
{
|
||||
@ -351,14 +353,22 @@ void RimSummaryFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimSummaryFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue)
|
||||
{
|
||||
|
||||
caf::PdmObject* parent = dynamic_cast<caf::PdmObject*>( this->parentField()->ownerObject());
|
||||
caf::PdmObject* parent = dynamic_cast<caf::PdmObject*>(this->parentField()->ownerObject());
|
||||
|
||||
if (parent)
|
||||
{
|
||||
parent->updateConnectedEditors();
|
||||
}
|
||||
|
||||
if (changedField == &m_completeVarStringFilter)
|
||||
{
|
||||
RimSummaryCurveFilter* curveFilter = nullptr;
|
||||
this->firstAncestorOrThisOfType(curveFilter);
|
||||
if (curveFilter)
|
||||
{
|
||||
curveFilter->updateCompleteVariableStringFilterChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user