Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_model.cpp
T
torstenandCopilot d6b6ffce7c Apply clang-format to Lts/Common and DTC/enum headers
- Formatted all CodeGen module files (9 files)
- Formatted LtsAppDescriptor module files
- Formatted LtsAppManager/AppChooser files
- Applied clang-format to all DTC and enum headers across modules
- Removed coordTransTests from CommonUnitTestsPlaceholder (moved to tests/)

Cosmetic changes only, no functional modifications.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 14:46:29 +02:00

76 lines
2.4 KiB
C++

#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)
{
}
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();
}
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