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
labeledcontrols.h
Go to the documentation of this file.
1
24#ifndef LABELEDCONTROLS_H
25#define LABELEDCONTROLS_H
26
27#include <QString>
28#include <QWidget>
29
30class QLabel;
31class QLineEdit;
32class QDoubleSpinBox;
33class QSpinBox;
34class QComboBox;
35class QToolButton;
36
38class LabeledLineEdit : public QWidget
39{
40 Q_OBJECT
41public:
42 explicit LabeledLineEdit(const QString &labelText,
43 QWidget *parent = nullptr);
44
45 [[nodiscard]] QString text() const;
46 void setText(const QString &v);
47 [[nodiscard]] QLineEdit *lineEdit() const { return m_edit; }
48
49signals:
50 void textChanged(const QString &text);
51
52private:
53 QLabel *m_label = nullptr;
54 QLineEdit *m_edit = nullptr;
55};
56
58class LabeledDoubleSpin : public QWidget
59{
60 Q_OBJECT
61public:
62 LabeledDoubleSpin(const QString &labelText,
63 double minimum,
64 double maximum,
65 int decimals = 3,
66 QWidget *parent = nullptr);
67
68 [[nodiscard]] double value() const;
69 void setValue(double v);
70 [[nodiscard]] QDoubleSpinBox *spin() const { return m_spin; }
71
72signals:
73 void valueChanged(double v);
74
75private:
76 QLabel *m_label = nullptr;
77 QDoubleSpinBox *m_spin = nullptr;
78};
79
81class LabeledIntSpin : public QWidget
82{
83 Q_OBJECT
84public:
85 LabeledIntSpin(const QString &labelText,
86 int minimum,
87 int maximum,
88 QWidget *parent = nullptr);
89
90 [[nodiscard]] int value() const;
91 void setValue(int v);
92 [[nodiscard]] QSpinBox *spin() const { return m_spin; }
93
94signals:
95 void valueChanged(int v);
96
97private:
98 QLabel *m_label = nullptr;
99 QSpinBox *m_spin = nullptr;
100};
101
107class LabeledCombo : public QWidget
108{
109 Q_OBJECT
110public:
111 explicit LabeledCombo(const QString &labelText,
112 QWidget *parent = nullptr);
113
114 void addItem(const QString &text, const QVariant &data = {});
115
116 [[nodiscard]] int currentIndex() const;
117 [[nodiscard]] QVariant currentData() const;
118 void setCurrentIndex(int idx);
119
121 void setCurrentData(const QVariant &data);
122
123 [[nodiscard]] QComboBox *combo() const { return m_combo; }
124
125signals:
126 void currentIndexChanged(int idx);
127
128private:
129 QLabel *m_label = nullptr;
130 QComboBox *m_combo = nullptr;
131};
132
145class LabeledPickerCombo : public QWidget
146{
147 Q_OBJECT
148public:
153 explicit LabeledPickerCombo(const QString &labelText = {},
154 QWidget *parent = nullptr);
155
159 void setItems(const QStringList &items,
160 const QString &selected = {});
161 [[nodiscard]] QString currentText() const;
162 void setCurrentText(const QString &v);
163 [[nodiscard]] QComboBox *combo() const { return m_combo; }
164 [[nodiscard]] QToolButton *button() const { return m_btn; }
165
166signals:
171 void currentTextChanged(const QString &text);
172
173private:
174 QLabel *m_label = nullptr;
175 QComboBox *m_combo = nullptr;
176 QToolButton *m_btn = nullptr;
177};
178
179#endif // LABELEDCONTROLS_H
Definition labeledcontrols.h:108
void setCurrentIndex(int idx)
Definition labeledcontrols.cpp:116
void addItem(const QString &text, const QVariant &data={})
Definition labeledcontrols.cpp:108
void setCurrentData(const QVariant &data)
Definition labeledcontrols.cpp:118
void currentIndexChanged(int idx)
QVariant currentData() const
Definition labeledcontrols.cpp:114
int currentIndex() const
Definition labeledcontrols.cpp:113
QComboBox * combo() const
Definition labeledcontrols.h:123
Definition labeledcontrols.h:59
void setValue(double v)
Definition labeledcontrols.cpp:69
void valueChanged(double v)
double value() const
Definition labeledcontrols.cpp:68
QDoubleSpinBox * spin() const
Definition labeledcontrols.h:70
Definition labeledcontrols.h:82
QSpinBox * spin() const
Definition labeledcontrols.h:92
int value() const
Definition labeledcontrols.cpp:90
void valueChanged(int v)
void setValue(int v)
Definition labeledcontrols.cpp:91
Definition labeledcontrols.h:39
void setText(const QString &v)
Definition labeledcontrols.cpp:45
QLineEdit * lineEdit() const
Definition labeledcontrols.h:47
void textChanged(const QString &text)
QString text() const
Definition labeledcontrols.cpp:44
Definition labeledcontrols.h:146
void setCurrentText(const QString &v)
Definition labeledcontrols.cpp:178
void setItems(const QStringList &items, const QString &selected={})
Definition labeledcontrols.cpp:155
QComboBox * combo() const
Definition labeledcontrols.h:163
QToolButton * button() const
Definition labeledcontrols.h:164
QString currentText() const
Definition labeledcontrols.cpp:172
void currentTextChanged(const QString &text)
int decimals
Definition meshcellparams.cpp:30
QVector< int > v
pool vertex indices
Definition pslgminsize.cpp:159
QVector< int > parent
union-find
Definition pslgminsize.cpp:176
QString text
Definition queryparser.cpp:35