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
hotstartsavesmodel.h
Go to the documentation of this file.
1
16#ifndef HOTSTARTSAVESMODEL_H
17#define HOTSTARTSAVESMODEL_H
18
19#include <QAbstractTableModel>
20#include <QList>
21#include <QString>
22#include <QStyledItemDelegate>
23
29class HotstartSavesModel : public QAbstractTableModel
30{
31 Q_OBJECT
32public:
33 enum Column { ColPath = 0, ColDateTime = 1, ColCount };
34
35 explicit HotstartSavesModel(QObject *parent = nullptr);
36
37 // QAbstractTableModel -----------------------------------------------------
38 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
39 int columnCount(const QModelIndex &parent = QModelIndex()) const override;
40 QVariant data(const QModelIndex &index, int role) const override;
41 bool setData(const QModelIndex &index, const QVariant &value,
42 int role = Qt::EditRole) override;
43 QVariant headerData(int section, Qt::Orientation orientation,
44 int role = Qt::DisplayRole) const override;
45 Qt::ItemFlags flags(const QModelIndex &index) const override;
46 bool insertRows(int row, int count,
47 const QModelIndex &parent = QModelIndex()) override;
48 bool removeRows(int row, int count,
49 const QModelIndex &parent = QModelIndex()) override;
50
51 // Convenience -------------------------------------------------------------
52 void clearRows();
53 int appendRow(const QString &path, double oaDate);
54 bool swapRows(int a, int b);
55
56 QString pathAt(int row) const;
57 double oaDateAt(int row) const;
58
59private:
60 struct Row {
61 QString path;
62 double oaDate {0.0};
63 };
64 QList<Row> m_rows;
65};
66
72class HotstartSavesDateTimeDelegate : public QStyledItemDelegate
73{
74 Q_OBJECT
75public:
76 explicit HotstartSavesDateTimeDelegate(QObject *parent = nullptr);
77
78 QWidget *createEditor(QWidget *parent,
79 const QStyleOptionViewItem &opt,
80 const QModelIndex &idx) const override;
81 void setEditorData(QWidget *editor,
82 const QModelIndex &idx) const override;
83 void setModelData(QWidget *editor, QAbstractItemModel *model,
84 const QModelIndex &idx) const override;
85};
86
87#endif // HOTSTARTSAVESMODEL_H
Delegate for the Datetime column. Editor is a QDateTimeEdit whose minimum date-time renders as the sp...
Definition hotstartsavesmodel.h:73
void setEditorData(QWidget *editor, const QModelIndex &idx) const override
Definition hotstartsavesmodel.cpp:188
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &idx) const override
Definition hotstartsavesmodel.cpp:199
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &opt, const QModelIndex &idx) const override
Definition hotstartsavesmodel.cpp:165
Row schema: {path relative to the .inp dir, OLE-Automation datetime sentinel}. An oaDate of 0....
Definition hotstartsavesmodel.h:30
bool insertRows(int row, int count, const QModelIndex &parent=QModelIndex()) override
Definition hotstartsavesmodel.cpp:95
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
Definition hotstartsavesmodel.cpp:48
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Definition hotstartsavesmodel.cpp:28
bool swapRows(int a, int b)
Definition hotstartsavesmodel.cpp:134
void clearRows()
Definition hotstartsavesmodel.cpp:117
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition hotstartsavesmodel.cpp:89
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Definition hotstartsavesmodel.cpp:75
QString pathAt(int row) const
Definition hotstartsavesmodel.cpp:146
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition hotstartsavesmodel.cpp:23
int appendRow(const QString &path, double oaDate)
Definition hotstartsavesmodel.cpp:125
double oaDateAt(int row) const
Definition hotstartsavesmodel.cpp:151
bool removeRows(int row, int count, const QModelIndex &parent=QModelIndex()) override
Definition hotstartsavesmodel.cpp:106
QVariant data(const QModelIndex &index, int role) const override
Definition hotstartsavesmodel.cpp:33
Column
Definition hotstartsavesmodel.h:33
@ ColDateTime
Definition hotstartsavesmodel.h:33
@ ColCount
Definition hotstartsavesmodel.h:33
@ ColPath
Definition hotstartsavesmodel.h:33
SWMM_FilePathRole role
Definition ioportabilitynormalizer.cpp:22
int index
Position in m_quadRegions / m_quadReports.
Definition meshgenerator.cpp:153
int b
local residual indices, a < b
Definition meshquadmatch.cpp:46
int a
Definition meshquadmatch.cpp:46
int count
Definition numberformat.cpp:101
int path
Definition pslgminsize.cpp:234
QVector< int > parent
union-find
Definition pslgminsize.cpp:176