-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathJobDetailsModel.h
46 lines (35 loc) · 1.13 KB
/
JobDetailsModel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef JOBDETAILSMODEL_H
#define JOBDETAILSMODEL_H
#include <QAbstractItemModel>
#include <QJsonObject>
#include <QJsonArray>
class JobDetailsModel : public QAbstractItemModel
{
Q_OBJECT
enum JobDetailRoles{
Name = Qt::UserRole,
Value
};
public:
explicit JobDetailsModel(QObject *parent = nullptr);
signals:
// QAbstractItemModel interface
public:
QModelIndex index(int row, int column, const QModelIndex &parent) const override;
QModelIndex parent(const QModelIndex &child) const override;
int rowCount(const QModelIndex &parent) const override;
int columnCount(const QModelIndex &parent) const override;
QVariant data(const QModelIndex &index, int role) const override;
QHash<int, QByteArray> roleNames() const override;
private:
QJsonObject m_jobDetails;
QJsonArray m_outputs;
QVariant getName(QModelIndex index) const;
QVariant getValue(QModelIndex index) const;
QVariant getOutputType(QString filename) const;
public:
void setJob(QJsonObject jobDetails);
void setOutputs(QJsonArray jobDetails);
QJsonArray getOutputs();
};
#endif // CSVLAYER_H