Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
bar_chart_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_BAR_CHART_WIDGET_H
2#define COCKATRICE_BAR_CHART_WIDGET_H
3
4#include <QColor>
5#include <QList>
6#include <QString>
7#include <QStringList>
8#include <QVector>
9#include <QWidget>
10#include <qtmetamacros.h>
11
13{
14 QString category;
15 int value;
16 QStringList cards;
17 QColor color;
18};
19
20struct BarData
21{
22 QString label;
23 QVector<BarSegment> segments;
24};
25
26class BarChartWidget : public QWidget
27{
28 Q_OBJECT
29public:
30 explicit BarChartWidget(QWidget *parent = nullptr);
31
32 void setBars(const QVector<BarData> &bars);
33 void setHighest(int h); // global max for scaling
34 int barCount() const
35 {
36 return bars.size();
37 }
38
39protected:
40 void paintEvent(QPaintEvent *event) override;
41 QSize sizeHint() const override;
42 QSize minimumSizeHint() const override;
43
44 void mouseMoveEvent(QMouseEvent *event) override;
45 void leaveEvent(QEvent *event) override;
46
47private:
48 QVector<BarData> bars;
49 int highest = 1; // global maximum value
50
51 int hoveredBar = -1;
53};
54
55#endif // COCKATRICE_BAR_CHART_WIDGET_H
QVector< BarData > bars
Definition bar_chart_widget.h:48
void mouseMoveEvent(QMouseEvent *event) override
Definition bar_chart_widget.cpp:164
int highest
Definition bar_chart_widget.h:49
void setHighest(int h)
Definition bar_chart_widget.cpp:30
void setBars(const QVector< BarData > &bars)
Definition bar_chart_widget.cpp:24
QSize minimumSizeHint() const override
Definition bar_chart_widget.cpp:41
int barCount() const
Definition bar_chart_widget.h:34
void leaveEvent(QEvent *event) override
Definition bar_chart_widget.cpp:157
void paintEvent(QPaintEvent *event) override
Definition bar_chart_widget.cpp:46
int hoveredSegment
Definition bar_chart_widget.h:52
QSize sizeHint() const override
Definition bar_chart_widget.cpp:36
BarChartWidget(QWidget *parent=nullptr)
Definition bar_chart_widget.cpp:19
int hoveredBar
Definition bar_chart_widget.h:51
Definition bar_chart_widget.h:21
QString label
Definition bar_chart_widget.h:22
QVector< BarSegment > segments
Definition bar_chart_widget.h:23
Definition bar_chart_widget.h:13
int value
Definition bar_chart_widget.h:15
QString category
Definition bar_chart_widget.h:14
QStringList cards
Definition bar_chart_widget.h:16
QColor color
Definition bar_chart_widget.h:17