Files
qt5-legatus-legacy/Lts/Plugins/Evaluations/Gui/SchemaEdit/evl_comment_model.h
T
2026-08-13 18:33:10 +02:00

54 lines
1.1 KiB
C++
Executable File

/**
* @RDE_HEADER@
*
* $Id$
* $HeadURL$
* $Author$
* Created by Philipp Last, NLSE, 2018-01-11
*/
#pragma once
#include <LtsWidgets/lts_abstract_table_model.h>
#include <LtsWidgets/lts_column_filter_proxy_model.h>
#include "evl_comment_tuple.h"
namespace Evaluations
{
class ForeignDataInterface;
class CommunicationInterface;
class EvlCommentDataViewModel : public LtsWidgets::LtsAbstractTableModel<CommentTuple>
{
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};
};
}