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
qualityfunctiontablemodels.h
Go to the documentation of this file.
1
21#ifndef OPENSWMMVIS_UI_QUALITYFUNCTIONTABLEMODELS_H
22#define OPENSWMMVIS_UI_QUALITYFUNCTIONTABLEMODELS_H
23
24#include <QAbstractTableModel>
25#include <QStringList>
26#include <QStyledItemDelegate>
27
28namespace openswmmvis::ui {
29
31class QualityFunctionTableModel : public QAbstractTableModel
32{
33 Q_OBJECT
34
35public:
36 explicit QualityFunctionTableModel(QObject *parent = nullptr)
37 : QAbstractTableModel(parent) {}
38
41 void bind(void *engineHandle, int luIndex);
42 void refresh();
43
44 int rowCount(const QModelIndex &parent = {}) const override;
45
46 [[nodiscard]] void *engineHandle() const { return m_engine; }
47 [[nodiscard]] int landUseIndex() const { return m_luIndex; }
48
49protected:
50 QString pollutantName(int row) const;
51
52 void *m_engine = nullptr;
53 int m_luIndex = -1;
54 int m_rows = 0;
55};
56
58{
59 Q_OBJECT
60
61public:
64
66
67 int columnCount(const QModelIndex &parent = {}) const override;
68 QVariant data(const QModelIndex &index, int role) const override;
69 bool setData(const QModelIndex &index, const QVariant &value,
70 int role) override;
71 Qt::ItemFlags flags(const QModelIndex &index) const override;
72 QVariant headerData(int section, Qt::Orientation orientation,
73 int role) const override;
74
75 static QStringList functionNames();
76 static QStringList normalizerNames();
77};
78
80{
81 Q_OBJECT
82
83public:
86
88
89 int columnCount(const QModelIndex &parent = {}) const override;
90 QVariant data(const QModelIndex &index, int role) const override;
91 bool setData(const QModelIndex &index, const QVariant &value,
92 int role) override;
93 Qt::ItemFlags flags(const QModelIndex &index) const override;
94 QVariant headerData(int section, Qt::Orientation orientation,
95 int role) const override;
96
97 static QStringList functionNames();
98};
99
102class EnumComboDelegate : public QStyledItemDelegate
103{
104 Q_OBJECT
105
106public:
107 static constexpr int OptionsRole = Qt::UserRole + 41;
108
109 using QStyledItemDelegate::QStyledItemDelegate;
110
111 QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
112 const QModelIndex &index) const override;
113 void setEditorData(QWidget *editor, const QModelIndex &index) const override;
114 void setModelData(QWidget *editor, QAbstractItemModel *model,
115 const QModelIndex &index) const override;
116};
117
118} // namespace openswmmvis::ui
119
120#endif // OPENSWMMVIS_UI_QUALITYFUNCTIONTABLEMODELS_H
Definition qualityfunctiontablemodels.h:58
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition qualityfunctiontablemodels.cpp:74
bool setData(const QModelIndex &index, const QVariant &value, int role) override
Definition qualityfunctiontablemodels.cpp:123
QVariant data(const QModelIndex &index, int role) const override
Definition qualityfunctiontablemodels.cpp:90
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition qualityfunctiontablemodels.cpp:164
static QStringList functionNames()
NONE POW EXP SAT EXT.
Definition qualityfunctiontablemodels.cpp:57
Column
Definition qualityfunctiontablemodels.h:62
@ ColPollutant
Definition qualityfunctiontablemodels.h:62
@ ColCount
Definition qualityfunctiontablemodels.h:63
@ ColC3
Definition qualityfunctiontablemodels.h:62
@ ColNormalizer
Definition qualityfunctiontablemodels.h:63
@ ColC2
Definition qualityfunctiontablemodels.h:62
@ ColC1
Definition qualityfunctiontablemodels.h:62
@ ColFunction
Definition qualityfunctiontablemodels.h:62
int columnCount(const QModelIndex &parent={}) const override
Definition qualityfunctiontablemodels.cpp:69
static QStringList normalizerNames()
AREA CURB.
Definition qualityfunctiontablemodels.cpp:64
Definition qualityfunctiontablemodels.h:103
void setEditorData(QWidget *editor, const QModelIndex &index) const override
Definition qualityfunctiontablemodels.cpp:291
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override
Definition qualityfunctiontablemodels.cpp:301
static constexpr int OptionsRole
Definition qualityfunctiontablemodels.h:107
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
Definition qualityfunctiontablemodels.cpp:279
Shared base: pollutant rows + one bound (engine, land use) target.
Definition qualityfunctiontablemodels.h:32
void * engineHandle() const
Definition qualityfunctiontablemodels.h:46
int m_rows
Definition qualityfunctiontablemodels.h:54
int rowCount(const QModelIndex &parent={}) const override
Definition qualityfunctiontablemodels.cpp:41
void refresh()
re-query pollutant rows (after add/remove/rename)
Definition qualityfunctiontablemodels.cpp:36
void * m_engine
Definition qualityfunctiontablemodels.h:52
void bind(void *engineHandle, int luIndex)
Definition qualityfunctiontablemodels.cpp:25
int m_luIndex
Definition qualityfunctiontablemodels.h:53
QualityFunctionTableModel(QObject *parent=nullptr)
Definition qualityfunctiontablemodels.h:36
QString pollutantName(int row) const
Definition qualityfunctiontablemodels.cpp:46
int landUseIndex() const
Definition qualityfunctiontablemodels.h:47
Definition qualityfunctiontablemodels.h:80
QVariant data(const QModelIndex &index, int role) const override
Definition qualityfunctiontablemodels.cpp:210
static QStringList functionNames()
NONE EXP RC EMC.
Definition qualityfunctiontablemodels.cpp:183
Column
Definition qualityfunctiontablemodels.h:84
@ ColFunction
Definition qualityfunctiontablemodels.h:84
@ ColCoeff
Definition qualityfunctiontablemodels.h:84
@ ColExponent
Definition qualityfunctiontablemodels.h:84
@ ColPollutant
Definition qualityfunctiontablemodels.h:84
@ ColCount
Definition qualityfunctiontablemodels.h:85
@ ColSweepEffic
Definition qualityfunctiontablemodels.h:85
@ ColBmpEffic
Definition qualityfunctiontablemodels.h:85
int columnCount(const QModelIndex &parent={}) const override
Definition qualityfunctiontablemodels.cpp:189
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition qualityfunctiontablemodels.cpp:194
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition qualityfunctiontablemodels.cpp:267
bool setData(const QModelIndex &index, const QVariant &value, int role) override
Definition qualityfunctiontablemodels.cpp:234
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition openswmmvislayer.h:43
QVector< int > parent
union-find
Definition pslgminsize.cpp:176