Files
qt-migration-legatus/qt5-before/dlbo/Lts/Services/ProjectDataManagement/pdm_to_string.cpp
T
torstenandCopilot 7173785915 Qt6 Migration: Complete migration with DDS/RTI support and build validation
Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-09-15 18:20:26 +00:00

133 lines
7.1 KiB
C++

/**
* @RDE_HEADER@
* Convert DSS enumerations to translatable strings
* $Id$
* $HeadURL$
* $Author$
*/
#include "pdm_to_string.h"
#include "pdm_translation.h"
#include <QCoreApplication>
namespace ProjectDataManagement
{
//
// VulnerabilityState + VulnerabilityClass
//
static QString toStringBuilding(VulnerabilityState vs)
{
switch (vs.underlying())
{
#ifdef ETS_MODE
case VulnerabilityState_def::CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready", "VulnerabilityStateBuilding");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Damaged", "VulnerabilityStateBuilding");
#else
case VulnerabilityState_def::CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Combat Ready", "VulnerabilityStateBuilding");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "CatastrophicKill", "VulnerabilityStateBuilding");
#endif
default: break;
}
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(vs.underlying());
}
static QString toStringVehicle(VulnerabilityState vs)
{
switch (vs.underlying())
{
#ifdef ETS_MODE
case VulnerabilityState_def::CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
case VulnerabilityState_def::LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Communication Damage", "VulnerabilityStateVehicle");
case VulnerabilityState_def::HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Main Function Damage", "VulnerabilityStateVehicle");
case VulnerabilityState_def::MobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Mobility Lost", "VulnerabilityStateVehicle");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Fully Damaged", "VulnerabilityStateVehicle");
default:
break;
#else
case VulnerabilityState_def::LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Comms Damaged", "VulnerabilityStateVehicle");
case VulnerabilityState_def::MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "Veh Body Damaged", "VulnerabilityStateVehicle");
case VulnerabilityState_def::HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Main Funct Damaged", "VulnerabilityStateVehicle");
case VulnerabilityState_def::MobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Mobility Kill", "VulnerabilityStateVehicle");
case VulnerabilityState_def::VisibleMobilityKill: return QCoreApplication::translate("ProjectDataManagement", "Visible Mobility Kill", "VulnerabilityStateVehicle");
case VulnerabilityState_def::WeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Wpn / Turret Damaged", "VulnerabilityStateVehicle");
case VulnerabilityState_def::VisibleWeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Visible Wpn / Turret Damaged", "VulnerabilityStateVehicle");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill", "VulnerabilityStateVehicle");
case VulnerabilityState_def::CombatReady:
case VulnerabilityState_def::NoChange:
case VulnerabilityState_def::TemporarySeverance:
case VulnerabilityState_def::NearMiss:
case VulnerabilityState_def::HitWithNoEffect:
case VulnerabilityState_def::VulnerabilityBitsChanged:
case VulnerabilityState_def::NContamination:
case VulnerabilityState_def::BContamination:
case VulnerabilityState_def::CContamination:
case VulnerabilityState_def::NotReady: // Internal
case VulnerabilityState_def::Reserved: // Internal
break; // use common translation from toString()
#endif
}
// Fallback
return toString(vs);
}
static QString toStringSoldier(VulnerabilityState vs)
{
switch (vs.underlying())
{
#ifdef ETS_MODE
case VulnerabilityState_def::CombatReady: return QCoreApplication::translate("ProjectDataManagement", "Ready / OK", "VulnerabilityStateVehicle");
case VulnerabilityState_def::LightDamage: return QCoreApplication::translate("ProjectDataManagement", "lightly injured", "VulnerabilityStateVehicle");
case VulnerabilityState_def::MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "moderatly injured", "VulnerabilityStateVehicle");
case VulnerabilityState_def::HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "seriously injured", "VulnerabilityStateVehicle");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "dead", "VulnerabilityStateVehicle");
default:
break;
#else
case VulnerabilityState_def::LightDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Walking", "VulnerabilityStateSoldier");
case VulnerabilityState_def::MediumDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Sitting", "VulnerabilityStateSoldier");
case VulnerabilityState_def::HeavyDamage: return QCoreApplication::translate("ProjectDataManagement", "Wounded Laying", "VulnerabilityStateSoldier");
case VulnerabilityState_def::CatastrophicKill: return QCoreApplication::translate("ProjectDataManagement", "Catastrophic Kill / Killed", "VulnerabilityStateSoldier");
case VulnerabilityState_def::WeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Weapon Damage", "VulnerabilityStateSoldier");
case VulnerabilityState_def::VisibleWeaponSystemDamage: return QCoreApplication::translate("ProjectDataManagement", "Visible Weapon Damage", "VulnerabilityStateSoldier");
case VulnerabilityState_def::CombatReady:
case VulnerabilityState_def::TemporarySeverance:
case VulnerabilityState_def::NearMiss:
case VulnerabilityState_def::HitWithNoEffect:
case VulnerabilityState_def::VulnerabilityBitsChanged:
case VulnerabilityState_def::NContamination:
case VulnerabilityState_def::BContamination:
case VulnerabilityState_def::CContamination:
case VulnerabilityState_def::NoChange:
break; // use common translation from toString()
// those should not happen ...
case VulnerabilityState_def::MobilityKill:
case VulnerabilityState_def::VisibleMobilityKill:
case VulnerabilityState_def::NotReady: // Internal
case VulnerabilityState_def::Reserved: // Internal
break;
#endif
}
return toString(vs);
}
QString toString(VulnerabilityState vs, VulnerabilityClass vc)
{
switch (vc.underlying())
{
case VulnerabilityClass_def::Unknown:
case VulnerabilityClass_def::WtdDamages:
case VulnerabilityClass_def::WtdInjuries:
return toString(vs);
case VulnerabilityClass_def::BuildingDamages:
return toStringBuilding(vs);
case VulnerabilityClass_def::VehicleDamages:
return toStringVehicle(vs);
case VulnerabilityClass_def::SoldierInjuries:
return toStringSoldier(vs);
}
return QCoreApplication::translate("ProjectDataManagement", "Unknown (%1)", "VulnerabilityState").arg(vs.underlying());
}
} // namespace ProjectDataManagement