mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#8452 QtCharts: Add fill color and pattern
This commit is contained in:
@@ -69,6 +69,7 @@ void RimPlotCurveAppearance::FillStyle::setUp()
|
|||||||
addItem( Qt::BDiagPattern, "DIAG_FILL", "Diagonal Lines" );
|
addItem( Qt::BDiagPattern, "DIAG_FILL", "Diagonal Lines" );
|
||||||
addItem( Qt::CrossPattern, "CROSS_FILL", "Mesh" );
|
addItem( Qt::CrossPattern, "CROSS_FILL", "Mesh" );
|
||||||
addItem( Qt::DiagCrossPattern, "DIAG_CROSS_FILL", "Diagonal Mesh" );
|
addItem( Qt::DiagCrossPattern, "DIAG_CROSS_FILL", "Diagonal Mesh" );
|
||||||
|
setDefault( Qt::NoBrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace caf
|
} // namespace caf
|
||||||
@@ -386,6 +387,7 @@ void RimPlotCurveAppearance::resetAppearance()
|
|||||||
setLineStyle( RiuQwtPlotCurveDefines::LineStyleEnum::STYLE_SOLID );
|
setLineStyle( RiuQwtPlotCurveDefines::LineStyleEnum::STYLE_SOLID );
|
||||||
setSymbol( RiuPlotCurveSymbol::SYMBOL_NONE );
|
setSymbol( RiuPlotCurveSymbol::SYMBOL_NONE );
|
||||||
setSymbolSkipDistance( 10 );
|
setSymbolSkipDistance( 10 );
|
||||||
|
setFillStyle( Qt::NoBrush );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -44,11 +44,16 @@ RiuQtChartsPlotCurve::RiuQtChartsPlotCurve( RimPlotCurve* ownerRimCurve, const Q
|
|||||||
m_lineSeries = new QtCharts::QLineSeries();
|
m_lineSeries = new QtCharts::QLineSeries();
|
||||||
m_lineSeries->setName( title );
|
m_lineSeries->setName( title );
|
||||||
|
|
||||||
|
m_areaSeries = new QtCharts::QAreaSeries();
|
||||||
|
m_areaSeries->setName( title );
|
||||||
|
|
||||||
m_scatterSeries = new QtCharts::QScatterSeries();
|
m_scatterSeries = new QtCharts::QScatterSeries();
|
||||||
m_scatterSeries->setName( title );
|
m_scatterSeries->setName( title );
|
||||||
|
|
||||||
m_axisX = RiuPlotAxis::defaultBottom();
|
m_axisX = RiuPlotAxis::defaultBottom();
|
||||||
m_axisY = RiuPlotAxis::defaultLeft();
|
m_axisY = RiuPlotAxis::defaultLeft();
|
||||||
|
|
||||||
|
m_isVisibleInLegend = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -69,6 +74,15 @@ RiuQtChartsPlotCurve::~RiuQtChartsPlotCurve()
|
|||||||
delete line;
|
delete line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto* area = areaSeries();
|
||||||
|
if ( area )
|
||||||
|
{
|
||||||
|
m_plotWidget->qtChart()->removeSeries( area );
|
||||||
|
|
||||||
|
// removeSeries() releases chart ownership of the data, delete data to avoid memory leak
|
||||||
|
delete area;
|
||||||
|
}
|
||||||
|
|
||||||
auto* scatter = scatterSeries();
|
auto* scatter = scatterSeries();
|
||||||
if ( scatter )
|
if ( scatter )
|
||||||
{
|
{
|
||||||
@@ -83,6 +97,9 @@ RiuQtChartsPlotCurve::~RiuQtChartsPlotCurve()
|
|||||||
delete m_lineSeries;
|
delete m_lineSeries;
|
||||||
m_lineSeries = nullptr;
|
m_lineSeries = nullptr;
|
||||||
|
|
||||||
|
delete m_areaSeries;
|
||||||
|
m_areaSeries = nullptr;
|
||||||
|
|
||||||
delete m_scatterSeries;
|
delete m_scatterSeries;
|
||||||
m_scatterSeries = nullptr;
|
m_scatterSeries = nullptr;
|
||||||
}
|
}
|
||||||
@@ -95,6 +112,7 @@ void RiuQtChartsPlotCurve::setTitle( const QString& title )
|
|||||||
if ( !isQtChartObjectsPresent() ) return;
|
if ( !isQtChartObjectsPresent() ) return;
|
||||||
|
|
||||||
lineSeries()->setName( title );
|
lineSeries()->setName( title );
|
||||||
|
areaSeries()->setName( title );
|
||||||
scatterSeries()->setName( title );
|
scatterSeries()->setName( title );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,6 +135,22 @@ void RiuQtChartsPlotCurve::setAppearance( RiuQwtPlotCurveDefines::LineStyleEnum
|
|||||||
|
|
||||||
lineSeries()->setPen( curvePen );
|
lineSeries()->setPen( curvePen );
|
||||||
lineSeries()->setBrush( fillBrush );
|
lineSeries()->setBrush( fillBrush );
|
||||||
|
|
||||||
|
areaSeries()->setPen( curvePen );
|
||||||
|
areaSeries()->setBrush( fillBrush );
|
||||||
|
|
||||||
|
if ( fillBrush.style() == Qt::NoBrush )
|
||||||
|
{
|
||||||
|
lineSeries()->show();
|
||||||
|
areaSeries()->hide();
|
||||||
|
setVisibleInLegend( m_isVisibleInLegend );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lineSeries()->hide();
|
||||||
|
areaSeries()->show();
|
||||||
|
setVisibleInLegend( m_isVisibleInLegend );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -127,6 +161,7 @@ void RiuQtChartsPlotCurve::setBrush( const QBrush& brush )
|
|||||||
if ( !isQtChartObjectsPresent() ) return;
|
if ( !isQtChartObjectsPresent() ) return;
|
||||||
|
|
||||||
lineSeries()->setBrush( brush );
|
lineSeries()->setBrush( brush );
|
||||||
|
areaSeries()->setBrush( brush );
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -141,16 +176,19 @@ void RiuQtChartsPlotCurve::attachToPlot( RiuPlotWidget* plotWidget )
|
|||||||
{
|
{
|
||||||
m_plotWidget->qtChart()->legend()->setMarkerShape( QtCharts::QLegend::MarkerShape::MarkerShapeFromSeries );
|
m_plotWidget->qtChart()->legend()->setMarkerShape( QtCharts::QLegend::MarkerShape::MarkerShapeFromSeries );
|
||||||
setVisibleInLegend( true );
|
setVisibleInLegend( true );
|
||||||
|
|
||||||
lineSeries()->show();
|
lineSeries()->show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( !m_lineSeries ) m_lineSeries = new QtCharts::QLineSeries();
|
if ( !m_lineSeries ) m_lineSeries = new QtCharts::QLineSeries();
|
||||||
|
if ( !m_areaSeries ) m_areaSeries = new QtCharts::QAreaSeries();
|
||||||
if ( !m_scatterSeries ) m_scatterSeries = new QtCharts::QScatterSeries();
|
if ( !m_scatterSeries ) m_scatterSeries = new QtCharts::QScatterSeries();
|
||||||
|
|
||||||
m_plotWidget->attach( this, m_lineSeries, m_scatterSeries, m_axisX, m_axisY );
|
m_plotWidget->attach( this, m_lineSeries, m_areaSeries, m_scatterSeries, m_axisX, m_axisY );
|
||||||
// Plot widget takes ownership.
|
// Plot widget takes ownership.
|
||||||
m_lineSeries = nullptr;
|
m_lineSeries = nullptr;
|
||||||
|
m_areaSeries = nullptr;
|
||||||
m_scatterSeries = nullptr;
|
m_scatterSeries = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -181,6 +219,12 @@ void RiuQtChartsPlotCurve::detach()
|
|||||||
line->hide();
|
line->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QtCharts::QAreaSeries* area = areaSeries();
|
||||||
|
if ( area )
|
||||||
|
{
|
||||||
|
area->hide();
|
||||||
|
}
|
||||||
|
|
||||||
if ( scatterSeries() )
|
if ( scatterSeries() )
|
||||||
{
|
{
|
||||||
scatterSeries()->hide();
|
scatterSeries()->hide();
|
||||||
@@ -210,8 +254,6 @@ void RiuQtChartsPlotCurve::setSamplesInPlot( const std::vector<double>& xValues,
|
|||||||
|
|
||||||
CAF_ASSERT( xValues.size() == yValues.size() );
|
CAF_ASSERT( xValues.size() == yValues.size() );
|
||||||
|
|
||||||
QtCharts::QLineSeries* line = lineSeries();
|
|
||||||
|
|
||||||
QVector<QPointF> values( static_cast<int>( xValues.size() ) );
|
QVector<QPointF> values( static_cast<int>( xValues.size() ) );
|
||||||
|
|
||||||
for ( int i = 0; i < static_cast<int>( xValues.size() ); i++ )
|
for ( int i = 0; i < static_cast<int>( xValues.size() ); i++ )
|
||||||
@@ -219,8 +261,13 @@ void RiuQtChartsPlotCurve::setSamplesInPlot( const std::vector<double>& xValues,
|
|||||||
values[i] = QPointF( xValues[i], yValues[i] );
|
values[i] = QPointF( xValues[i], yValues[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QtCharts::QLineSeries* line = lineSeries();
|
||||||
line->replace( values );
|
line->replace( values );
|
||||||
|
|
||||||
|
QtCharts::QLineSeries* upper = new QtCharts::QLineSeries;
|
||||||
|
upper->replace( values );
|
||||||
|
areaSeries()->setUpperSeries( upper );
|
||||||
|
|
||||||
updateScatterSeries();
|
updateScatterSeries();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,6 +391,7 @@ void RiuQtChartsPlotCurve::setXAxis( RiuPlotAxis axis )
|
|||||||
if ( m_plotWidget )
|
if ( m_plotWidget )
|
||||||
{
|
{
|
||||||
m_plotWidget->setXAxis( axis, lineSeries(), this );
|
m_plotWidget->setXAxis( axis, lineSeries(), this );
|
||||||
|
m_plotWidget->setXAxis( axis, areaSeries(), this );
|
||||||
m_plotWidget->setXAxis( axis, scatterSeries(), this );
|
m_plotWidget->setXAxis( axis, scatterSeries(), this );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -357,6 +405,7 @@ void RiuQtChartsPlotCurve::setYAxis( RiuPlotAxis axis )
|
|||||||
if ( m_plotWidget )
|
if ( m_plotWidget )
|
||||||
{
|
{
|
||||||
m_plotWidget->setYAxis( axis, lineSeries(), this );
|
m_plotWidget->setYAxis( axis, lineSeries(), this );
|
||||||
|
m_plotWidget->setYAxis( axis, areaSeries(), this );
|
||||||
m_plotWidget->setYAxis( axis, scatterSeries(), this );
|
m_plotWidget->setYAxis( axis, scatterSeries(), this );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -428,23 +477,21 @@ void RiuQtChartsPlotCurve::setVisibleInLegend( bool isVisibleInLegend )
|
|||||||
if ( !m_plotWidget->qtChart()->legend()->isAttachedToChart() ) isVisibleInLegend = false;
|
if ( !m_plotWidget->qtChart()->legend()->isAttachedToChart() ) isVisibleInLegend = false;
|
||||||
if ( !m_plotWidget->qtChart()->legend()->isVisible() ) isVisibleInLegend = false;
|
if ( !m_plotWidget->qtChart()->legend()->isVisible() ) isVisibleInLegend = false;
|
||||||
|
|
||||||
bool showScatterMarker = isVisibleInLegend;
|
bool showScatterMarker = isVisibleInLegend && m_symbol;
|
||||||
if ( !m_symbol ) showScatterMarker = false;
|
bool showLineMarker = isVisibleInLegend && !m_symbol;
|
||||||
|
|
||||||
if ( scatterSeries() )
|
auto setLegendVisibility = [this]( auto series, bool isVisible ) {
|
||||||
{
|
if ( series )
|
||||||
auto markers = m_plotWidget->qtChart()->legend()->markers( scatterSeries() );
|
{
|
||||||
if ( !markers.isEmpty() ) markers[0]->setVisible( showScatterMarker );
|
auto markers = m_plotWidget->qtChart()->legend()->markers( series );
|
||||||
}
|
if ( !markers.isEmpty() ) markers[0]->setVisible( isVisible );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
bool showLineMarker = isVisibleInLegend;
|
m_isVisibleInLegend = showLineMarker || showScatterMarker;
|
||||||
if ( showScatterMarker ) showLineMarker = false;
|
setLegendVisibility( lineSeries(), showLineMarker );
|
||||||
|
setLegendVisibility( areaSeries(), false );
|
||||||
if ( lineSeries() )
|
setLegendVisibility( scatterSeries(), showScatterMarker );
|
||||||
{
|
|
||||||
auto lineSeriesMarkers = m_plotWidget->qtChart()->legend()->markers( lineSeries() );
|
|
||||||
if ( !lineSeriesMarkers.isEmpty() ) lineSeriesMarkers[0]->setVisible( showLineMarker );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -469,6 +516,17 @@ QtCharts::QScatterSeries* RiuQtChartsPlotCurve::scatterSeries() const
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QtCharts::QAreaSeries* RiuQtChartsPlotCurve::areaSeries() const
|
||||||
|
{
|
||||||
|
if ( m_areaSeries ) return m_areaSeries;
|
||||||
|
if ( m_plotWidget ) return dynamic_cast<QtCharts::QAreaSeries*>( m_plotWidget->getAreaSeries( this ) );
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -484,15 +542,29 @@ void RiuQtChartsPlotCurve::setSymbol( RiuPlotCurveSymbol* symbol )
|
|||||||
{
|
{
|
||||||
qtChartsSymbol->applyToScatterSeries( scatterSeries() );
|
qtChartsSymbol->applyToScatterSeries( scatterSeries() );
|
||||||
updateScatterSeries();
|
updateScatterSeries();
|
||||||
|
updateLineAndAreaSeries();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_symbol.reset();
|
m_symbol.reset();
|
||||||
if ( scatterSeries() ) scatterSeries()->hide();
|
if ( scatterSeries() ) scatterSeries()->hide();
|
||||||
|
updateLineAndAreaSeries();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
void RiuQtChartsPlotCurve::updateLineAndAreaSeries()
|
||||||
|
{
|
||||||
|
bool isFilled = areaSeries() && areaSeries()->brush().style() != Qt::NoBrush;
|
||||||
|
bool isLine = lineSeries() && lineSeries()->pen().style() != Qt::PenStyle::NoPen;
|
||||||
|
if ( areaSeries() ) areaSeries()->setVisible( isFilled );
|
||||||
|
if ( lineSeries() ) lineSeries()->setVisible( isLine );
|
||||||
|
setVisibleInLegend( m_isVisibleInLegend );
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include "cvfBoundingBox.h"
|
#include "cvfBoundingBox.h"
|
||||||
|
|
||||||
|
#include <QAreaSeries>
|
||||||
#include <QLineSeries>
|
#include <QLineSeries>
|
||||||
#include <QScatterSeries>
|
#include <QScatterSeries>
|
||||||
|
|
||||||
@@ -76,6 +77,8 @@ public:
|
|||||||
|
|
||||||
void setSymbol( RiuPlotCurveSymbol* symbol ) override;
|
void setSymbol( RiuPlotCurveSymbol* symbol ) override;
|
||||||
|
|
||||||
|
void updateLineAndAreaSeries();
|
||||||
|
|
||||||
RiuPlotCurveSymbol* createSymbol( RiuPlotCurveSymbol::PointSymbolEnum symbol ) const override;
|
RiuPlotCurveSymbol* createSymbol( RiuPlotCurveSymbol::PointSymbolEnum symbol ) const override;
|
||||||
|
|
||||||
void updateScatterSeries();
|
void updateScatterSeries();
|
||||||
@@ -89,14 +92,17 @@ private:
|
|||||||
bool isQtChartObjectsPresent() const;
|
bool isQtChartObjectsPresent() const;
|
||||||
QtCharts::QLineSeries* lineSeries() const;
|
QtCharts::QLineSeries* lineSeries() const;
|
||||||
QtCharts::QScatterSeries* scatterSeries() const;
|
QtCharts::QScatterSeries* scatterSeries() const;
|
||||||
|
QtCharts::QAreaSeries* areaSeries() const;
|
||||||
|
|
||||||
cvf::BoundingBox computeBoundingBox() const;
|
cvf::BoundingBox computeBoundingBox() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QtCharts::QLineSeries* m_lineSeries;
|
QtCharts::QLineSeries* m_lineSeries;
|
||||||
QtCharts::QScatterSeries* m_scatterSeries;
|
QtCharts::QScatterSeries* m_scatterSeries;
|
||||||
|
QtCharts::QAreaSeries* m_areaSeries;
|
||||||
std::shared_ptr<RiuPlotCurveSymbol> m_symbol;
|
std::shared_ptr<RiuPlotCurveSymbol> m_symbol;
|
||||||
QPointer<RiuQtChartsPlotWidget> m_plotWidget;
|
QPointer<RiuQtChartsPlotWidget> m_plotWidget;
|
||||||
RiuPlotAxis m_axisX;
|
RiuPlotAxis m_axisX;
|
||||||
RiuPlotAxis m_axisY;
|
RiuPlotAxis m_axisY;
|
||||||
|
bool m_isVisibleInLegend;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -828,6 +828,7 @@ QChart* RiuQtChartsPlotWidget::qtChart()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RiuQtChartsPlotWidget::attach( RiuPlotCurve* plotCurve,
|
void RiuQtChartsPlotWidget::attach( RiuPlotCurve* plotCurve,
|
||||||
QAbstractSeries* lineSeries,
|
QAbstractSeries* lineSeries,
|
||||||
|
QAbstractSeries* areaSeries,
|
||||||
QAbstractSeries* scatterSeries,
|
QAbstractSeries* scatterSeries,
|
||||||
RiuPlotAxis xAxis,
|
RiuPlotAxis xAxis,
|
||||||
RiuPlotAxis yAxis )
|
RiuPlotAxis yAxis )
|
||||||
@@ -849,6 +850,7 @@ void RiuQtChartsPlotWidget::attach( RiuPlotCurve* plotCurve,
|
|||||||
|
|
||||||
auto qtChartsPlotCurve = dynamic_cast<RiuQtChartsPlotCurve*>( plotCurve );
|
auto qtChartsPlotCurve = dynamic_cast<RiuQtChartsPlotCurve*>( plotCurve );
|
||||||
addToChart( m_lineSeriesMap, plotCurve, lineSeries, xAxis, yAxis, qtChartsPlotCurve );
|
addToChart( m_lineSeriesMap, plotCurve, lineSeries, xAxis, yAxis, qtChartsPlotCurve );
|
||||||
|
addToChart( m_areaSeriesMap, plotCurve, areaSeries, xAxis, yAxis, qtChartsPlotCurve );
|
||||||
addToChart( m_scatterSeriesMap, plotCurve, scatterSeries, xAxis, yAxis, qtChartsPlotCurve );
|
addToChart( m_scatterSeriesMap, plotCurve, scatterSeries, xAxis, yAxis, qtChartsPlotCurve );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -858,6 +860,7 @@ void RiuQtChartsPlotWidget::attach( RiuPlotCurve* plotCurve,
|
|||||||
void RiuQtChartsPlotWidget::detach( RiuPlotCurve* plotCurve )
|
void RiuQtChartsPlotWidget::detach( RiuPlotCurve* plotCurve )
|
||||||
{
|
{
|
||||||
m_lineSeriesMap.erase( plotCurve );
|
m_lineSeriesMap.erase( plotCurve );
|
||||||
|
m_areaSeriesMap.erase( plotCurve );
|
||||||
m_scatterSeriesMap.erase( plotCurve );
|
m_scatterSeriesMap.erase( plotCurve );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -873,6 +876,18 @@ QAbstractSeries* RiuQtChartsPlotWidget::getLineSeries( const RiuPlotCurve* plotC
|
|||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
QAbstractSeries* RiuQtChartsPlotWidget::getAreaSeries( const RiuPlotCurve* plotCurve ) const
|
||||||
|
{
|
||||||
|
auto series = m_areaSeriesMap.find( const_cast<RiuPlotCurve*>( plotCurve ) );
|
||||||
|
if ( series != m_areaSeriesMap.end() )
|
||||||
|
return series->second;
|
||||||
|
else
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@@ -895,6 +910,7 @@ void RiuQtChartsPlotWidget::detachItems( RiuPlotWidget::PlotItemType plotItemTyp
|
|||||||
if ( plotItemType == RiuPlotWidget::PlotItemType::CURVE )
|
if ( plotItemType == RiuPlotWidget::PlotItemType::CURVE )
|
||||||
{
|
{
|
||||||
m_lineSeriesMap.clear();
|
m_lineSeriesMap.clear();
|
||||||
|
m_areaSeriesMap.clear();
|
||||||
m_scatterSeriesMap.clear();
|
m_scatterSeriesMap.clear();
|
||||||
qtChart()->removeAllSeries();
|
qtChart()->removeAllSeries();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -161,13 +161,15 @@ public:
|
|||||||
QtCharts::QChart* qtChart();
|
QtCharts::QChart* qtChart();
|
||||||
|
|
||||||
void attach( RiuPlotCurve* plotCurve,
|
void attach( RiuPlotCurve* plotCurve,
|
||||||
QtCharts::QAbstractSeries* lineseries,
|
QtCharts::QAbstractSeries* lineSeries,
|
||||||
|
QtCharts::QAbstractSeries* areaSeries,
|
||||||
QtCharts::QAbstractSeries* scatterSeries,
|
QtCharts::QAbstractSeries* scatterSeries,
|
||||||
RiuPlotAxis xAxis,
|
RiuPlotAxis xAxis,
|
||||||
RiuPlotAxis yAxis );
|
RiuPlotAxis yAxis );
|
||||||
void detach( RiuPlotCurve* plotCurve );
|
void detach( RiuPlotCurve* plotCurve );
|
||||||
|
|
||||||
QtCharts::QAbstractSeries* getLineSeries( const RiuPlotCurve* plotCurve ) const;
|
QtCharts::QAbstractSeries* getLineSeries( const RiuPlotCurve* plotCurve ) const;
|
||||||
|
QtCharts::QAbstractSeries* getAreaSeries( const RiuPlotCurve* plotCurve ) const;
|
||||||
QtCharts::QAbstractSeries* getScatterSeries( const RiuPlotCurve* plotCurve ) const;
|
QtCharts::QAbstractSeries* getScatterSeries( const RiuPlotCurve* plotCurve ) const;
|
||||||
|
|
||||||
void setXAxis( RiuPlotAxis axis, QtCharts::QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
|
void setXAxis( RiuPlotAxis axis, QtCharts::QAbstractSeries* series, RiuQtChartsPlotCurve* plotCurve );
|
||||||
@@ -235,6 +237,7 @@ private:
|
|||||||
std::map<RiuPlotAxis, bool> m_axesAutoScale;
|
std::map<RiuPlotAxis, bool> m_axesAutoScale;
|
||||||
|
|
||||||
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_lineSeriesMap;
|
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_lineSeriesMap;
|
||||||
|
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_areaSeriesMap;
|
||||||
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_scatterSeriesMap;
|
std::map<RiuPlotCurve*, QtCharts::QAbstractSeries*> m_scatterSeriesMap;
|
||||||
|
|
||||||
RiuQwtDateScaleWrapper* m_dateScaleWrapper;
|
RiuQwtDateScaleWrapper* m_dateScaleWrapper;
|
||||||
|
|||||||
Reference in New Issue
Block a user