#ifndef TIMEMODEL_H #define TIMEMODEL_H #include #include #include class TimeModel : public QAbstractTableModel { Q_OBJECT public: explicit TimeModel(QVector> timeData, QVector minimumTimes, QObject * parent = nullptr); explicit TimeModel(QVector> timeData, QVector minimumTimes, QVector topTime, QObject * parent = nullptr); // Header: QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; // Basic functionality: int rowCount(const QModelIndex & parent = QModelIndex()) const override; int columnCount(const QModelIndex & parent = QModelIndex()) const override; QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const override; // Add data: bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) override; bool insertColumns(int column, int count, const QModelIndex & parent = QModelIndex()) override; private: int getMin(const QVector x) const; QColor getColor(const QVector> data, const int col, const int row) const; // row and col starts counting at 0 QVector> timeData; QVector topTime; // 4 entries: min sec1, min sec2, min sec3, min for whole time QVector minimumTimes; }; #endif // TIMEMODEL_H