Files
qt5-legatus-legacy/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_model.cpp
T
2026-08-13 18:33:10 +02:00

65 lines
1.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* HMI Plugin for ParticipantManagement - Party Overview Model
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-11-11
*/
#include "ppm_party_model.h"
namespace ParticipantManagement
{
//---------------------------------
// PartyModel
//---------------------------------
PartyModel::PartyModel(QObject *parent)
: LtsWidgets::LtsAbstractTableModel<PartyData>({tr("Id"),
tr("Name")}, parent)
, m_dtc(nullptr)
, m_logger(getLogger("PartyModel"))
{}
bool PartyModel::initModel(const std::shared_ptr<ParticipantManagement::Interface::Dtc> &dtc)
{
if (!dtc)
return false;
m_dtc = dtc;
// Insert Operator
PartyData partyData;
partyData.id = -1;
partyData.name = tr("Operator");
insertRow(partyData);
// Insert Parties
auto cb = [this](const ParticipantManagement::Party &p)
{
insertRow(PartyData(p));
};
m_dtc->partys(cb);
return true;
}
QVariant PartyModel::data(const QModelIndex &index, int role) const
{
if (role != Qt::DisplayRole || !indexIsValid(index))
return QVariant();
const PartyData &party = m_vecData.at(index.row());
switch (index.column())
{
case Id:
return party.id;
case Name:
return party.name;
}
return QVariant();
}
} // namespace ParticipantManagement