Cockatrice 2026-01-14-Development-2.11.0-beta.46
A cross-platform 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 <QVector>
6#include <QWidget>
7
8class SegmentedBarWidget : public QWidget
9{
10 Q_OBJECT
11
12public:
13 struct Segment
14 {
15 QString category;
16 int value = 0;
17 QStringList cards;
18 QColor color;
19 };
20
21 QString label;
22 QVector<Segment> segments;
23 float total = 1.0;
24
25 explicit SegmentedBarWidget(QString label, QVector<Segment> segments, int total, QWidget *parent = nullptr);
26 QSize sizeHint() const override;
27
28protected:
29 void paintEvent(QPaintEvent *event) override;
30 void mouseMoveEvent(QMouseEvent *e) override;
31
32 int segmentAt(int y) const;
33
34private:
35 bool hovered = true;
36};
37
38#endif // COCKATRICE_SEGMENTED_BAR_WIDGET_H
QVector< Segment > segments
Definition segmented_bar_widget.h:22
void paintEvent(QPaintEvent *event) override
Definition segmented_bar_widget.cpp:22
bool hovered
Definition segmented_bar_widget.h:35
QString label
Definition segmented_bar_widget.h:21
QSize sizeHint() const override
Definition segmented_bar_widget.cpp:17
float total
Definition segmented_bar_widget.h:23
SegmentedBarWidget(QString label, QVector< Segment > segments, int total, QWidget *parent=nullptr)
Definition segmented_bar_widget.cpp:8
void mouseMoveEvent(QMouseEvent *e) override
Definition segmented_bar_widget.cpp:121
int segmentAt(int y) const
Definition segmented_bar_widget.cpp:94
Definition segmented_bar_widget.h:14
QColor color
Definition segmented_bar_widget.h:18
QString category
Definition segmented_bar_widget.h:15
int value
Definition segmented_bar_widget.h:16
QStringList cards
Definition segmented_bar_widget.h:17