Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
segmented_bar_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_SEGMENTED_BAR_WIDGET_H
2#define COCKATRICE_SEGMENTED_BAR_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
12class SegmentedBarWidget : public QWidget
13{
14 Q_OBJECT
15
16public:
17 struct Segment
18 {
19 QString category;
20 int value = 0;
21 QStringList cards;
22 QColor color;
23 };
24
25 QString label;
26 QVector<Segment> segments;
27 float total = 1.0;
28
29 explicit SegmentedBarWidget(QString label, QVector<Segment> segments, int total, QWidget *parent = nullptr);
30 QSize sizeHint() const override;
31
32protected:
33 void paintEvent(QPaintEvent *event) override;
34 void mouseMoveEvent(QMouseEvent *e) override;
35
36 int segmentAt(int y) const;
37
38private:
39 bool hovered = true;
40};
41
42#endif // COCKATRICE_SEGMENTED_BAR_WIDGET_H
QVector< Segment > segments
Definition segmented_bar_widget.h:26
void paintEvent(QPaintEvent *event) override
Definition segmented_bar_widget.cpp:32
bool hovered
Definition segmented_bar_widget.h:39
QString label
Definition segmented_bar_widget.h:25
QSize sizeHint() const override
Definition segmented_bar_widget.cpp:27
float total
Definition segmented_bar_widget.h:27
SegmentedBarWidget(QString label, QVector< Segment > segments, int total, QWidget *parent=nullptr)
Definition segmented_bar_widget.cpp:18
void mouseMoveEvent(QMouseEvent *e) override
Definition segmented_bar_widget.cpp:133
int segmentAt(int y) const
Definition segmented_bar_widget.cpp:105
Definition segmented_bar_widget.h:18
QColor color
Definition segmented_bar_widget.h:22
QString category
Definition segmented_bar_widget.h:19
int value
Definition segmented_bar_widget.h:20
QStringList cards
Definition segmented_bar_widget.h:21