Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+93
@@ -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
|
||||
Reference in new issue
Block a user