#11696 Make sure PC axis is visible when required

Use QwtPlotCurve directly to make it possible to see the Y Axis
This commit is contained in:
Magne Sjaastad
2024-09-14 17:05:53 +02:00
committed by GitHub
parent d8b8c86b8f
commit 74cfc14143

View File

@@ -27,14 +27,12 @@
#include "RiuDockedQwtPlot.h" #include "RiuDockedQwtPlot.h"
#include "RiuGuiTheme.h" #include "RiuGuiTheme.h"
#include "RiuPlotCurveSymbol.h" #include "RiuPlotCurveSymbol.h"
#include "RiuQwtPlotCurve.h"
#include "RiuQwtPlotTools.h" #include "RiuQwtPlotTools.h"
#include "RiuQwtSymbol.h" #include "RiuQwtSymbol.h"
#include "RiuRelativePermeabilityPlotUpdater.h" #include "RiuRelativePermeabilityPlotUpdater.h"
#include "RiuTextDialog.h" #include "RiuTextDialog.h"
#include "cvfAssert.h" #include "cvfAssert.h"
#include "cvfTrace.h"
#include "qwt_legend.h" #include "qwt_legend.h"
#include "qwt_plot.h" #include "qwt_plot.h"
@@ -89,6 +87,14 @@ RiuRelativePermeabilityPlotPanel::RiuRelativePermeabilityPlotPanel( QWidget* par
, m_swat( HUGE_VAL ) , m_swat( HUGE_VAL )
, m_sgas( HUGE_VAL ) , m_sgas( HUGE_VAL )
, m_plotUpdater( new RiuRelativePermeabilityPlotUpdater( this ) ) , m_plotUpdater( new RiuRelativePermeabilityPlotUpdater( this ) )
, m_qwtPlot( nullptr )
, m_selectedCurvesButtonGroup( nullptr )
, m_groupBox( nullptr )
, m_logarithmicScaleKrAxisCheckBox( nullptr )
, m_showUnscaledCheckBox( nullptr )
, m_fixedXAxisCheckBox( nullptr )
, m_fixedLeftYAxisCheckBox( nullptr )
{ {
m_qwtPlot = new RelPermQwtPlot( this ); m_qwtPlot = new RelPermQwtPlot( this );
m_qwtPlot->setProperty( "qss-class", "RelPermPlot" ); m_qwtPlot->setProperty( "qss-class", "RelPermPlot" );
@@ -161,7 +167,6 @@ RiuRelativePermeabilityPlotPanel::RiuRelativePermeabilityPlotPanel( QWidget* par
RiuRelativePermeabilityPlotPanel::~RiuRelativePermeabilityPlotPanel() RiuRelativePermeabilityPlotPanel::~RiuRelativePermeabilityPlotPanel()
{ {
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -352,11 +357,10 @@ void RiuRelativePermeabilityPlotPanel::plotCurvesInQwt( RiaDefines::EclipseUnitS
plotOnWhichYAxis = RIGHT_YAXIS; plotOnWhichYAxis = RIGHT_YAXIS;
} }
RiuQwtPlotCurve* qwtCurve = new RiuQwtPlotCurve( nullptr, curve.name.c_str() ); QwtPlotCurve* qwtCurve = new QwtPlotCurve( curve.name.c_str() );
CVF_ASSERT( curve.saturationVals.size() == curve.yVals.size() ); CVF_ASSERT( curve.saturationVals.size() == curve.yVals.size() );
const bool includePositiveValuesOnly = ( logScaleLeftAxis && plotOnWhichYAxis == LEFT_YAXIS ); qwtCurve->setSamples( curve.saturationVals.data(), curve.yVals.data(), static_cast<int>( curve.saturationVals.size() ) );
qwtCurve->setSamplesFromXValuesAndYValues( curve.saturationVals, curve.yVals, includePositiveValuesOnly );
qwtCurve->setTitle( curve.name.c_str() ); qwtCurve->setTitle( curve.name.c_str() );
@@ -390,7 +394,7 @@ void RiuRelativePermeabilityPlotPanel::plotCurvesInQwt( RiaDefines::EclipseUnitS
const QPen curvePen( QBrush(), 1, penStyle ); const QPen curvePen( QBrush(), 1, penStyle );
qwtCurve->setPen( curvePen ); qwtCurve->setPen( curvePen );
RiuQwtSymbol* curveSymbol = new RiuQwtSymbol( RiuPlotCurveSymbol::SYMBOL_ELLIPSE ); auto* curveSymbol = new RiuQwtSymbol( RiuPlotCurveSymbol::SYMBOL_ELLIPSE );
curveSymbol->setSize( 6, 6 ); curveSymbol->setSize( 6, 6 );
curveSymbol->setBrush( Qt::NoBrush ); curveSymbol->setBrush( Qt::NoBrush );
qwtCurve->setSymbol( curveSymbol ); qwtCurve->setSymbol( curveSymbol );
@@ -403,7 +407,7 @@ void RiuRelativePermeabilityPlotPanel::plotCurvesInQwt( RiaDefines::EclipseUnitS
if ( plotOnWhichYAxis == RIGHT_YAXIS ) if ( plotOnWhichYAxis == RIGHT_YAXIS )
{ {
qwtCurve->setYAxis( RiuPlotAxis::defaultRight() ); qwtCurve->setYAxis( { QwtAxis::YRight, 0 } );
shouldEnableRightYAxis = true; shouldEnableRightYAxis = true;
} }
@@ -432,9 +436,15 @@ void RiuRelativePermeabilityPlotPanel::plotCurvesInQwt( RiaDefines::EclipseUnitS
} }
if ( shouldEnableRightYAxis ) if ( shouldEnableRightYAxis )
{
plot->setAxesCount( QwtAxis::YRight, 1 ); plot->setAxesCount( QwtAxis::YRight, 1 );
plot->setAxisVisible( QwtAxis::YRight, true );
}
else else
{
plot->setAxesCount( QwtAxis::YRight, 0 ); plot->setAxesCount( QwtAxis::YRight, 0 );
plot->setAxisVisible( QwtAxis::YRight, false );
}
addTransparentCurve( plot, points, axes, logScaleLeftAxis ); addTransparentCurve( plot, points, axes, logScaleLeftAxis );