65 lines
1.3 KiB
C++
Executable File
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
|