#ifndef BASEJSONMODEL_H #define BASEJSONMODEL_H #include #include #include #include #include #include #include "LogWarehouse.h" class LogTableModel : public QAbstractTableModel { Q_OBJECT public: LogTableModel(LogWarehouse_ptr warehouse); ~LogTableModel() override; 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; QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; private: enum ELogColumn : int { id, level, timestamp, file, func, lineno, msg, scope, threadId, }; QMap _columnMap; LogWarehouse_ptr _warehouse; void initColumnMap(); }; #endif //BASEJSONMODEL_H