/** * @RDE_HEADER@ * PresentationManangement - Script Overview Dialog Model * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-03-15 */ #pragma once #include #include #include #include #include namespace Evaluations { class CriteriumDialogModel final : public LtsWidgets::LtsAbstractTableModel { Q_OBJECT public: enum Columns { Id = 0, Name, Description, Operator }; explicit CriteriumDialogModel(QObject *parent = nullptr); ~CriteriumDialogModel() = default; bool initModel(const std::shared_ptr &dtc, const std::shared_ptr &opmDtc); QVariant data(const QModelIndex &, int) const override final; protected: private: std::shared_ptr m_opmDtc; LOGGER_T m_logger; friend class CriteriumFilterModel; }; class CriteriumFilterModel final : public LtsWidgets::LtsColumnFilterProxyModel { Q_OBJECT public: using LtsWidgets::LtsColumnFilterProxyModel::LtsColumnFilterProxyModel; void setOperatorId(int operatorId); void setSourceModel(QAbstractItemModel *sourceModel) override; protected: bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; private: CriteriumDialogModel *m_sourceModel{nullptr}; int m_operatorId{-1}; }; }