statistics: use RoundRectItem for legend and info-box

Dirk says rounded corners look better. This now looks a bit
extreme to me and probably the border size should be increased.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-03 12:49:26 +01:00 committed by Dirk Hohndel
parent b188560ae5
commit 9beec46e22
5 changed files with 12 additions and 7 deletions

View file

@ -132,7 +132,7 @@ void ToolTipItem::expand()
status = EXPANDED;
}
ToolTipItem::ToolTipItem(QGraphicsItem *parent) : RoundRectItem(parent),
ToolTipItem::ToolTipItem(QGraphicsItem *parent) : RoundRectItem(8.0, parent),
title(new QGraphicsSimpleTextItem(tr("Information"), this)),
status(COLLAPSED),
timeAxis(0),

View file

@ -8,9 +8,10 @@
static const QColor informationBorderColor(Qt::black);
static const QColor informationColor(0xff, 0xff, 0x00, 192); // Note: fourth argument is opacity
static const int informationBorder = 2;
static const double informationBorderRadius = 4.0; // Radius of rounded corners
static const int distanceFromPointer = 10; // Distance to place box from mouse pointer or scatter item
InformationBox::InformationBox(QtCharts::QChart *chart) : QGraphicsRectItem(chart), chart(chart)
InformationBox::InformationBox(QtCharts::QChart *chart) : RoundRectItem(informationBorderRadius, chart), chart(chart)
{
setPen(QPen(informationBorderColor, informationBorder));
setBrush(informationColor);

View file

@ -4,9 +4,10 @@
#ifndef INFORMATION_BOX_H
#define INFORMATION_BOX_H
#include "backend-shared/roundrectitem.h"
#include <vector>
#include <memory>
#include <QGraphicsRectItem>
#include <QFont>
namespace QtCharts {
@ -15,7 +16,7 @@ namespace QtCharts {
struct dive;
// Information window showing data of highlighted dive
struct InformationBox : QGraphicsRectItem {
struct InformationBox : RoundRectItem {
InformationBox(QtCharts::QChart *chart);
void setText(const std::vector<QString> &text, QPointF pos);
void setPos(QPointF pos);

View file

@ -10,13 +10,15 @@
static const double legendBorderSize = 2.0;
static const double legendBoxBorderSize = 1.0;
static const double legendBoxBorderRadius = 4.0; // radius of rounded corners
static const double legendBoxScale = 0.8; // 1.0: text-height of the used font
static const double legendInternalBorderSize = 2.0;
static const QColor legendColor(0x00, 0x8e, 0xcc, 192); // Note: fourth argument is opacity
static const QColor legendBorderColor(Qt::black);
Legend::Legend(QGraphicsWidget *chart, const std::vector<QString> &names) :
QGraphicsRectItem(chart), chart(chart), displayedItems(0), width(0.0), height(0.0)
RoundRectItem(legendBoxBorderRadius, chart), chart(chart),
displayedItems(0), width(0.0), height(0.0)
{
setZValue(ZValues::legend);
entries.reserve(names.size());

View file

@ -3,13 +3,14 @@
#ifndef STATS_LEGEND_H
#define STATS_LEGEND_H
#include "backend-shared/roundrectitem.h"
#include <memory>
#include <vector>
#include <QGraphicsRectItem>
class QGraphicsSceneMouseEvent;
class Legend : public QGraphicsRectItem {
class Legend : public RoundRectItem {
public:
Legend(QGraphicsWidget *chart, const std::vector<QString> &names);
void hover(QPointF pos);