statistics: replace chart title by QSG node

This one is trivial, since everything is there already:
Replace the QGraphicsSimpleTextItem with a ChartTextItem.
Only few functions have to be renamed.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-18 12:47:24 +01:00 committed by bstoeger
parent 2480d3b7e0
commit 01accbfa3e
2 changed files with 7 additions and 8 deletions

View file

@ -211,7 +211,7 @@ void StatsView::plotAreaChanged(const QSizeF &s)
const double minSize = 30.0;
if (title)
top += title->boundingRect().height() + titleBorder;
top += title->getRect().height() + titleBorder;
// Currently, we only have either none, or an x- and a y-axis
std::pair<double,double> horizontalSpace{ 0.0, 0.0 };
if (xAxis) {
@ -310,17 +310,16 @@ void StatsView::setTitle(const QString &s)
title.reset();
return;
}
title = createItemPtr<QGraphicsSimpleTextItem>(&scene, s);
title->setFont(titleFont);
title = createChartItem<ChartTextItem>(ChartZValue::Legend, titleFont, s);
title->setColor(darkLabelColor);
}
void StatsView::updateTitlePos()
{
if (!title)
return;
QRectF rect = scene.sceneRect();
title->setPos(sceneBorder + (rect.width() - title->boundingRect().width()) / 2.0,
sceneBorder);
title->setPos(QPointF(round(sceneBorder + (boundingRect().width() - title->getRect().width()) / 2.0),
round(sceneBorder)));
}
template <typename T, class... Args>

View file

@ -16,10 +16,10 @@ struct StatsBin;
struct StatsState;
struct StatsVariable;
class QGraphicsSimpleTextItem;
class StatsSeries;
class CategoryAxis;
class ChartItem;
class ChartTextItem;
class CountAxis;
class HistogramAxis;
class HistogramMarker;
@ -130,7 +130,7 @@ private:
std::unique_ptr<Legend> legend;
std::vector<std::unique_ptr<QuartileMarker>> quartileMarkers;
std::vector<std::unique_ptr<HistogramMarker>> histogramMarkers;
std::unique_ptr<QGraphicsSimpleTextItem> title;
std::unique_ptr<ChartTextItem> title;
std::unique_ptr<RegressionItem> regressionItem;
StatsSeries *highlightedSeries;
StatsAxis *xAxis, *yAxis;