Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
color_bar.h
Go to the documentation of this file.
1#ifndef COCKATRICE_COLOR_BAR_H
2#define COCKATRICE_COLOR_BAR_H
3
4#include <QColor>
5#include <QList>
6#include <QPair>
7#include <QString>
8#include <QWidget>
9#include <qtmetamacros.h>
10
11template <class Key, class T> class QMap;
12
34class ColorBar : public QWidget
35{
36 Q_OBJECT
37
38public:
45 explicit ColorBar(const QMap<QString, int> &colors, QWidget *parent = nullptr);
46
54
62 void setMinPercentThreshold(double treshold)
63 {
64 minRatioThreshold = treshold / 100.0;
65 }
66
70 QSize minimumSizeHint() const override;
71
72protected:
81 void paintEvent(QPaintEvent *event) override;
82
86 void enterEvent(QEnterEvent *event) override;
87
91 void leaveEvent(QEvent *event) override;
92
96 void mouseMoveEvent(QMouseEvent *event) override;
97
98private:
101
103 bool isHovered = false;
104
106 double minRatioThreshold = 0.0;
107
114 QColor colorFromName(const QString &name) const;
115
122 QString tooltipForPosition(int x) const;
123};
124
125#endif // COCKATRICE_COLOR_BAR_H
QColor colorFromName(const QString &name) const
Converts a color name into a display QColor.
Definition color_bar.cpp:151
QList< QPair< QString, int > > colors
Map of color keys to counts used for rendering.
Definition color_bar.h:100
bool isHovered
True if the mouse is currently inside the widget.
Definition color_bar.h:103
ColorBar(const QMap< QString, int > &colors, QWidget *parent=nullptr)
Constructs a ColorBar widget.
Definition color_bar.cpp:21
void leaveEvent(QEvent *event) override
Handles mouse hover leaving.
Definition color_bar.cpp:103
void enterEvent(QEnterEvent *event) override
Handles mouse hover entering.
Definition color_bar.cpp:97
void mouseMoveEvent(QMouseEvent *event) override
Handles mouse movement to update contextual tooltips.
Definition color_bar.cpp:108
void setMinPercentThreshold(double treshold)
Sets a minimum percentage threshold below which segments are not drawn.
Definition color_bar.h:62
QSize minimumSizeHint() const override
Returns the recommended minimum size.
Definition color_bar.cpp:33
double minRatioThreshold
Minimum ratio a segment must exceed to be drawn.
Definition color_bar.h:106
void paintEvent(QPaintEvent *event) override
Paints the color distribution bar.
Definition color_bar.cpp:38
QString tooltipForPosition(int x) const
Returns tooltip text for a given x-coordinate in the bar.
Definition color_bar.cpp:123
void setColors(const QMap< QString, int > &colors)
Updates the color distribution map.
Definition color_bar.cpp:27
Definition remote_connection_controller.h:20
Definition game.h:18