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
streetlistmodel.h
Go to the documentation of this file.
1
13#ifndef OPENSWMMVIS_UI_MODELS_STREETLISTMODEL_H
14#define OPENSWMMVIS_UI_MODELS_STREETLISTMODEL_H
15
16#include <QAbstractListModel>
17#include <QPointer>
18
19namespace openswmmvis::street {
20class StreetProvider;
21class StreetRegistry;
22}
23
24namespace openswmmvis::ui {
25
26class StreetListModel : public QAbstractListModel
27{
28 Q_OBJECT
29public:
30 explicit StreetListModel(QObject *parent = nullptr);
31 ~StreetListModel() override;
32
35
36 openswmmvis::street::StreetProvider *providerAt(int row) const;
37
38 int rowCount(const QModelIndex &parent = {}) const override;
39 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
40 QVariant headerData(int section, Qt::Orientation orientation,
41 int role = Qt::DisplayRole) const override;
42 Qt::ItemFlags flags(const QModelIndex &index) const override;
43 bool setData(const QModelIndex &index, const QVariant &value,
44 int role = Qt::EditRole) override;
45
46private slots:
47 void onProviderAdded_(openswmmvis::street::StreetProvider *p);
48 void onProviderAboutToBeRemoved_(openswmmvis::street::StreetProvider *p);
49 void onProviderRenamed_(openswmmvis::street::StreetProvider *p,
50 const QString &prev, const QString &now);
51 void onProviderParamsChanged_(openswmmvis::street::StreetProvider *p);
52
53private:
54 int indexOf_(openswmmvis::street::StreetProvider *p) const;
55
56 QPointer<openswmmvis::street::StreetRegistry> m_registry;
57};
58
59} // namespace openswmmvis::ui
60
61#endif // OPENSWMMVIS_UI_MODELS_STREETLISTMODEL_H
Definition streetprovider.h:30
Definition streetregistry.h:25
Definition streetlistmodel.h:27
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition streetlistmodel.cpp:88
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition streetlistmodel.cpp:94
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition streetlistmodel.cpp:80
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition streetlistmodel.cpp:61
void setRegistry(openswmmvis::street::StreetRegistry *registry)
Definition streetlistmodel.cpp:24
openswmmvis::street::StreetProvider * providerAt(int row) const
Definition streetlistmodel.cpp:48
openswmmvis::street::StreetRegistry * registry() const noexcept
Definition streetlistmodel.cpp:43
int rowCount(const QModelIndex &parent={}) const override
Definition streetlistmodel.cpp:55
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
ArrowPlacement p
Definition linesymbollayer.cpp:27
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
Definition streetprovider.h:27
Definition openswmmvislayer.h:43
Definition aquiferprovider.h:21
QVector< int > parent
union-find
Definition pslgminsize.cpp:176