/** * @RDE_HEADER@ * * $Id$ * $HeadURL$ * $Author$ * Created by Philipp Last, NLSE, 2018-01-11 */ #pragma once #include #include #include "evl_comment_tuple.h" namespace Evaluations { class ForeignDataInterface; class CommunicationInterface; class EvlCommentDataViewModel : public LtsWidgets::LtsAbstractTableModel { Q_OBJECT enum columns { Id, Timestamp, Sender, IsPersonal, Comment, Hierarchy }; public: explicit EvlCommentDataViewModel(QObject *parent = nullptr); QVariant data(const QModelIndex &index, int role) const override; friend class EvlCommentDataViewProxyModel; }; class EvlCommentDataViewProxyModel final : public LtsWidgets::LtsColumnFilterProxyModel { Q_OBJECT public: using LtsWidgets::LtsColumnFilterProxyModel::LtsColumnFilterProxyModel; void setSourceModel(QAbstractItemModel *sourceModel) override; protected: bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override; private: EvlCommentDataViewModel *m_sourceModel{nullptr}; }; }