Files
qt5-legatus-legacy/Lts/Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_model.cpp
T
2026-08-13 18:33:10 +02:00

75 lines
1.7 KiB
C++
Executable File

/**
* @RDE_HEADER@
* HMI Plugin for AlarmManagement - AlarmManagement Model
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-10.05
*/
#include "gna_nasat_aircraft_model.h"
#include <GuezNasat/gna_translation.h>
#include <LtsSession/lts_session_data.h>
namespace GuezNasat
{
//---------------------------------
// NasatAircraftModel
//---------------------------------
NasatAircraftModel::NasatAircraftModel(QObject *parent)
: LtsWidgets::LtsAbstractTableModel<GuezNasat::NasatAircraft>(
{
tr("Id"),
tr("NASAT Identifier"),
tr("Name"),
tr("Simulation Activated")
},
parent)
, m_dtc(nullptr)
, m_logger(getLogger("NasatAircraftModel"))
{}
bool NasatAircraftModel::initModel(const std::shared_ptr<GuezNasat::Interface::Dtc> &dtc)
{
m_dtc = dtc;
// insert Model
connect(m_dtc.get(), &Interface::Dtc::nasatAircraftChanged,
this, &NasatAircraftModel::onDataChanged);
auto cb = [this](const NasatAircraft &data)
{
onDataChanged(data, DataModification::eAdded);
};
m_dtc->nasatAircrafts(cb);
return true;
}
QVariant NasatAircraftModel::data(const QModelIndex &index, int role) const
{
INFO_LOG(m_logger) << "NasatAircraftModel::data";
if (role != Qt::DisplayRole || !indexIsValid(index))
return QVariant();
const GuezNasat::NasatAircraft &nasatAircraft = m_vecData.at(index.row());
switch (index.column())
{
case Id:
return nasatAircraft.id();
case NasatId:
return nasatAircraft.nasatId();
case SimulationActive:
return nasatAircraft.simulationActive() ? tr("Yes") : tr("No");
case Name:
return QString::fromStdString(nasatAircraft.name());
}
return QVariant();
}
} // namespace GuezNasat