mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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:
parent
b188560ae5
commit
9beec46e22
5 changed files with 12 additions and 7 deletions
|
@ -132,7 +132,7 @@ void ToolTipItem::expand()
|
||||||
status = EXPANDED;
|
status = EXPANDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
ToolTipItem::ToolTipItem(QGraphicsItem *parent) : RoundRectItem(parent),
|
ToolTipItem::ToolTipItem(QGraphicsItem *parent) : RoundRectItem(8.0, parent),
|
||||||
title(new QGraphicsSimpleTextItem(tr("Information"), this)),
|
title(new QGraphicsSimpleTextItem(tr("Information"), this)),
|
||||||
status(COLLAPSED),
|
status(COLLAPSED),
|
||||||
timeAxis(0),
|
timeAxis(0),
|
||||||
|
|
|
@ -8,9 +8,10 @@
|
||||||
static const QColor informationBorderColor(Qt::black);
|
static const QColor informationBorderColor(Qt::black);
|
||||||
static const QColor informationColor(0xff, 0xff, 0x00, 192); // Note: fourth argument is opacity
|
static const QColor informationColor(0xff, 0xff, 0x00, 192); // Note: fourth argument is opacity
|
||||||
static const int informationBorder = 2;
|
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
|
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));
|
setPen(QPen(informationBorderColor, informationBorder));
|
||||||
setBrush(informationColor);
|
setBrush(informationColor);
|
||||||
|
|
|
@ -4,9 +4,10 @@
|
||||||
#ifndef INFORMATION_BOX_H
|
#ifndef INFORMATION_BOX_H
|
||||||
#define INFORMATION_BOX_H
|
#define INFORMATION_BOX_H
|
||||||
|
|
||||||
|
#include "backend-shared/roundrectitem.h"
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <QGraphicsRectItem>
|
|
||||||
#include <QFont>
|
#include <QFont>
|
||||||
|
|
||||||
namespace QtCharts {
|
namespace QtCharts {
|
||||||
|
@ -15,7 +16,7 @@ namespace QtCharts {
|
||||||
struct dive;
|
struct dive;
|
||||||
|
|
||||||
// Information window showing data of highlighted dive
|
// Information window showing data of highlighted dive
|
||||||
struct InformationBox : QGraphicsRectItem {
|
struct InformationBox : RoundRectItem {
|
||||||
InformationBox(QtCharts::QChart *chart);
|
InformationBox(QtCharts::QChart *chart);
|
||||||
void setText(const std::vector<QString> &text, QPointF pos);
|
void setText(const std::vector<QString> &text, QPointF pos);
|
||||||
void setPos(QPointF pos);
|
void setPos(QPointF pos);
|
||||||
|
|
|
@ -10,13 +10,15 @@
|
||||||
|
|
||||||
static const double legendBorderSize = 2.0;
|
static const double legendBorderSize = 2.0;
|
||||||
static const double legendBoxBorderSize = 1.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 legendBoxScale = 0.8; // 1.0: text-height of the used font
|
||||||
static const double legendInternalBorderSize = 2.0;
|
static const double legendInternalBorderSize = 2.0;
|
||||||
static const QColor legendColor(0x00, 0x8e, 0xcc, 192); // Note: fourth argument is opacity
|
static const QColor legendColor(0x00, 0x8e, 0xcc, 192); // Note: fourth argument is opacity
|
||||||
static const QColor legendBorderColor(Qt::black);
|
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)
|
RoundRectItem(legendBoxBorderRadius, chart), chart(chart),
|
||||||
|
displayedItems(0), width(0.0), height(0.0)
|
||||||
{
|
{
|
||||||
setZValue(ZValues::legend);
|
setZValue(ZValues::legend);
|
||||||
entries.reserve(names.size());
|
entries.reserve(names.size());
|
||||||
|
|
|
@ -3,13 +3,14 @@
|
||||||
#ifndef STATS_LEGEND_H
|
#ifndef STATS_LEGEND_H
|
||||||
#define STATS_LEGEND_H
|
#define STATS_LEGEND_H
|
||||||
|
|
||||||
|
#include "backend-shared/roundrectitem.h"
|
||||||
|
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <QGraphicsRectItem>
|
|
||||||
|
|
||||||
class QGraphicsSceneMouseEvent;
|
class QGraphicsSceneMouseEvent;
|
||||||
|
|
||||||
class Legend : public QGraphicsRectItem {
|
class Legend : public RoundRectItem {
|
||||||
public:
|
public:
|
||||||
Legend(QGraphicsWidget *chart, const std::vector<QString> &names);
|
Legend(QGraphicsWidget *chart, const std::vector<QString> &names);
|
||||||
void hover(QPointF pos);
|
void hover(QPointF pos);
|
||||||
|
|
Loading…
Add table
Reference in a new issue