Complete Qt6 migration: full clean build green across groups G1-G12 incl. runtime plugin set

new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
This commit is contained in:
berrux-dev committed 2026-10-20 09:36:57 +02:00
1 parent 2b957d1edb
commit 598fc2560e
1718 files changed
+126739 -18495

No files matched your search

@@ -5,6 +5,15 @@
# Created by Mike Wille, SLSE, 2016-05-05
#
# Build this target as separate translation units (NOT a unity build). It links the
# ddsftc INTERFACE target, which propagates generic_ftc.cpp /
# generic_ftc_threading.cpp as INTERFACE sources (legacy design: consumers compile
# the generic FTC implementation themselves, one TU per file, hidden visibility).
# A unity build concatenates those .cpp's into this target's single TU, and LTO
# (USE_IPO) then reports "multiple definition of Threading::..." from the same
# object. Separate TUs restore the legacy per-file structure (behavior-neutral).
set(CMAKE_UNITY_BUILD FALSE)
# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
set(Qt6_Widgets ${Qt6_Widgets})
@@ -41,7 +41,7 @@ ChargeEditDialog::ChargeEditDialog(const int chargeId,
}});
setOnlineHelpFilename(QStringLiteral("Administrator-ChargeEdit"));
m_chargeType.id(chargeId);
m_chargeType.id = chargeId;
}
ChargeEditDialog::~ChargeEditDialog()
@@ -60,7 +60,7 @@ bool ChargeEditDialog::init()
!m_ftc->enableUpdateChargeNames())
return false;
m_chargeType = dtc->chargeType(m_chargeType.id());
m_chargeType = dtc->chargeType(m_chargeType.id);
loadUiValues();
return true;
@@ -69,9 +69,9 @@ bool ChargeEditDialog::init()
void ChargeEditDialog::loadUiValues()
{
m_ui->leLongName->setText(QString::fromStdString(m_chargeType.name()));
m_ui->leShortName->setText(QString::fromStdString(m_chargeType.shortName()));
m_ui->lbPredefinedName->setText(QString::fromStdString(m_chargeType.predefinedName()));
m_ui->leLongName->setText(QString::fromStdString(m_chargeType.name));
m_ui->leShortName->setText(QString::fromStdString(m_chargeType.shortName));
m_ui->lbPredefinedName->setText(QString::fromStdString(m_chargeType.predefinedName));
retranslate();
}
@@ -93,7 +93,7 @@ void ChargeEditDialog::retranslate()
bool ChargeEditDialog::apply()
{
ProjectDataManagement::UpdateChargeNamesRequest req(m_chargeType.id(),m_ui->leLongName->text().toStdString(),m_ui->leShortName->text().toStdString());
ProjectDataManagement::UpdateChargeNamesRequest req(m_chargeType.id,m_ui->leLongName->text().toStdString(),m_ui->leShortName->text().toStdString());
return m_requestHelper->startSingleRequest([req, this]()
{
return m_ftc->updateChargeNamesRequest(req, this);
@@ -4,6 +4,13 @@
#pragma once
#include <memory>
#include <LtsWidgets/lts_dialog.h>
#include <ProjectDataManagement/pdm_ftc.h>
#include <ProjectDataManagement/logger.h>
namespace Ui {
class ChargeEditDialog;
}
namespace Core {
class FunctionReplyObject;
@@ -25,17 +32,6 @@ namespace ProjectDataManagement
struct ChargeType;
#endif
namespace Interface {
namespace Ftc {
class UpdateChargeNamesReplyHandler;
}
}
// Forward declaration - LtsWidgets::LtsDialog wird in CPP definiert
namespace LtsWidgets {
class LtsDialog;
}
#ifdef BUILD_WITH_EXTERNAL_DDS
class ChargeEditDialog : public LtsWidgets::LtsDialog
@@ -15,9 +15,11 @@
#include <QtWidgets/QTreeView>
#include <LtsSession/lts_session.h>
#include <LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h>
#include <NGLLogger/NGLLoggerBootstrap.h>
#include <PluginInterfaces/gui_plugin_interface.h>
#include <FileManagement/flm_translation.h>
#include <FileManagement/flm_explorer_gui_plugin_interface.h>
#include <QtCore/QJsonArray>
#include <QtCore/QJsonObject>
@@ -34,6 +36,7 @@ ChargeTableDialog::ChargeTableDialog(QWidget *parent, bool organiser)
, m_requestHelper(new LtsUtils::RequestHelper(this))
, m_model(nullptr)
, m_isOrganiser(organiser)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{
m_ui->setupUi(this);
@@ -215,11 +218,11 @@ void ChargeTableDialog::onEditCharge()
const QModelIndex idx = m_ui->widget->currentIndex();
const ProjectDataManagement::ChargeType ct = m_model->getRowData(idx.row());
if (ct.id() <= 0)
if (ct.id <= 0)
return;
ChargeEditDialog *dialog = new ChargeEditDialog(ct.id(), m_session, this);
const QString identifier = QLatin1String("EditCharge") + QString::number(ct.id());
ChargeEditDialog *dialog = new ChargeEditDialog(ct.id, m_session, this);
const QString identifier = QLatin1String("EditCharge") + QString::number(ct.id);
addDialog(dialog, menuGroup(), identifier, LtsWidgets::LayoutArea::eDialogTab);
@@ -6,6 +6,14 @@
#include <memory>
#include <vector>
#include <QtCore/QSet>
#include <LtsWidgets/lts_dialog.h>
#include "charge_table_model.h"
#include <ProjectDataManagement/pdm_ftc.h>
#include <ProjectDataManagement/logger.h>
namespace Ui {
class ChargeTableDialog;
}
namespace Core {
class FunctionReplyObject;
@@ -26,28 +34,6 @@ class ForeignGuiInterface;
namespace ProjectDataManagement
{
#ifdef BUILD_WITH_EXTERNAL_DDS
// Forward declarations for external dependencies
struct GearClass;
struct ChargeType;
#else
// Forward declarations for external dependencies
struct GearClass;
struct ChargeType;
#endif
namespace Interface {
namespace Ftc {
class UpdateChargeTypeReplyHandler;
class UpdateChargeNamesReplyHandler;
}
}
// Forward declaration - LtsWidgets::LtsDialog wird in CPP definiert
namespace LtsWidgets {
class LtsDialog;
}
#ifdef BUILD_WITH_EXTERNAL_DDS
class ChargeTableDialog : public LtsWidgets::LtsDialog
@@ -3,6 +3,7 @@
#include "charge_table_model.h"
#include <NGLLogger/NGLLoggerBootstrap.h>
#ifdef BUILD_WITH_EXTERNAL_DDS
@@ -53,6 +54,7 @@ ChargeTableDialogModel::ChargeTableDialogModel(bool isOrganiser, QObject *parent
parent)
, m_dtc(nullptr)
, m_isOrganiser(isOrganiser)
, m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger())
{}
ChargeTableDialogModel::~ChargeTableDialogModel()
@@ -66,11 +68,11 @@ bool ChargeTableDialogModel::initModel(const std::shared_ptr<ProjectDataManageme
this, &ChargeTableDialogModel::onDataChanged);
m_dtc->chargeTypes([this](const ProjectDataManagement::ChargeType &ct)
{
if (!m_isOrganiser && !m_dtc->isVisible(ct.id()))
if (!m_isOrganiser && !m_dtc->isVisible(ct.id))
return;
insertRow(ct);
if (m_isOrganiser && m_dtc->isVisible(ct.id()))
m_visibleCharges.insert(ct.id());
if (m_isOrganiser && m_dtc->isVisible(ct.id))
m_visibleCharges.insert(ct.id);
});
return true;
@@ -96,19 +98,19 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
if (m_isOrganiser)
{
if (index.column() == IsVisible)
return (m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked);
return (m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked);
return QVariant();
}
qint32 tasCode = ct.id();
qint32 tasCode = ct.id;
if (tasCode < 2000)
{
if (index.column() == IsVisible)
return m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked;
return m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked;
if (tasCode >= 1 && tasCode <= 46 && tasCode != 25 && tasCode != 30)
@@ -133,7 +135,7 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
return m_visibleCharges.contains(ct.id()) ? Qt::Checked : Qt::Unchecked;
return m_visibleCharges.contains(ct.id) ? Qt::Checked : Qt::Unchecked;
}
@@ -192,19 +194,19 @@ QVariant ChargeTableDialogModel::data(const QModelIndex &index, int role) const
{
case IsVisible:
if (m_isOrganiser)
return m_dtc->isVisible(ct.id()) ? tr("Yes") : tr("No");
return m_dtc->isVisible(ct.id) ? tr("Yes") : tr("No");
else
return ct.id();
return ct.id;
case Id:
return QString::number(ct.id());
return QString::number(ct.id);
case PredefinedName:
return QString::fromStdString(ct.predefinedName());
return QString::fromStdString(ct.predefinedName);
case ShortName:
return QString::fromStdString(ct.shortName());
return QString::fromStdString(ct.shortName);
case LongName:
return QString::fromStdString(ct.name());
return QString::fromStdString(ct.name);
case DisEntity:
return QString::fromStdString(ct.disEntity());
return QString::fromStdString(ct.disEntity);
}
}
return QVariant();
@@ -228,7 +230,7 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
ChargeType ct = getRowData(idx.row());
QJsonDocument propsDoc = QJsonDocument::fromJson(QByteArray::fromStdString(ct.properties()));
QJsonDocument propsDoc = QJsonDocument::fromJson(QByteArray::fromStdString(ct.properties));
QJsonObject propsObj;
if (propsDoc.isObject())
propsObj = propsDoc.object();
@@ -237,22 +239,22 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
if (bVal)
{
propsObj.remove(QLatin1String("suppressVisibility"));
m_visibleCharges.insert(m_vecData.at(idx.row()).id());
m_visibleCharges.insert(m_vecData.at(idx.row()).id);
}
else
{
propsObj.insert(QLatin1String("suppressVisibility"), true);
m_visibleCharges.remove(m_vecData.at(idx.row()).id());
m_visibleCharges.remove(m_vecData.at(idx.row()).id);
}
ct.properties(QJsonDocument(propsObj).toJson(QJsonDocument::Compact).toStdString());
ct.properties = QJsonDocument(propsObj).toJson(QJsonDocument::Compact).toStdString();
setRowData(idx.row(), ct);
if (m_dtc->isVisible(ct.id()) != bVal)
m_differences.insert(ct.id());
if (m_dtc->isVisible(ct.id) != bVal)
m_differences.insert(ct.id);
else
m_differences.remove(ct.id());
m_differences.remove(ct.id);
emit chargeVisibilityChanged(!m_differences.isEmpty());
@@ -260,7 +262,7 @@ bool ChargeTableDialogModel::setData(const QModelIndex &idx, const QVariant &val
}
else
{
const int tasCode = m_vecData.at(idx.row()).id();
const int tasCode = m_vecData.at(idx.row()).id;
if (tasCode < 1000)
{
if (bVal)
@@ -390,7 +392,7 @@ QVector<ChargeType> ChargeTableDialogModel::getChargeTypesWithChangedVisibility(
{
QVector<ChargeType> cts;
for (const auto &ct : m_vecData)
if (m_differences.contains(ct.id()))
if (m_differences.contains(ct.id))
cts << ct;
return cts;
}
@@ -411,7 +413,7 @@ bool ChargeTableDialogModel::isFiltered(const ProjectDataManagement::ChargeType
{
Q_UNUSED(modType);
return isFiltered(data.id());
return isFiltered(data.id);
}
QSet<int> ChargeTableDialogModel::selectedCharges() const
@@ -18,7 +18,7 @@ namespace ProjectDataManagement
#ifdef BUILD_WITH_EXTERNAL_DDS
inline uint qHash(GearClass gc)
{
return ::qHash(gc.underlying());
return ::qHash(gc);
}
#endif
@@ -5,6 +5,15 @@
# Created by Mike Wille, SLSE, 2016-05-05
#
# Build this target as separate translation units (NOT a unity build). It links the
# ddsftc INTERFACE target, which propagates generic_ftc.cpp /
# generic_ftc_threading.cpp as INTERFACE sources (legacy design: consumers compile
# the generic FTC implementation themselves, one TU per file, hidden visibility).
# A unity build concatenates those .cpp's into this target's single TU, and LTO
# (USE_IPO) then reports "multiple definition of Threading::..." from the same
# object. Separate TUs restore the legacy per-file structure (behavior-neutral).
set(CMAKE_UNITY_BUILD FALSE)
# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
set(Qt6_Widgets ${Qt6_Widgets})
@@ -39,9 +39,9 @@ bool ChargeSelector::init(const std::shared_ptr<ProjectDataManagement::Interface
const auto cfgc = dtc->chargesForGearClass(gearClass);
for (const ChargeType &charge : cfgc)
{
if (LtsUtils::JsonObject::fromJson(charge.properties()).valueOr<bool>("suppressVisibility", false))
if (LtsUtils::JsonObject::fromJson(charge.properties).valueOr<bool>("suppressVisibility", false))
continue;
const int chargeId = charge.id();
const int chargeId = charge.id;
QCheckBox *cb = new QCheckBox;
cb->setText(dtc->trChargeTypeShortName(chargeId, true));
cb->setChecked(preselectedCharges.contains(chargeId));
@@ -9,7 +9,6 @@
#include <QtCore/QSet>
#ifdef BUILD_WITH_EXTERNAL_DDS
#include <ProjectDataManagement/pdm_gear_class.h>
#endif
#include "ui_pdm_charge_selector.h"
@@ -74,10 +74,10 @@ void fillGearClass(QComboBox *cbx, GearClass gearClass, const std::shared_ptr<In
const auto charges = dtc->chargesForGearClass(gearClass);
for (const ChargeType &charge : charges)
{
QStandardItem *item = new QStandardItem(dtc->trChargeTypeShortName(charge.id(), true));
item->setToolTip(dtc->trChargeTypeName(charge.id(), true));
item->setData(charge.id(), CBUserRoles::Id);
item->setData(QByteArray::fromStdString(charge.properties()), CBUserRoles::Properties);
QStandardItem *item = new QStandardItem(dtc->trChargeTypeShortName(charge.id, true));
item->setToolTip(dtc->trChargeTypeName(charge.id, true));
item->setData(charge.id, CBUserRoles::Id);
item->setData(QByteArray::fromStdString(charge.properties), CBUserRoles::Properties);
itemModel->appendRow(item);
}
}
@@ -93,10 +93,10 @@ void fillIgniterType(QComboBox *cbx, int chargeTypeId, const std::shared_ptr<Int
const auto igniters = dtc->ignitersForChargeType(chargeTypeId);
for (const IgniterType &igniter : igniters)
{
QStandardItem *item = new QStandardItem(dtc->trIgniterTypeShortName(igniter.id()));
item->setToolTip(dtc->trIgniterTypeName(igniter.id()));
item->setData(igniter.id(), CBUserRoles::Id);
item->setData(QByteArray::fromStdString(igniter.properties()), CBUserRoles::Properties);
QStandardItem *item = new QStandardItem(dtc->trIgniterTypeShortName(igniter.id));
item->setToolTip(dtc->trIgniterTypeName(igniter.id));
item->setData(igniter.id, CBUserRoles::Id);
item->setData(QByteArray::fromStdString(igniter.properties), CBUserRoles::Properties);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -117,10 +117,10 @@ void fillIgniterFunction(QComboBox *cbx, int chargeTypeId, int igniterTypeId, co
const auto chargeTypeIgTypeIgFunMap = dtc->igniterFunctionsForChargeTypeIgniterType(chargeTypeId, igniterTypeId);
for (const ChargeTypeIgniterTypeIgniterFunction &chargeTypeIgTypeIgFun : chargeTypeIgTypeIgFunMap)
{
QStandardItem *item = new QStandardItem(dtc->trIgniterFunctionShortName(chargeTypeIgTypeIgFun.igniterFunctionId()));
item->setToolTip(dtc->trIgniterFunctionName(chargeTypeIgTypeIgFun.igniterFunctionId()));
item->setData(chargeTypeIgTypeIgFun.igniterFunctionId(), CBUserRoles::Id);
item->setData(QByteArray::fromStdString(chargeTypeIgTypeIgFun.properties()), CBUserRoles::Properties);
QStandardItem *item = new QStandardItem(dtc->trIgniterFunctionShortName(chargeTypeIgTypeIgFun.igniterFunctionId));
item->setToolTip(dtc->trIgniterFunctionName(chargeTypeIgTypeIgFun.igniterFunctionId));
item->setData(chargeTypeIgTypeIgFun.igniterFunctionId, CBUserRoles::Id);
item->setData(QByteArray::fromStdString(chargeTypeIgTypeIgFun.properties), CBUserRoles::Properties);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -141,9 +141,9 @@ void fillLoadType(QComboBox *cbx, int chargeTypeId, const std::shared_ptr<Interf
const auto loads = dtc->loadsForChargeType(chargeTypeId);
for (const LoadType &load : loads)
{
QStandardItem *item = new QStandardItem(dtc->trLoadTypeShortName(load.id()));
item->setToolTip(dtc->trLoadTypeName(load.id()));
item->setData(load.id(), CBUserRoles::Id);
QStandardItem *item = new QStandardItem(dtc->trLoadTypeShortName(load.id));
item->setToolTip(dtc->trLoadTypeName(load.id));
item->setData(load.id, CBUserRoles::Id);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -164,9 +164,9 @@ void fillTargetType(QComboBox *cbx, const std::shared_ptr<Interface::Dtc> &dtc)
const auto targeTypes = dtc->targetTypes();
for (const TargetType &targetType : targeTypes)
{
QStandardItem *item = new QStandardItem(dtc->trTargetTypeName(targetType.id()));
item->setToolTip(dtc->trTargetTypeName(targetType.id()));
item->setData(targetType.id(), CBUserRoles::Id);
QStandardItem *item = new QStandardItem(dtc->trTargetTypeName(targetType.id));
item->setToolTip(dtc->trTargetTypeName(targetType.id));
item->setData(targetType.id, CBUserRoles::Id);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -184,10 +184,10 @@ void fillTargetSubType(QComboBox *cbx, int targetTypeId, const std::shared_ptr<I
for (const TargetSubType &targetSubType : targetSubTypeVec)
{
QStandardItem *item = new QStandardItem(dtc->trTargetSubTypeName(targetSubType.id()));
item->setToolTip(dtc->trTargetSubTypeName(targetSubType.id()));
item->setData(targetSubType.id(), TargetSubTypeRole::Id);
item->setData(QString::fromStdString(targetSubType.abbreviation()), TargetSubTypeRole::Abbreviation);
QStandardItem *item = new QStandardItem(dtc->trTargetSubTypeName(targetSubType.id));
item->setToolTip(dtc->trTargetSubTypeName(targetSubType.id));
item->setData(targetSubType.id, TargetSubTypeRole::Id);
item->setData(QString::fromStdString(targetSubType.abbreviation), TargetSubTypeRole::Abbreviation);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -204,10 +204,10 @@ void fillFirePurpose(QComboBox *cbx, const std::shared_ptr<Interface::Dtc> &dtc)
const auto &firePurposes = dtc->firePurposes();
for (const FirePurpose &firePurpose : firePurposes)
{
QStandardItem *item = new QStandardItem(dtc->trFirePurposeName(firePurpose.id()));
item->setToolTip(dtc->trFirePurposeName(firePurpose.id()));
item->setData(firePurpose.id(), CBUserRoles::Id);
item->setData(QByteArray::fromStdString(firePurpose.properties()), CBUserRoles::Properties);
QStandardItem *item = new QStandardItem(dtc->trFirePurposeName(firePurpose.id));
item->setToolTip(dtc->trFirePurposeName(firePurpose.id));
item->setData(firePurpose.id, CBUserRoles::Id);
item->setData(QByteArray::fromStdString(firePurpose.properties), CBUserRoles::Properties);
itemModel->appendRow(item);
}
itemModel->sort(0, Qt::AscendingOrder);
@@ -232,70 +232,70 @@ bool fill(QComboBox *cbx, PdmComboBoxType type)
const QString languages = LtsUtils::ProjectSettings::getInstance()->value(QStringLiteral("pdm"), QStringLiteral("EquipmentLanguages")).toString();
const QStringList slLang = languages.split(QLatin1Char(','));
QSet<int> alreadySeen;
alreadySeen += Language::NoChange;
cbx->addItem(toString(Language::NoChange), Language::NoChange);
alreadySeen += static_cast<int>(LanguageConfiguration::LanguageConfiguration_NoChange);
cbx->addItem(toString(LanguageConfiguration::LanguageConfiguration_NoChange), static_cast<int>(LanguageConfiguration::LanguageConfiguration_NoChange));
for (const QString &r : slLang)
{
const int langId = r.toInt();
if (alreadySeen.contains(langId))
continue;
alreadySeen += langId;
cbx->addItem(toString(static_cast<LanguageConfiguration>(langId)), static_cast<LanguageConfiguration>(langId));
cbx->addItem(toString(static_cast<LanguageConfiguration>(langId)), static_cast<int>(static_cast<LanguageConfiguration>(langId)));
}
break;
}
case PdmComboBoxType::CbOperationMode:
{
cbx->addItem(toString(OperationMode::NoChange), OperationMode::NoChange);
cbx->addItem(toString(OperationMode::Normal), OperationMode::Normal);
cbx->addItem(toString(OperationMode::BeStill), OperationMode::BeStill);
cbx->addItem(toString(OperationMode::OperationMode_NoChange), static_cast<int>(OperationMode::OperationMode_NoChange));
cbx->addItem(toString(OperationMode::OperationMode_Normal), static_cast<int>(OperationMode::OperationMode_Normal));
cbx->addItem(toString(OperationMode::OperationMode_BeStill), static_cast<int>(OperationMode::OperationMode_BeStill));
break;
}
case PdmComboBoxType::CbModeHelmet:
case PdmComboBoxType::CbModeVest:
{
cbx->addItem(toString(WphMode::NoChange), WphMode::NoChange);
cbx->addItem(toString(WphMode::Without), WphMode::Without);
cbx->addItem(toString(WphMode::With), WphMode::With);
cbx->addItem(toString(WphMode::WphMode_NoChange), static_cast<int>(WphMode::WphMode_NoChange));
cbx->addItem(toString(WphMode::WphMode_Without), static_cast<int>(WphMode::WphMode_Without));
cbx->addItem(toString(WphMode::WphMode_With), static_cast<int>(WphMode::WphMode_With));
break;
}
case PdmComboBoxType::CbPersonalProtection:
{
cbx->addItem(toString(PersonalProtection::NoChange), PersonalProtection::NoChange);
cbx->addItem(toString(PersonalProtection::Without), PersonalProtection::Without);
cbx->addItem(toString(PersonalProtection::Suit), PersonalProtection::Suit);
cbx->addItem(toString(PersonalProtection::SuitAndGloves), PersonalProtection::SuitAndGloves);
cbx->addItem(toString(PersonalProtection::PersonalProtection_NoChange), static_cast<int>(PersonalProtection::PersonalProtection_NoChange));
cbx->addItem(toString(PersonalProtection::PersonalProtection_Without), static_cast<int>(PersonalProtection::PersonalProtection_Without));
cbx->addItem(toString(PersonalProtection::PersonalProtection_Suit), static_cast<int>(PersonalProtection::PersonalProtection_Suit));
cbx->addItem(toString(PersonalProtection::PersonalProtection_SuitAndGloves), static_cast<int>(PersonalProtection::PersonalProtection_SuitAndGloves));
break;
}
case PdmComboBoxType::CbProtectionLevel:
{
cbx->addItem(toString(ProtectionLevel::NoChange), ProtectionLevel::NoChange);
cbx->addItem(toString(ProtectionLevel::IdzBs), ProtectionLevel::IdzBs);
cbx->addItem(toString(ProtectionLevel::IdzEs), ProtectionLevel::IdzEs);
cbx->addItem(toString(ProtectionLevel::Ksk), ProtectionLevel::Ksk);
cbx->addItem(toString(ProtectionLevel::SoldierWithBodyArmor), ProtectionLevel::SoldierWithBodyArmor);
cbx->addItem(toString(ProtectionLevel::SoldierActor), ProtectionLevel::SoldierActor);
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_NoChange), static_cast<int>(ProtectionLevel::ProtectionLevel_NoChange));
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_IdzBs), static_cast<int>(ProtectionLevel::ProtectionLevel_IdzBs));
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_IdzEs), static_cast<int>(ProtectionLevel::ProtectionLevel_IdzEs));
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_Ksk), static_cast<int>(ProtectionLevel::ProtectionLevel_Ksk));
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_SoldierWithBodyArmor), static_cast<int>(ProtectionLevel::ProtectionLevel_SoldierWithBodyArmor));
cbx->addItem(toString(ProtectionLevel::ProtectionLevel_SoldierActor), static_cast<int>(ProtectionLevel::ProtectionLevel_SoldierActor));
break;
}
case PdmComboBoxType::CbHandgrenadeSearchMode:
{
cbx->addItem(toString(HandgrenadeSearchMode::NoChange), HandgrenadeSearchMode::NoChange);
cbx->addItem(toString(HandgrenadeSearchMode::On), HandgrenadeSearchMode::On);
cbx->addItem(toString(HandgrenadeSearchMode::Off), HandgrenadeSearchMode::Off);
cbx->addItem(toString(HandgrenadeSearchMode::HandgrenadeSearchMode_NoChange), static_cast<int>(HandgrenadeSearchMode::HandgrenadeSearchMode_NoChange));
cbx->addItem(toString(HandgrenadeSearchMode::HandgrenadeSearchMode_On), static_cast<int>(HandgrenadeSearchMode::HandgrenadeSearchMode_On));
cbx->addItem(toString(HandgrenadeSearchMode::HandgrenadeSearchMode_Off), static_cast<int>(HandgrenadeSearchMode::HandgrenadeSearchMode_Off));
break;
}
case PdmComboBoxType::CbInternationalMode:
{
cbx->addItem(toString(InternationalMode::InternationalMode_NoChange), InternationalMode::InternationalMode_NoChange);
cbx->addItem(toString(InternationalMode::InternationalMode_On), InternationalMode::InternationalMode_On);
cbx->addItem(toString(InternationalMode::InternationalMode_Off), InternationalMode::InternationalMode_Off);
cbx->addItem(toString(InternationalMode::InternationalMode_NoChange), static_cast<int>(InternationalMode::InternationalMode_NoChange));
cbx->addItem(toString(InternationalMode::InternationalMode_On), static_cast<int>(InternationalMode::InternationalMode_On));
cbx->addItem(toString(InternationalMode::InternationalMode_Off), static_cast<int>(InternationalMode::InternationalMode_Off));
break;
}
case PdmComboBoxType::CbABCProtectionMode:
{
cbx->addItem(toString(ABCProtectionMode::NoChange), ABCProtectionMode::NoChange);
cbx->addItem(toString(ABCProtectionMode::On), ABCProtectionMode::On);
cbx->addItem(toString(ABCProtectionMode::Off), ABCProtectionMode::Off);
cbx->addItem(toString(ABCProtectionMode::ABCProtectionMode_NoChange), static_cast<int>(ABCProtectionMode::ABCProtectionMode_NoChange));
cbx->addItem(toString(ABCProtectionMode::ABCProtectionMode_On), static_cast<int>(ABCProtectionMode::ABCProtectionMode_On));
cbx->addItem(toString(ABCProtectionMode::ABCProtectionMode_Off), static_cast<int>(ABCProtectionMode::ABCProtectionMode_Off));
break;
}
#endif // BUILD_WITH_EXTERNAL_DDS
@@ -38,9 +38,9 @@ enum class InternationalMode;
enum class ABCProtectionMode;
enum class PersonalProtection;
enum class ProtectionLevel;
enum class Language; // from training_area_telegrams.h
enum class OperationMode; // from training_area_telegrams.h
enum class WphMode; // from training_area_telegrams.h
enum class LanguageConfiguration; // RTI enum in ProjectDataManagement (pdm_enums.hpp); legacy used LanguageConfiguration
enum class OperationMode;
enum class WphMode;
#endif
@@ -68,7 +68,7 @@ bool ForeignGuiInterfaceImpl::fillBoobyTrapComboBox(QComboBox *cbx)
bool ForeignGuiInterfaceImpl::fillOffRouteMineComboBox(QComboBox *cbx)
{
return PdmComboBox::fill(cbx, ProjectDataManagement::GearClass::OffRouteMine, m_dtc);
return PdmComboBox::fill(cbx, ProjectDataManagement::GearClass::GearClass_OffRouteMine, m_dtc);
}
bool ForeignGuiInterfaceImpl::fillFunctionalAreaComboBox(QComboBox *cbx)
@@ -7,7 +7,6 @@
#include <ProjectDataManagement/pdm_dtc.h>
#ifdef BUILD_WITH_EXTERNAL_DDS
#include <ProjectDataManagement/pdm_gear_class.h>
#endif
namespace ProjectDataManagement
@@ -1,29 +1,22 @@
#pragma once
#include <memory>
#include <ProjectDataManagement/pdm_dtc.h>
#include <ProjectDataManagement/pdm_ftc.h>
#include <PluginInterfaces/data_plugin_interface.h>
// Forward declarations for external DDS types
namespace ProjectDataManagement
{
namespace Interface
{
class Dtc;
class Ftc;
}
}
class ForeignDataInterface;
class DataInterface //: public DataPluginBase::Interface
class DataInterface : public DataPluginBase::Interface
{
public:
//using DataPluginBase::Interface::Interface;
using DataPluginBase::Interface::Interface;
virtual std::shared_ptr<ProjectDataManagement::Interface::Dtc> getDtc() = 0;
virtual std::shared_ptr<ProjectDataManagement::Interface::Ftc> getFtc() = 0;
};
}
}