#include "ppm_combobox.h" #include #include namespace ParticipantManagement { bool PpmComboBox::fill(QComboBox *cbx, ComboBoxType type, const std::shared_ptr &dtc) { const QVariant curData = cbx->currentData(); QSignalBlocker block(cbx); cbx->clear(); switch (type) { case ComboBoxType::EquipmentType: { cbx->addItem(QObject::tr("NONE"), 0); const QMap 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), static_cast(ParticipantManagement::Role::Unknown)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Friend), static_cast(ParticipantManagement::Role::Friend)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Neutral), static_cast(ParticipantManagement::Role::Neutral)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Enemy), static_cast(ParticipantManagement::Role::Enemy)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Pending), static_cast(ParticipantManagement::Role::Pending)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::AssumedFriend), static_cast(ParticipantManagement::Role::AssumedFriend)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::Role::Suspect), static_cast(ParticipantManagement::Role::Suspect)); break; } case ComboBoxType::HlaForceIdentifier: { cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Other), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Other)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_1), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_1)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_1), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_1)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_1), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_1)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_2), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_2)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_2), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_2)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_2), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_2)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_3), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_3)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_3), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_3)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_3), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_3)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_4), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_4)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_4), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_4)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_4), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_4)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_5), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_5)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_5), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_5)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_5), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_5)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_6), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_6)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_6), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_6)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_6), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_6)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_7), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_7)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_7), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_7)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_7), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_7)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_8), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_8)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_8), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_8)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_8), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_8)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_9), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_9)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_9), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_9)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_9), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Neutral_9)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Friendly_10), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Friendly_10)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Opposing_10), static_cast(ParticipantManagement::HlaForceIdentifierEnum::Opposing_10)); cbx->addItem(ParticipantManagement::toString(ParticipantManagement::HlaForceIdentifierEnum::Neutral_10), static_cast(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; } }