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

105 lines
7.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* ParticipantManagement - PpmComboBox
* $Id$
* $HeadURL$
* $Author$
* Created by Patric Karwat, SLSE, 2016-09-12
*/
#include "ppm_combobox.h"
#include <QComboBox>
#include <ParticipantManagement/ppm_translation.h>
namespace ParticipantManagement
{
bool PpmComboBox::fill(QComboBox *cbx, ComboBoxType type,
const std::shared_ptr<Interface::Dtc> &dtc)
{
const QVariant curData = cbx->currentData();
QSignalBlocker block(cbx);
cbx->clear();
switch (type)
{
case ComboBoxType::EquipmentType:
{
cbx->addItem(QObject::tr("NONE"), 0);
const QMap<qint32, EquipmentType> eqTypes = dtc->equipmentTypes();
for (const EquipmentType &eqType : eqTypes)
{
if (eqType.id() <= 0)
continue;
if (eqType.deletedInWms())
cbx->addItem(QString::fromStdString(eqType.name()) + QObject::tr("(deleted)"), eqType.id());
else
cbx->addItem(QString::fromStdString(eqType.name()), eqType.id());
}
break;
}
case ComboBoxType::Role:
{
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Unknown), ParticipantManagement::Role::Unknown);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Friend), ParticipantManagement::Role::Friend);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Neutral), ParticipantManagement::Role::Neutral);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Enemy), ParticipantManagement::Role::Enemy);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Pending), ParticipantManagement::Role::Pending);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::AssumedFriend), ParticipantManagement::Role::AssumedFriend);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Suspect), ParticipantManagement::Role::Suspect);
break;
}
case ComboBoxType::HlaForceIdentifier:
{
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Other), ParticipantManagement::HlaForceIdentifierEnum::Other);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_1), ParticipantManagement::HlaForceIdentifierEnum::Friendly_1);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_1), ParticipantManagement::HlaForceIdentifierEnum::Opposing_1);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_1), ParticipantManagement::HlaForceIdentifierEnum::Neutral_1);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_2), ParticipantManagement::HlaForceIdentifierEnum::Friendly_2);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_2), ParticipantManagement::HlaForceIdentifierEnum::Opposing_2);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_2), ParticipantManagement::HlaForceIdentifierEnum::Neutral_2);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_3), ParticipantManagement::HlaForceIdentifierEnum::Friendly_3);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_3), ParticipantManagement::HlaForceIdentifierEnum::Opposing_3);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_3), ParticipantManagement::HlaForceIdentifierEnum::Neutral_3);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_4), ParticipantManagement::HlaForceIdentifierEnum::Friendly_4);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_4), ParticipantManagement::HlaForceIdentifierEnum::Opposing_4);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_4), ParticipantManagement::HlaForceIdentifierEnum::Neutral_4);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_5), ParticipantManagement::HlaForceIdentifierEnum::Friendly_5);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_5), ParticipantManagement::HlaForceIdentifierEnum::Opposing_5);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_5), ParticipantManagement::HlaForceIdentifierEnum::Neutral_5);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_6), ParticipantManagement::HlaForceIdentifierEnum::Friendly_6);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_6), ParticipantManagement::HlaForceIdentifierEnum::Opposing_6);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_6), ParticipantManagement::HlaForceIdentifierEnum::Neutral_6);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_7), ParticipantManagement::HlaForceIdentifierEnum::Friendly_7);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_7), ParticipantManagement::HlaForceIdentifierEnum::Opposing_7);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_7), ParticipantManagement::HlaForceIdentifierEnum::Neutral_7);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_8), ParticipantManagement::HlaForceIdentifierEnum::Friendly_8);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_8), ParticipantManagement::HlaForceIdentifierEnum::Opposing_8);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_8), ParticipantManagement::HlaForceIdentifierEnum::Neutral_8);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_9), ParticipantManagement::HlaForceIdentifierEnum::Friendly_9);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_9), ParticipantManagement::HlaForceIdentifierEnum::Opposing_9);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_9), ParticipantManagement::HlaForceIdentifierEnum::Neutral_9);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_10), ParticipantManagement::HlaForceIdentifierEnum::Friendly_10);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_10), ParticipantManagement::HlaForceIdentifierEnum::Opposing_10);
cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_10), ParticipantManagement::HlaForceIdentifierEnum::Neutral_10);
break;
}
}
if (curData.isValid() && (cbx->findData(curData) != -1))
{
cbx->setCurrentIndex(cbx->findData(curData));
}
else if(cbx->count())
cbx->setCurrentIndex(0);
return cbx->count() > 0;
}
} // namespace ParticipantManagement