mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
statistics: add a header file defining z-values
z-values determine the order in which objects on the chart are painted. To reduce chaos, collect all z-values in a header file. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
fdde4c23ea
commit
3b26f6a767
3 changed files with 23 additions and 3 deletions
|
@ -11,6 +11,7 @@ set(SUBSURFACE_STATS_SRCS
|
||||||
statscolors.cpp
|
statscolors.cpp
|
||||||
statsvariables.h
|
statsvariables.h
|
||||||
statsvariables.cpp
|
statsvariables.cpp
|
||||||
|
zvalues.h
|
||||||
)
|
)
|
||||||
|
|
||||||
source_group("Subsurface statistics sourcecode" FILES ${SUBSURFACE_STATS_SRCS})
|
source_group("Subsurface statistics sourcecode" FILES ${SUBSURFACE_STATS_SRCS})
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
#include "legend.h"
|
#include "legend.h"
|
||||||
#include "statscolors.h"
|
#include "statscolors.h"
|
||||||
|
#include "zvalues.h"
|
||||||
|
|
||||||
#include <QFontMetrics>
|
#include <QFontMetrics>
|
||||||
#include <QGraphicsSceneMouseEvent>
|
#include <QGraphicsSceneMouseEvent>
|
||||||
#include <QGraphicsWidget>
|
#include <QGraphicsWidget>
|
||||||
|
@ -16,7 +18,7 @@ static const QColor legendBorderColor(Qt::black);
|
||||||
Legend::Legend(QGraphicsWidget *chart, const std::vector<QString> &names) :
|
Legend::Legend(QGraphicsWidget *chart, const std::vector<QString> &names) :
|
||||||
QGraphicsRectItem(chart), chart(chart), displayedItems(0), width(0.0), height(0.0)
|
QGraphicsRectItem(chart), chart(chart), displayedItems(0), width(0.0), height(0.0)
|
||||||
{
|
{
|
||||||
setZValue(30.0); // On top of everything else.
|
setZValue(ZValues::legend);
|
||||||
entries.reserve(names.size());
|
entries.reserve(names.size());
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
for (const QString &name: names)
|
for (const QString &name: names)
|
||||||
|
@ -42,10 +44,10 @@ Legend::Entry::Entry(const QString &name, int idx, int numBins, QGraphicsItem *p
|
||||||
rect(new QGraphicsRectItem(parent)),
|
rect(new QGraphicsRectItem(parent)),
|
||||||
text(new QGraphicsSimpleTextItem(name, parent))
|
text(new QGraphicsSimpleTextItem(name, parent))
|
||||||
{
|
{
|
||||||
rect->setZValue(30.0);
|
rect->setZValue(ZValues::legend);
|
||||||
rect->setPen(QPen(legendBorderColor, legendBoxBorderSize));
|
rect->setPen(QPen(legendBorderColor, legendBoxBorderSize));
|
||||||
rect->setBrush(QBrush(binColor(idx, numBins)));
|
rect->setBrush(QBrush(binColor(idx, numBins)));
|
||||||
text->setZValue(30.0);
|
text->setZValue(ZValues::legend);
|
||||||
text->setBrush(QBrush(darkLabelColor));
|
text->setBrush(QBrush(darkLabelColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
17
stats/zvalues.h
Normal file
17
stats/zvalues.h
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
// Defines the z-values of features in the chart view.
|
||||||
|
// Objects with higher z-values are painted on top of objects
|
||||||
|
// with smaller z-values. For the same z-value objects are
|
||||||
|
// drawn in order of addition to the graphics scene.
|
||||||
|
#ifndef ZVALUES_H
|
||||||
|
|
||||||
|
struct ZValues {
|
||||||
|
static constexpr double axes = 0.0;
|
||||||
|
static constexpr double series = 11.0;
|
||||||
|
static constexpr double seriesLabels = 12.0;
|
||||||
|
static constexpr double chartFeatures = 13.0; // quartile markers and regression lines
|
||||||
|
static constexpr double informationBox = 14.0;
|
||||||
|
static constexpr double legend = 15.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Loading…
Add table
Reference in a new issue