statistics: collect colors in a StatsTheme class

To enable rudimentary theming, collect all colors in a new
theme class. The class has to be passed down to the various
items.

In general the items save a reference to the them in the
constructor. Alternatively, they might also just query
the StatsView everytime they need to access a color.
For now, it's hard the say what is preferred: a reference
per item or a function call per invokation?

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-02-16 17:05:39 +01:00 committed by Dirk Hohndel
parent 56e02dbcc0
commit b5aac29cea
25 changed files with 272 additions and 166 deletions

View file

@ -10,6 +10,7 @@
#include <QFont>
class QFontMetrics;
class StatsTheme;
class Legend : public ChartRectItem {
public:
@ -23,11 +24,12 @@ private:
QBrush rectBrush;
QPointF pos;
double width;
Entry(const QString &name, int idx, int numBins, const QFontMetrics &fm);
Entry(const QString &name, int idx, int numBins, const QFontMetrics &fm, const StatsTheme &);
};
int displayedItems;
double width;
double height;
const StatsTheme &theme; // Set once in constructor.
QFont font;
// The position is specified with respect to the center and in relative terms
// with respect to the canvas.