mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-20 11:48:35 -06:00
#871 Curve Filter toggle added
This commit is contained in:
parent
cbdc313cf3
commit
b3657bcf43
@ -17,6 +17,7 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RimPlotCurve.h"
|
||||
#include "RimSummaryCurveFilter.h"
|
||||
#include "RiuLineSegmentQwtPlotCurve.h"
|
||||
|
||||
#include "cafPdmUiComboBoxEditor.h"
|
||||
@ -156,7 +157,14 @@ caf::PdmFieldHandle* RimPlotCurve::objectToggleField()
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void RimPlotCurve::updateCurveVisibility()
|
||||
{
|
||||
if (m_showCurve() && m_parentQwtPlot)
|
||||
bool isVisibleInPossibleParent = true;
|
||||
{
|
||||
RimSummaryCurveFilter* cFilter = nullptr;
|
||||
this->firstAncestorOrThisOfType(cFilter);
|
||||
if(cFilter) isVisibleInPossibleParent = cFilter->isCurvesVisible();
|
||||
}
|
||||
|
||||
if (m_showCurve() && m_parentQwtPlot && isVisibleInPossibleParent)
|
||||
{
|
||||
m_qwtPlotCurve->attach(m_parentQwtPlot);
|
||||
}
|
||||
|
@ -77,6 +77,8 @@ public:
|
||||
void updateCurveName();
|
||||
QString curveName() const { return m_curveName; }
|
||||
|
||||
void updateCurveVisibility();
|
||||
|
||||
protected:
|
||||
|
||||
virtual QString createCurveAutoName() = 0;
|
||||
@ -84,7 +86,6 @@ protected:
|
||||
virtual void onLoadDataAndUpdate() = 0;
|
||||
|
||||
void updateCurvePresentation();
|
||||
void updateCurveVisibility();
|
||||
void updateCurveAppearance();
|
||||
|
||||
void updateOptionSensitivity();
|
||||
|
@ -103,6 +103,8 @@ RimSummaryCurveFilter::RimSummaryCurveFilter()
|
||||
m_applyButtonField.uiCapability()->setUiEditorTypeName(caf::PdmUiPushButtonEditor::uiEditorTypeName());
|
||||
m_applyButtonField.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::HIDDEN);
|
||||
|
||||
CAF_PDM_InitField(&m_showCurves, "IsActive", true, "Show Curves", "", "", "");
|
||||
m_showCurves.uiCapability()->setUiHidden(true);
|
||||
|
||||
CAF_PDM_InitField(&m_useAutoAppearanceAssignment, "UseAutoAppearanceAssignment", true, "Auto", "", "", "" );
|
||||
|
||||
@ -236,6 +238,14 @@ void RimSummaryCurveFilter::fieldChangedByUi(const caf::PdmFieldHandle* changedF
|
||||
firstAncestorOrThisOfType(plot);
|
||||
plot->updateYAxisUnit();
|
||||
}
|
||||
else if (changedField == &m_showCurves)
|
||||
{
|
||||
for(RimSummaryCurve* curve : m_curves)
|
||||
{
|
||||
curve->updateCurveVisibility();
|
||||
}
|
||||
if (m_parentQwtPlot) m_parentQwtPlot->replot();
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@ -479,6 +489,23 @@ void RimSummaryCurveFilter::updateCaseNameHasChanged()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimSummaryCurveFilter::isCurvesVisible()
|
||||
{
|
||||
return m_showCurves();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* RimSummaryCurveFilter::objectToggleField()
|
||||
{
|
||||
return &m_showCurves;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -53,6 +53,7 @@ public:
|
||||
virtual ~RimSummaryCurveFilter();
|
||||
|
||||
void createCurves(RimSummaryCase* summaryCase, const QString& stringFilter);
|
||||
bool isCurvesVisible();
|
||||
|
||||
void loadDataAndUpdate();
|
||||
void setParentQwtPlot(QwtPlot* plot);
|
||||
@ -75,6 +76,7 @@ private:
|
||||
std::set<std::pair<RimSummaryCase*, RifEclipseSummaryAddress> >* curveDefinitions) const;
|
||||
|
||||
// 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 void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) override;
|
||||
@ -83,6 +85,7 @@ private:
|
||||
QPointer<QwtPlot> m_parentQwtPlot;
|
||||
|
||||
// Fields
|
||||
caf::PdmField<bool> m_showCurves;
|
||||
caf::PdmPtrArrayField<RimSummaryCase*> m_selectedSummaryCases;
|
||||
caf::PdmChildArrayField<RimSummaryCurve*> m_curves;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user