Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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 <QString>
6#include <QVector>
7#include <QWidget>
8
10{
11 QString category;
12 int value;
13 QStringList cards;
14 QColor color;
15};
16
17struct BarData
18{
19 QString label;
20 QVector<BarSegment> segments;
21};
22
23class BarChartWidget : public QWidget
24{
25 Q_OBJECT
26public:
27 explicit BarChartWidget(QWidget *parent = nullptr);
28
29 void setBars(const QVector<BarData> &bars);
30 void setHighest(int h); // global max for scaling
31 int barCount() const
32 {
33 return bars.size();
34 }
35
36protected:
37 void paintEvent(QPaintEvent *event) override;
38 QSize sizeHint() const override;
39 QSize minimumSizeHint() const override;
40
41 void mouseMoveEvent(QMouseEvent *event) override;
42 void leaveEvent(QEvent *event) override;
43
44private:
45 QVector<BarData> bars;
46 int highest = 1; // global maximum value
47
48 int hoveredBar = -1;
50};
51
52#endif // COCKATRICE_BAR_CHART_WIDGET_H
QVector< BarData > bars
Definition bar_chart_widget.h:45
void mouseMoveEvent(QMouseEvent *event) override
Definition bar_chart_widget.cpp:151
int highest
Definition bar_chart_widget.h:46
void setHighest(int h)
Definition bar_chart_widget.cpp:19
void setBars(const QVector< BarData > &bars)
Definition bar_chart_widget.cpp:13
QSize minimumSizeHint() const override
Definition bar_chart_widget.cpp:30
int barCount() const
Definition bar_chart_widget.h:31
void leaveEvent(QEvent *event) override
Definition bar_chart_widget.cpp:144
void paintEvent(QPaintEvent *event) override
Definition bar_chart_widget.cpp:35
int hoveredSegment
Definition bar_chart_widget.h:49
QSize sizeHint() const override
Definition bar_chart_widget.cpp:25
BarChartWidget(QWidget *parent=nullptr)
Definition bar_chart_widget.cpp:8
int hoveredBar
Definition bar_chart_widget.h:48
Definition bar_chart_widget.h:18
QString label
Definition bar_chart_widget.h:19
QVector< BarSegment > segments
Definition bar_chart_widget.h:20
Definition bar_chart_widget.h:10
int value
Definition bar_chart_widget.h:12
QString category
Definition bar_chart_widget.h:11
QStringList cards
Definition bar_chart_widget.h:13
QColor color
Definition bar_chart_widget.h:14