#pragma once #include #include #include #include "LogViewTelegram.hpp" namespace N_LogView { class TelegramEditModel final : public QAbstractTableModel { Q_OBJECT public: using QAbstractTableModel::QAbstractTableModel; 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; void clearTelegrams(); void appendTelegrams(const QVector > &telegrams); int appendTelegram(const QSharedPointer &telegram); QSharedPointer telegram(int row) const; bool moveUp(int row); bool moveDown(int row); void emitDataChanged(int row); void removeTelegrams(const QSet &rows); void pasteRows(int row, const QSharedPointer &tele); protected: QVector > m_telegrams; }; }