SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
graduatedclass.h
Go to the documentation of this file.
1
15#ifndef OPENSWMM_RENDER_GRADUATEDCLASS_H
16#define OPENSWMM_RENDER_GRADUATEDCLASS_H
17
18#include <QColor>
19#include <QJsonObject>
20#include <QObject>
21#include <QString>
22
23namespace OpenSWMM::Render
24{
25
26class GraduatedClass : public QObject
27{
28 Q_OBJECT
29 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
30 Q_PROPERTY(double minValue READ minValue WRITE setMinValue NOTIFY minValueChanged)
31 Q_PROPERTY(double maxValue READ maxValue WRITE setMaxValue NOTIFY maxValueChanged)
32 Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged)
33 Q_PROPERTY(bool visible READ visible WRITE setVisible NOTIFY visibleChanged)
34
35public:
36 explicit GraduatedClass(QObject *parent = nullptr);
37 GraduatedClass(double minValue, double maxValue, QColor color,
38 QString label = {}, QObject *parent = nullptr);
39
40 [[nodiscard]] QColor color() const { return m_color; }
41 [[nodiscard]] double minValue() const { return m_minValue; }
42 [[nodiscard]] double maxValue() const { return m_maxValue; }
43 [[nodiscard]] QString label() const { return m_label; }
44 [[nodiscard]] bool visible() const { return m_visible; }
45
46 void setColor(const QColor &c);
47 void setMinValue(double v);
48 void setMaxValue(double v);
49 void setLabel(const QString &l);
50 void setVisible(bool v);
51
55 [[nodiscard]] bool contains(double v, bool inclusiveUpper = false) const;
56
57 [[nodiscard]] QJsonObject toJson() const;
58 static GraduatedClass *fromJson(const QJsonObject &j, QObject *parent = nullptr);
59
60signals:
61 void colorChanged(const QColor &);
62 void minValueChanged(double);
63 void maxValueChanged(double);
64 void labelChanged(const QString &);
65 void visibleChanged(bool);
69 void changed();
70
71private:
72 QColor m_color = Qt::gray;
73 double m_minValue = 0.0;
74 double m_maxValue = 1.0;
75 QString m_label;
76 bool m_visible = true;
77};
78
79} // namespace OpenSWMM::Render
80
81#endif // OPENSWMM_RENDER_GRADUATEDCLASS_H
Definition graduatedclass.h:27
QString label() const
Definition graduatedclass.h:43
double maxValue
Definition graduatedclass.h:31
double minValue() const
Definition graduatedclass.h:41
static GraduatedClass * fromJson(const QJsonObject &j, QObject *parent=nullptr)
Definition graduatedclass.cpp:84
QString label
Definition graduatedclass.h:32
double maxValue() const
Definition graduatedclass.h:42
bool visible
Definition graduatedclass.h:33
void setLabel(const QString &l)
Definition graduatedclass.cpp:51
void setMaxValue(double v)
Definition graduatedclass.cpp:43
void setColor(const QColor &c)
Definition graduatedclass.cpp:27
void colorChanged(const QColor &)
bool visible() const
Definition graduatedclass.h:44
void labelChanged(const QString &)
double minValue
Definition graduatedclass.h:30
void setVisible(bool v)
Definition graduatedclass.cpp:59
void setMinValue(double v)
Definition graduatedclass.cpp:35
QColor color() const
Definition graduatedclass.h:40
QJsonObject toJson() const
Definition graduatedclass.cpp:73
bool contains(double v, bool inclusiveUpper=false) const
Definition graduatedclass.cpp:67
QColor color
Definition graduatedclass.h:29
Definition gisrasterlayer.h:40
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176