Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Services/ProjectDataManagement/pdm_to_string.cpp
T
torstenandCopilot 7a6be7474e Qt6 migration: Fix BUILD_RTI=OFF build errors in TrainingAreaBase
- training_area_telegrams.cpp: Fixed QJsonObject initializer syntax (Qt6 requires {{}} not ({}))
- training_area_telegrams.cpp: Fixed fromJson() methods to access m_* members directly
- training_area_telegrams.cpp: Fixed brace mismatches in multiple toJson() methods
- training_area_telegrams.h: Changed Header struct to public members for consistency
- tx_mixin.cpp: Fixed getEquipmentNumber() template for direct member access
- lts_coordinate.cpp: Added missing #include <iomanip>
- MIGRATION_STATUS.md: Added migration progress tracking document

C++17 constraint enforced due to RTI Connext DDS 7.7.0 incompatibility with C++20+

Build status: BUILD_RTI=OFF successful (0 errors, warnings only)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-23 20:49:23 +02:00

146 lines
5.8 KiB
C++
Executable File

/**
* @RDE_HEADER@
* Convert DSS enumerations to translatable strings
* $Id$
* $HeadURL$
* $Author$
*/
#include "pdm_to_string.h"
#include "pdm_translation.h"
#include <QtCore/QCoreApplication>
namespace ProjectDataManagement
{
// Forward declaration for helper function
static QString toString(VulnerabilityState vs);
//
// VulnerabilityState + VulnerabilityClass
//
static QString toStringBuilding(VulnerabilityState vs)
{
switch (static_cast<int>(vs))
{
#ifdef ETS_MODE
case 1: return QCoreApplication::translate("ProjectDataManagement", "Ready", "VulnerabilityStateBuilding");
case 3: return QCoreApplication::translate("ProjectDataManagement", "Damaged", "VulnerabilityStateBuilding");
#else
case 1: return QCoreApplication::translate("ProjectDataManagement", "Combat Ready", "VulnerabilityStateBuilding");
case 3: return QCoreApplication::translate("ProjectDataManagement", "CatastrophicKill", "VulnerabilityStateBuilding");
#endif
default: break;
}
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(static_cast<int>(vs));
}
static QString toStringVehicle(VulnerabilityState vs)
{
switch (static_cast<int>(vs))
{
#ifdef ETS_MODE
case 1: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
case 2: return QCoreApplication::translate("ProjectDataManagement", "Communication Damage", "VulnerabilityStateVehicle");
case 3: return QCoreApplication::translate("ProjectDataManagement", "Main Function Damage", "VulnerabilityStateVehicle");
case 4: return QCoreApplication::translate("ProjectDataManagement", "Mobility Lost", "VulnerabilityStateVehicle");
case 5: return QCoreApplication::translate("ProjectDataManagement", "Fully Damaged", "VulnerabilityStateVehicle");
default:
break;
#else
case 2: return QCoreApplication::translate("ProjectDataManagement", "Comms Damaged", "VulnerabilityStateVehicle");
case 3: return QCoreApplication::translate("ProjectDataManagement", "Veh Body Damaged", "VulnerabilityStateVehicle");
case 4: return QCoreApplication::translate("ProjectDataManagement", "Main Funct Damaged", "VulnerabilityStateVehicle");
case 5: return QCoreApplication::translate("ProjectDataManagement", "Mobility Kill", "VulnerabilityStateVehicle");
case 6: return QCoreApplication::translate("ProjectDataManagement", "Visible Mobility Kill", "VulnerabilityStateVehicle");
case 7: return QCoreApplication::translate("ProjectDataManagement", "Wpn / Turret Damaged", "VulnerabilityStateVehicle");
case 8: return QCoreApplication::translate("ProjectDataManagement", "Visible Wpn / Turret Damaged", "VulnerabilityStateVehicle");
case 9: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill", "VulnerabilityStateVehicle");
case 1:
case 0:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
break; // use common translation from toString()
#endif
}
// Fallback
return toString(vs);
}
static QString toStringSoldier(VulnerabilityState vs)
{
switch (static_cast<int>(vs))
{
#ifdef ETS_MODE
case 1: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
case 2: return QCoreApplication::translate("ProjectDataManagement", "lightly injured", "VulnerabilityStateVehicle");
case 3: return QCoreApplication::translate("ProjectDataManagement", "moderatly injured", "VulnerabilityStateVehicle");
case 4: return QCoreApplication::translate("ProjectDataManagement", "seriously injured", "VulnerabilityStateVehicle");
case 5: return QCoreApplication::translate("ProjectDataManagement", "dead", "VulnerabilityStateVehicle");
default:
break;
#else
case 2: return QCoreApplication::translate("ProjectDataManagement", "Wounded Walking", "VulnerabilityStateSoldier");
case 3: return QCoreApplication::translate("ProjectDataManagement", "Wounded Sitting", "VulnerabilityStateSoldier");
case 4: return QCoreApplication::translate("ProjectDataManagement", "Wounded Laying", "VulnerabilityStateSoldier");
case 5: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill / Killed", "VulnerabilityStateSoldier");
case 7: return QCoreApplication::translate("ProjectDataManagement", "Weapon Damage", "VulnerabilityStateSoldier");
case 8: return QCoreApplication::translate("ProjectDataManagement", "Visible Weapon Damage", "VulnerabilityStateSoldier");
case 1:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 6:
case 0:
case 17:
break; // use common translation from toString()
// those should not happen ...
#endif
}
return toString(vs);
}
QString toString(VulnerabilityState vs)
{
switch (static_cast<int>(vs))
{
case 0: return QCoreApplication::translate("ProjectDataManagement", "Unknown", "VulnerabilityState");
case 1: return QCoreApplication::translate("ProjectDataManagement", "Normal", "VulnerabilityState");
case 2: return QCoreApplication::translate("ProjectDataManagement", "Warning", "VulnerabilityState");
case 3: return QCoreApplication::translate("ProjectDataManagement", "Critical", "VulnerabilityState");
default: break;
}
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(static_cast<int>(vs));
}
QString toString(VulnerabilityState vs, VulnerabilityClass vc)
{
switch (static_cast<int>(vc))
{
case 0: // Unknown
case 1: // WtdDamages
case 2: // WtdInjuries
return toString(vs);
case 3: // BuildingDamages
return toStringBuilding(vs);
case 4: // VehicleDamages
return toStringVehicle(vs);
case 5: // SoldierInjuries
return toStringSoldier(vs);
}
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(static_cast<int>(vs));
}
} // namespace ProjectDataManagement