Initial commit

This commit is contained in:
torsten committed 2026-08-13 18:33:10 +02:00
commit b7d90b9afe
16245 files changed
+3396666

No files matched your search

+93
View File
@@ -0,0 +1,93 @@
/**
* @RDE_HEADER@
* PresentationManangement - Script Overview Dialog Model
* $Id$
* $HeadURL$
* $Author$
*
* Created by Mike Wille, SLSE, 2017-03-15
*/
#include "evl_model.h"
#include <Evaluations/evl_translation.h>
namespace Evaluations
{
CriteriumDialogModel::CriteriumDialogModel(QObject *parent)
: LtsWidgets::LtsAbstractTableModel<EvaluationCriterium>(
{
tr("Id"),
tr("Name"),
tr("Description"),
tr("Operator")
},
parent)
, m_logger(getLogger("CriteriumDialogModel"))
{}
bool CriteriumDialogModel::initModel(const std::shared_ptr<Interface::Dtc> &dtc,
const std::shared_ptr<OperatorManagement::Interface::Dtc> &opmDtc
)
{
m_opmDtc = opmDtc;
connect(dtc.get(), &Interface::Dtc::evaluationCriteriumChanged,
this, &CriteriumDialogModel::onDataChanged);
dtc->evaluationCriteriums([this](const EvaluationCriterium & e) { insertRow(e); });
INFO_LOG(m_logger) << "initModel - #EvalCriteria: " << m_vecData.size();
return true;
}
QVariant CriteriumDialogModel::data(const QModelIndex &index, int role) const
{
if (role != Qt::DisplayRole || !indexIsValid(index))
return QVariant();
const Evaluations::EvaluationCriterium &eval = m_vecData.at(index.row());
switch (index.column())
{
case Id:
return eval.id();
case Name:
return QString::fromStdString(eval.name());
case Description:
return QString::fromStdString(eval.description());
case Operator:
return QString::fromStdString(m_opmDtc->user(eval.operatorId()).name());
}
return QVariant();
}
// CriteriumFilterModel
void CriteriumFilterModel::setOperatorId(int operatorId)
{
if (m_operatorId == operatorId)
return;
m_operatorId = operatorId;
invalidateFilter();
}
void CriteriumFilterModel::setSourceModel(QAbstractItemModel *sourceModel)
{
m_sourceModel = qobject_cast<CriteriumDialogModel*>(sourceModel);
LtsWidgets::LtsColumnFilterProxyModel::setSourceModel(sourceModel);
}
bool CriteriumFilterModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
if (m_operatorId < 0 || !m_sourceModel || source_parent.isValid() || source_row < 0 || source_row >= m_sourceModel->m_vecData.size())
return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent);
const auto &data = m_sourceModel->m_vecData.at(source_row);
if (data.operatorId() != m_operatorId)
return false;
return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent);
}
} // namespace Evaluations