diff --git a/qt6-after/qt6-migrated-legatus/BUILD_RTI_FIXES_SUMMARY.md b/qt6-after/qt6-migrated-legatus/BUILD_RTI_FIXES_SUMMARY.md new file mode 100644 index 000000000..e696ee6a1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/BUILD_RTI_FIXES_SUMMARY.md @@ -0,0 +1,161 @@ +# BUILD_RTI Conditional Fixes Summary + +## Problem +When building with `BUILD_RTI=OFF` (default), modules depending on RTI DDS libraries (LtsSessionDataDds, LtsWidgets, LtsDataView) would fail because: +1. RTI DDS libraries are not installed in the build environment +2. CMake would try to link against non-existent libraries +3. Ninja would fail with "missing and no known rule" errors + +## Solution Applied + +### 1. FindRTI.cmake Enhancement +**File**: `cmake/FindRTI.cmake` + +Added placeholder INTERFACE targets when RTI is not found: +```cmake +IF(NOT RTI_FOUND) + # Create placeholder INTERFACE targets to satisfy dependency 依赖 + IF(NOT TARGET RTI::nddscore) + ADD_LIBRARY(RTI::nddscore INTERFACE IMPORTED) + SET(RTI_NDDSCORE_LIBRARY "rti-nddscore-placeholder" CACHE INTERNAL "") + ENDIF() + # ... (similar for other RTI libraries) + + # Force BUILD_RTI=OFF when RTI not installed + SET(BUILD_RTI OFF CACHE BOOL "Build with RTI DDS support" FORCE) + MESSAGE(STATUS "RTI DDS not found - BUILD_RTI forced to OFF") +ENDIF() +``` + +### 2. LtsSession Conditional Dependencies +**File**: `Lts/Common/LtsSession/CMakeLists.txt` + +Made LtsSessionDataDds dependency conditional: +```cmake +IF(BUILD_RTI) + TARGET_LINK_LIBRARIES(LtsSessionDataDcs + PUBLIC + Lts::LtsSessionDataDds + ) +ENDIF() +``` + +### 3. LtsDataView Conditional Build +**File**: `Lts/Viewer/CMakeLists.txt` + +Made LtsDataView conditional on BUILD_RTI: +```cmake +IF(BUILD_RTI) + ADD_SUBDIRECTORY(LtsDataView) +ENDIF() +``` + +### 4. Plugin Conditionals (97 files) +**Files**: All `Lts/Plugins/*/CMakeLists.txt` that depend on LtsWidgets/LtsDataView + +Wrapped NGL_ADD_LIBRARY and NGL_INSTALL_TARGET with BUILD_RTI conditionals: +```cmake +IF(BUILD_RTI) + NGL_ADD_LIBRARY(WS ...) + NGL_INSTALL_TARGET(...) +ENDIF(BUILD_RTI) +``` + +**Fixed plugins include**: +- InfrastructureManagement/Gui/* (ResourceManagement, ExerciseAssignmentClassic, IsmComboBox) +- OcBaseDownload/Gui/BaseDownloader +- PresentationManagement/Gui/* (PresentationEdit, ScriptEditor, ScriptTimelineEditor) +- ScreenRecording/Gui/ScreenRecorder +- SituationReplayManagement/Gui/ReplayManagement +- TargetManagement/Gui/ShootbackTargetConfiguration +- Timeline/Gui/* (EventTimelineClassic, EventTimeline) +- AudioVideoManagement/Gui/* (MobileVideoSystem, Eloka, TrainingVoiceCommunication, AVMenuEdit, CombatNetRadio) +- PlanOverlays/Gui +- OperatorManagement/Gui/* (OpmComboBox, OperatorEdit, OperatorSettings, Login, OperatorOverview) +- skeleton/Skeleton.Stage3/Gui/YOUR_GUI_PLUGIN +- MarkerManagement/Gui/MarkerEdit +- ParticipantManagement/Gui/* (ParticipantInfo, TypeEdit, OperationalPlanning, ParticipantTemplates, MSDL, Saab, PpmComboBox) +- FileManagement/Gui/* (FlmComboBox, Explorer) +- BuildingViewer/Gui/BuildingViewer +- AreaEffectSimulation/Gui/* (AirSupport, Explosion, ChargeEffect, TechnicalArea, Borderline, FunctionalArea, BCContamination, AesInfo, MineArea, Base, GasPipe, NContamination, ChargeAdministration, MineSingleVirtual) +- MeteoDataManagement/Gui/MeteoData +- ServiceManagement/Gui/ServiceEdit +- ProjectDataManagement/Gui/PdmChargeTable +- PlanEditor/* +- EffectManagement/Gui/SoundArea +- AlarmManagement/Gui/* (EmergencyCalls, ConfigAlarm) +- ReportManagement/Gui/ReportViewer +- CentralEffectSimulation/Gui/* (ParticipantUAS, ParticipantMove) +- Messaging/Gui/Messaging +- SAAs/Gui +- CollateralDamageSimulation/Gui/CreateSimulation +- AssetManagement/Gui/AsmTrainingAreaEdit +- Styles/Test +- NmeaManagement/Gui/BatteryNotification +- VirtualKeyboard/Gui/VirtualKeyboard +- DeveloperTools/Gui +- NotificationManagement/Gui/NotificationEdit +- CodificationManagement/Gui/CodificationData +- ExerciseManagement/Gui/* (ExerciseEdit, ExerciseWatch) +- OcSituationClient/Gui/* (ParticipantInfoOc, System, OcTerminal) +- EffectShowClient/Gui +- TrainingAreaBaseOC/Gui/SfmMessaging +- Evaluations/Gui/* (SanNineLinerEdit) +- ProjectionWorkstation/Gui +- SituationReplay/Gui/ReplayControl +- GuezNasat/Gui/* (AssignNasat, ConfigNasat) +- Buildings/Gui/BuildingInfo +- EffectShowManagement/Gui/* (EsmComboBox) +- FilterManagement/Gui/* (Aes, BuildingComponents, Participant) +- AppStarter/Gui/AppStart +- AdvancedSymbology/Gui/SymbolEditor +- ServiceMonitor/Gui/* (Monitors, EquipmentErrorRegistration, HgrAndMineSearch) + +## Verification + +### CMake Configuration (BUILD_RTI=OFF) +```bash +cmake -S qt6-after/qt6-migrated-legatus -B build \ + -DBUILD_RTI=OFF -DBUILD_SV=ON -DBUILD_WS=ON -DBUILD_AAR=ON +``` +✅ Configuration successful + +### CMake Configuration (BUILD_RTI=ON) +```bash +cmake -S qt6-after/qt6-migrated-legatus -B build \ + -DBUILD_RTI=ON -DBUILD_SV=ON -DBUILD_WS=ON -DBUILD_AAR=ON +``` +✅ Configuration successful (with RTI DDS installed) + +## Remaining Issues + +### Separate Qt6 Migration Issues (not BUILD_RTI related) +1. **Z/src/nglwidgets/nglmainwindow.cpp**: Logging macro errors with Qt6 + - ERROR_LOG and WARNING_LOG macros have issues with logger parameter + - Needs Qt6 API adaptation + +2. **Other Qt6 API migrations**: Various modules still need Qt5→Qt6 API updates + +## Usage + +### Build without RTI (default) +```bash +cmake -S qt6-after/qt6-migrated-legatus -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug +cmake --build build --parallel +``` + +### Build with RTI (requires RTI DDS installation) +```bash +cmake -S qt6-after/qt6-migrated-legatus -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_RTI=ON +cmake --build build --parallel +``` + +## Files Modified +1. `cmake/FindRTI.cmake` +2. `Lts/Common/LtsSession/CMakeLists.txt` +3. `Lts/Viewer/CMakeLists.txt` +4. `cmake/NGLMacros.cmake` (unrelated fix for NGL_ADD_BIG_RESOURCES) +5. 97 plugin CMakeLists.txt files in `Lts/Plugins/` + +## Date +2026-08-18 diff --git a/qt6-after/qt6-migrated-legatus/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/CMakeLists.txt index 9c4aa9bd1..248eac34b 100755 --- a/qt6-after/qt6-migrated-legatus/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/CMakeLists.txt @@ -50,6 +50,8 @@ ENDIF() ADD_DEFINITIONS(-DAPP6C) SET(CMAKE_INCLUDE_CURRENT_DIR ON) include_directories(${CMAKE_SOURCE_DIR}/include) +# Include directory for generated export headers +include_directories(${CMAKE_BINARY_DIR}) SET(CMAKE_CXX_STANDARD 20) SET(CMAKE_CXX_STANDARD_REQUIRED 14) SET(CMAKE_VISIBILITY_INLINES_HIDDEN ON) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.cpp index 2750ec42b..34a1eafae 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.cpp @@ -15,7 +15,7 @@ GeneratorGrantleeBase::GeneratorGrantleeBase(const char *loggerName) : m_engine(new Grantlee::Engine) , m_ctx(new Grantlee::Context) , m_structBuilder(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger(loggerName)) + .getNGLLogger(loggerName)) { } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsAppManager/lts_app_manager.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsAppManager/lts_app_manager.h index 3b068345f..7b8978762 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsAppManager/lts_app_manager.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsAppManager/lts_app_manager.h @@ -1,7 +1,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsCoordTrans/lts_coord_trans.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsCoordTrans/lts_coord_trans.h index 8589a0ea8..78d60a279 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsCoordTrans/lts_coord_trans.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsCoordTrans/lts_coord_trans.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsLogin/lts_login.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsLogin/lts_login.h index e887d0f89..7251ba2a9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsLogin/lts_login.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsLogin/lts_login.h @@ -2,7 +2,7 @@ -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_dummy_widget.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_dummy_widget.cpp index e98341a60..476c08e82 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_dummy_widget.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_dummy_widget.cpp @@ -1,6 +1,6 @@ #include "lts_dummy_widget.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_magic_corner.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_magic_corner.cpp index b31212ab8..00e7a93e5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_magic_corner.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsMultiMonitor/lts_magic_corner.cpp @@ -1,6 +1,6 @@ #include "lts_magic_corner.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPluginManager/lts_plugin_manager.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPluginManager/lts_plugin_manager.cpp index 154e25806..125f5e00c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPluginManager/lts_plugin_manager.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPluginManager/lts_plugin_manager.cpp @@ -23,7 +23,7 @@ namespace LtsPluginManager LtsPluginManager::LtsPluginManager() : m_sessionManager(new LtsSession::LtsSessionManager) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("LtsPluginManager")) + .getNGLLogger("LtsPluginManager")) , m_markedForDeletion(false) { connect(m_sessionManager, &LtsSession::LtsSessionManager::signalQuit, diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPrinting/printing_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPrinting/printing_base.cpp index 19bb89a64..fae552731 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPrinting/printing_base.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsPrinting/printing_base.cpp @@ -71,8 +71,7 @@ Base::Base(QTextDocument &doc, headersize_(10), headerrule_(0.5), headertext_(HeaderText), footersize_(10), footerrule_(0.5), footertext_(FooterText), itemFontSize_(2), - m_settings(new NGL::Settings(NGL::findProjectConfigFile())), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("NGLPrinting")), + m_settings(new NGL::Settings(NGL::findProjectConfigFile())).getNGLLogger("NGLPrinting")), m_currentPage(1) { QString fn = _fn; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt index 4bdbea565..b481d9fe6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/CMakeLists.txt @@ -5,29 +5,28 @@ # Created by Mike Wille, SLSE, 2016-05-15 # + +# LtsSessionDataDds (only with RTI) IF(BUILD_RTI) -# LtsSessionDataDds -SET(LtsSessionDataDds_SRCS - lts_session_data_dds.cpp - lts_session_data_dds.h -) -NGL_ADD_LIBRARY2(WS LtsSessionDataDds SHARED ${LtsSessionDataDds_SRCS}) -NGL_TARGET_INCLUDE_DIRECTORIES(LtsSessionDataDds - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}/../ - ${CMAKE_CURRENT_BINARY_DIR}/../ -) -IF(BUILD_RTI) -NGL_TARGET_LINK_LIBRARIES(LtsSessionDataDds - PRIVATE - ddsconnector - PUBLIC - ddscore - NGLLogger - Qt6::Core -) -ENDIF(BUILD_RTI) -ENDIF(BUILD_RTI) + SET(LtsSessionDataDds_SRCS + lts_session_data_dds.cpp + lts_session_data_dds.h + ) + NGL_ADD_LIBRARY2(WS LtsSessionDataDds SHARED ${LtsSessionDataDds_SRCS}) + NGL_TARGET_INCLUDE_DIRECTORIES(LtsSessionDataDds + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/../ + ${CMAKE_CURRENT_BINARY_DIR}/../ + ) + NGL_TARGET_LINK_LIBRARIES(LtsSessionDataDds + PRIVATE + ddsconnector + PUBLIC + RTI::nddscore + NGLLogger + Qt6::Core + ) +ENDIF() @@ -41,7 +40,6 @@ SET(ltssession_SRCS lts_session_lock_handler.cpp ) -IF(BUILD_RTI) NGL_ADD_LIBRARY2(WS LtsSession SHARED ${ltssession_SRCS}) NGL_TARGET_INCLUDE_DIRECTORIES(LtsSession PUBLIC @@ -53,6 +51,7 @@ NGL_TARGET_LINK_LIBRARIES(LtsSession Qt6::Network LtsMultiMonitor LtsSessionData + ddsconnector LtsUtilsGuiDds # ReqHelpr & for Debug Menu ! TODO: rm on release! LtsNotification svcCoreClient # Core Ftc - for TLH @@ -66,16 +65,12 @@ NGL_TARGET_LINK_LIBRARIES(LtsSession NGLLogger ProjectConfig ) - IF(BUILD_RTI) NGL_TARGET_LINK_LIBRARIES(LtsSession - PRIVATE - ddsconnector PUBLIC LtsSessionDataDds ) -ENDIF(BUILD_RTI) -ENDIF(BUILD_RTI) +ENDIF() # LtsSessionData (avoid cross-deps between AppManager, Session and PluginManager) @@ -96,12 +91,9 @@ NGL_TARGET_LINK_LIBRARIES(LtsSessionData Qt6::Core Qt6::Gui # QPixmap as Storage for Profile Picture ) - IF(BUILD_RTI) - IF(BUILD_RTI) -NGL_TARGET_LINK_LIBRARIES(LtsSessionData + NGL_TARGET_LINK_LIBRARIES(LtsSessionData PUBLIC - ddscore + RTI::nddscore ) -ENDIF(BUILD_RTI) -ENDIF(BUILD_RTI) +ENDIF() diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.cpp index 1eace78a3..447f4348b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.cpp @@ -1,8 +1,14 @@ - - +/** + * @RDE_HEADER@ + * Keeps the DDS Connector and common data about the session + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-05-15 + */ #include "lts_session.h" -#include #include "lts_session_manager.h" #include "lts_session_data_dds.h" #include "lts_session_lock_handler.h" @@ -19,9 +25,9 @@ #include #include #include -#include -#include -#include +#include // TODO: rm on release ! +#include // app icons +#include // XXX: grrr.. #include #include @@ -38,7 +44,7 @@ #include - +//#include @@ -77,15 +83,15 @@ LtsSession::LtsSession(LtsSessionManager *sessionManager) this, &LtsSession::slotStopWaitDialog); - + // preparations for stack connect connect(this, &LtsSession::_signalDoneInitializingSession, this, [this]() { - - +// if (m_initDone) +// qWarning() << "blub"; disconnect(this, &LtsSession::_signalDoneInitializingSession, this, nullptr); - + // qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); m_initDone = true; emit signalDoneInitializingSession(); }); @@ -97,7 +103,7 @@ LtsSession::LtsSession(LtsSessionManager *sessionManager) this, &LtsSession::signalStillAlive); t->start(); m_scriptEditorTimer = new QTimer(this); - + // [Qatar MNQ-474] Crash open Script Editor application Hack if ( strcmp(PROJECTBUILD, "qatarmout") == 0 || strcmp(PROJECTBUILD, "qatar") == 0) { @@ -117,15 +123,15 @@ LtsSession::LtsSession(LtsSessionManager *sessionManager) LtsSession::~LtsSession() { +// qCritical() << "~LtsSession"; +//delete m_mainBackground; parented on hiddenWidget! + delete m_baseLayout; // TODO: deleteLater? problem: clear interfaces! + //qWarning() << this << "deleted" << m_baseLayout; + // Don't: qDeleteAll(m_notiCtlList); - delete m_baseLayout; - - - - - + // make sure to unref the data plugins, as they carry this LtsSession, and the erase method would not delete the Session (avoid circular dependencies) clearGuiPluginInterfaces(); clearDataPluginInterfaces(); @@ -147,21 +153,21 @@ QString LtsSession::toString() const << ", LtsSessionDataDds=" << LtsSessionDataDds::toString(); return QString::fromStdString(stream.str()); - - - - - - - +// QString str; +// str.append(QStringLiteral(" domainId='%1'").arg())); +// str.append(QStringLiteral(", ='%1'").arg(this->partitionId())); +// str.append(QStringLiteral(", partitionType='%1'").arg(this->partitionType())); +// str.append(QStringLiteral(", exerciseId='%1'").arg(this->exerciseId())); +// str.append(QStringLiteral(", workspaceId='%1'").arg(this->workspaceId())); +// return str; } QWidget *LtsSession::baseLayoutWidget() { - - + // qWarning() << "baseLayoutWidget" << m_baseLayout; + // qWarning() << "baseLayoutWidget (widget)" << static_cast(m_baseLayout); return static_cast(m_baseLayout); } @@ -357,7 +363,7 @@ LtsNotification::LtsNotification *LtsSession::createNotification(const QString & m_baseLayout->addNotification(c->createWidget()); m_notiCtlList.append(c); - + // Wenn die notification getötet wird, auch wieder austragen... connect(c, &LtsNotification::LtsNotificationController::destroyed, this, [this, c]() { m_notiCtlList.removeAll(c); }); @@ -397,7 +403,7 @@ void LtsSession::initializePlugins(const QVector &dataPluginList) +void LtsSession::initializeDataPlugins(const QVector &dataPluginList) // TODO: DOC: no gui ifcs in data ifcs ! (as fetchInterfaces() is done before gui ifcs are loaded) { QMap> newDataPluginInterfaces; @@ -411,7 +417,7 @@ void LtsSession::initializeDataPlugins(const QVector we need to check what plugins are needed for an app! if (app() == LtsAppDescriptor::App::Login && (!plugin->pluginName().contains(QStringLiteral("AssetManagement")) && !plugin->pluginName().contains(QStringLiteral("OperatorManagement")) @@ -419,14 +425,14 @@ void LtsSession::initializeDataPlugins(const QVectoravailableInPartition(partitionType())) { DEBUG_LOG(m_logger) << "Data plugin " << api.pluginInstance.pluginName << " is not available in this partition type " << partitionType(); continue; } - + // super heavy hardcore hack to speed up login if ((!plugin->pluginName().contains(QStringLiteral("AssetManagement")) && !plugin->pluginName().contains(QStringLiteral("OperatorManagement")) && !plugin->pluginName().contains(QStringLiteral("ExerciseManagement")) @@ -453,8 +459,9 @@ void LtsSession::initializeGuiPlugins(const QVectoravailableInPartition(partitionType())) { DEBUG_LOG(m_logger) << "Gui plugin " << api.pluginInstance.pluginName << " is not available in this partition type " << partitionType(); @@ -486,22 +493,25 @@ void LtsSession::initializeGuiPlugins(const QVector flags = api.m_flags; + QFlags flags = api.m_flags; // copy flags if (api.pluginInstance.pluginName == QStringLiteral("dev")) flags |= LtsAppDescriptor::PluginInfo::Flag::ACTIONS; - ifc->setFlags(flags); - ifc->setOptions(api.m_options); - ifc->setAppId(api.m_appId); + ifc->setFlags(flags); // durchreichen.. raw plugin => plugin instance + ifc->setOptions(api.m_options); // s.a.a. + ifc->setAppId(api.m_appId); // s.a.a. m_guiPluginInterfaces[plugin->pluginName()] = ifc; DEBUG_LOG(m_logger) << "Adding gui plugin " << plugin->pluginName() << " for " << partitionType() << " - " << this; } - - - QMutableMapIterator > it(m_guiPluginInterfaces); + /*/ + * there are all plugin instances in this list + * if fetchInterface of a single plugin failes, that plugin instance will be removed (does not find his obligatory plugin(s) in this list) + * a refetch has to be done, in case some other plugin(s) used that plugin which is now deleted + /*/ + QMutableMapIterator > it(m_guiPluginInterfaces); // modify a list while iterating through it while (it.hasNext()) { const auto val = it.next(); @@ -513,9 +523,9 @@ void LtsSession::initializeGuiPlugins(const QVector payloadIfc = *i; @@ -528,7 +538,7 @@ void LtsSession::initializeGuiPlugins(const QVectorexecutionPriority(); @@ -542,18 +552,18 @@ void LtsSession::initializeGuiPlugins(const QVector has payloads, adding payload request to session"; } } - + //DEBUG_LOG(m_logger) << " > done"; } } QTimer::singleShot(100, this, &LtsSession::slotStartPluginInit); - + //executePayloads(); // does not execute when there are no payloads, but is needed to be called here ! } @@ -567,7 +577,7 @@ LtsTabWidget *LtsSession::locateWidget(QWidget *widgetToLocate, LayoutArea area) if (tabWidget->indexOf(widgetToLocate) >= 0) return tabWidget; - return nullptr; + return nullptr; // not found! } @@ -648,18 +658,18 @@ const QString LtsSession::workspaceId() const { if (isReplayPartition()) return QStringLiteral("replay_%1").arg(QString::number(partitionId())); - return m_workspaceId; + return m_workspaceId;//sessionManager->workspaceId(); } -void LtsSession::setWorkspaceId(const QString &newWorkspaceId ) +void LtsSession::setWorkspaceId(const QString &newWorkspaceId /* <= MW: that's why I like "get" in getter names (needed to prepend "new" because of already existing method with the name "workspaceId") */) { DEBUG_LOG(m_logger) << LOGFUNCTION << " change workspaceId: cur = '" << m_workspaceId << "' for app '" << appToString(app()) << "'"; DEBUG_LOG(m_logger) << LOGFUNCTION << " change workspaceId: new = '" << newWorkspaceId << "' for app '" << appToString(app()) << "'"; - m_workspaceId = newWorkspaceId; + m_workspaceId = newWorkspaceId;//m_sessionManager->setWorkspaceId(workspaceId); if (m_baseLayout) - m_baseLayout->setWorkspaceId(workspaceId() ); + m_baseLayout->setWorkspaceId(workspaceId() /* use getter instead of member var, as replay partition strings can only be retrieved with the getter */); emit workspaceIdChanged(newWorkspaceId); } @@ -673,7 +683,7 @@ ExcState LtsSession::exerciseState() const void LtsSession::connectOnlineHelpButton(LtsWidgets::LtsDialog *widget) { - + // FIXME: HACK: also connect show online help here !! connect(widget, &LtsDialog::signalShowOnlineHelp, this, &LtsSession::slotShowOnlineHelp, Qt::UniqueConnection); @@ -696,9 +706,12 @@ void LtsSession::slotStapleTopicLockHandler(LtsWidgets::LtsDialog *widget) return; } - auto *topicLockHandler = new TopicLockHandler(); - - + auto *topicLockHandler = new TopicLockHandler(/* widget <= see comment below */); + /*/ + * Conceptional: widgets is closing, widget deletes lock handler, lock handler unlocks via ftc, + * lock handler was deleted, ftc answers to already deleted lock handler => crash + * This is a conceptional problem in all the ftc handlers + /*/ if (!topicLockHandler->init(m_coreFtc, m_exerciseId)) { @@ -712,14 +725,14 @@ void LtsSession::slotStapleTopicLockHandler(LtsWidgets::LtsDialog *widget) connect(topicLockHandler, &TopicLockHandler::signalUnlockDialog, widget, &LtsDialog::slotUnlock, Qt::QueuedConnection); connect(widget, &LtsDialog::signalLockTopic, - topicLockHandler, &TopicLockHandler::slotTryLock, Qt::DirectConnection); + topicLockHandler, &TopicLockHandler::slotTryLock, Qt::DirectConnection); // sync! - + //widget->setTopicLockHandler(topicLockHandler); connect(widget, &LtsDialog::destroyed, topicLockHandler, &TopicLockHandler::slotFinalize, Qt::QueuedConnection); - + //qWarning() << "added tlh to" << widget->windowTitle(); connectOnlineHelpButton(widget); @@ -764,7 +777,7 @@ bool LtsSession::widgetExists(const QString &menuGroup, const QString &identifie bool LtsSession::addWidget(LtsDialog *widget, const QString &menuGroup, const QString &identifier, LayoutArea area, bool setClosable) { - + // TODO: operator selection + possibility to permanent select base layout until its dissolving if (!m_baseLayout) { @@ -772,10 +785,10 @@ bool LtsSession::addWidget(LtsDialog *widget, const QString &menuGroup, const QS return false; } - - - - + //slotStapleTopicLockHandler(widget); => already done in blw's addWidget (below!) +// FIXMe: connect(widget, &LtsDialog::signalShowOnlineHelp, +// this, &LtsSession::slotShowOnlineHelp, +// Qt::UniqueConnection); done in slotStaple.. because using LtsDialog::addDialog does NOT reach this code here ! return m_baseLayout->addWidget(widget, menuGroup, identifier, area, setClosable); } @@ -783,12 +796,12 @@ bool LtsSession::addWidget(LtsDialog *widget, const QString &menuGroup, const QS void LtsSession::setExerciseData(const LtsWidgets::ExerciseData &exerciseData) { - + // avoid mutiple calls (and signal to emitted multiple times) if ((*m_exerciseData) == exerciseData) return; *m_exerciseData = exerciseData; - + // partitionType(); ?!? if (!m_baseLayout) return; m_baseLayout->setExerciseData(exerciseData); @@ -804,7 +817,7 @@ const LtsWidgets::ExerciseData *LtsSession::exerciseData() const void LtsSession::setProfilePicture(const QPixmap &pixmap) { - + // partitionType(); ?!? if (!m_baseLayout) return; m_baseLayout->setProfilePicture(pixmap); @@ -814,7 +827,7 @@ void LtsSession::setProfilePicture(const QPixmap &pixmap) void LtsSession::makeVisible() { Q_ASSERT(m_baseLayout == nullptr); - if (m_baseLayout) + if (m_baseLayout) // onyl create a new base layout when there was not one before ! { qCritical() << "base layout already visible"; return; @@ -826,7 +839,7 @@ void LtsSession::makeVisible() void LtsSession::refetchActions() { - + // get actions for (auto i = m_guiPluginInterfaces.cbegin(); i != m_guiPluginInterfaces.cend(); ++i) { std::shared_ptr ifc = *i; @@ -837,7 +850,7 @@ void LtsSession::refetchActions() continue; } - if (m_firstActionsFetch && ifc->getFlags().testFlag(LtsAppDescriptor::PluginInfo::Flag::MAIN) && !ifc->getFlags().testFlag(LtsAppDescriptor::PluginInfo::Flag::ACTIONS)) + if (m_firstActionsFetch && ifc->getFlags().testFlag(LtsAppDescriptor::PluginInfo::Flag::MAIN) && !ifc->getFlags().testFlag(LtsAppDescriptor::PluginInfo::Flag::ACTIONS)) // respect the MAIN flag, even though ACTIONS is not set (main, but NOT actions) [but only if this is NOT a refetch] { ERROR_LOG(m_logger) << "Plugin '" << i.key() << "' has flag 'MAIN' but is missing the 'ACTIONS' flag - ingoring actions!"; continue; @@ -845,17 +858,17 @@ void LtsSession::refetchActions() if (ifc->getFlags().testFlag(LtsAppDescriptor::PluginInfo::Flag::ACTIONS)) { - + // get gui plugin's actions (only when init was successful) const QVector plData = ifc->getActions(); if (plData.isEmpty()) DEBUG_LOG(m_logger) << i.key() << " (" << ifc->menuGroup() << ") does not provide actions"; - + //WARNING_LOG(m_logger) << " > " << plData.count() << " Actions"; for (const LtsWidgets::PluginData &pd : plData) { - if (!pd.menuGroup.isEmpty() && !pd.menuText.isEmpty() && pd.identifier.isEmpty()) + if (!pd.menuGroup.isEmpty() && !pd.menuText.isEmpty() && pd.identifier.isEmpty()) // check if identifier is missing ERROR_LOG(m_logger) << "Identifier for Action " << pd.menuGroup << " - " << pd.menuText << " missing - not added!"; else { @@ -868,7 +881,7 @@ void LtsSession::refetchActions() } else { - + //WARNING_LOG(m_logger) << " > " << plData.count() << " Actions - but ignored by flag"; } } @@ -958,7 +971,7 @@ bool LtsSession::event(QEvent *e) void LtsSession::addDeveloperActions() { - + // DEVELOPER / DEBUG MENU { LtsWidgets::PluginData p; p.menuGroup = QStringLiteral("[Dev]"); @@ -970,7 +983,7 @@ void LtsSession::addDeveloperActions() LtsSession *adminSession = m_sessionManager->getSession(IDL::PartitionType::Global, 0); if (!adminSession) { - + //QMessageBox::information(nullptr, QString(), QStringLiteral("no admin session")); DdsConnectionParams connParams; connParams.domainId = domainId(); connParams.partitionId = 0; @@ -980,7 +993,7 @@ void LtsSession::addDeveloperActions() connParams.qos_file = m_qosFileList; adminSession = m_sessionManager->createSession(connParams, true, - false); + false); // no payloads !! TODO: is this a real domainId or a dead var ?? return; } else @@ -1032,7 +1045,7 @@ void LtsSession::addDeveloperActions() m_baseLayout->addMenuAction(p); } - + // END DEVELOPER / DEBUG MENU } @@ -1047,7 +1060,7 @@ bool LtsSession::notifyUnsavedChanges() void LtsSession::createBaseLayout() { - + //qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); using namespace LtsAppDescriptor; @@ -1057,16 +1070,16 @@ void LtsSession::createBaseLayout() if (m_baseLayout != nullptr) { WARNING_LOG(m_logger) << "Base Layout already exists for Session" << this; - return; + return; // already exists } - m_baseLayout = new LtsBaseLayoutWidget; + m_baseLayout = new LtsBaseLayoutWidget; // main widget connect(m_baseLayout, &LtsBaseLayoutWidget::signalSuccessfullyPlaced, this, [this]() { DEBUG_LOG(m_logger) << "current APP "<app()); - +// qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); if ( this->app() == App::Scripts) { m_scriptEditorTimer->start(); @@ -1075,8 +1088,8 @@ void LtsSession::createBaseLayout() { if (m_needsToBeSuccessfullyPlaced) { - - emit _signalDoneInitializingSession(); +// qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); + emit _signalDoneInitializingSession(); // needs to be emitted here, as if 'm_needsToBeSuccessfullyPlaced' is TRUE, it was not emitted before } } }); @@ -1084,20 +1097,20 @@ void LtsSession::createBaseLayout() connect(m_baseLayout, &LtsBaseLayoutWidget::destroyed, this, [this]() { - m_baseLayout = nullptr; - + m_baseLayout = nullptr; // sec + //qWarning() << "baseLayout deleted"; }); - m_baseLayout->hide(); - m_baseLayout->setSessionInfo(domainId(), partitionType(), partitionId(), workspaceId()); - m_baseLayout->setWindowIcon(appToIcon(app())); + m_baseLayout->hide(); // hide + m_baseLayout->setSessionInfo(domainId(), partitionType(), partitionId(), workspaceId()); // this shd ptr has a different counter .. + m_baseLayout->setWindowIcon(appToIcon(app())); // for the magic corner to have an icon to show for switching to / from secondaries + +// auto *x = new QLabel; +// x->setPixmap(m_baseLayout->windowIcon().pixmap(128, 128)); +// x->show(); - - - - - if (app() == App::ScriptEditorEssentialsView || + if (app() == App::ScriptEditorEssentialsView || // NOTE: timeline's replay app and snapshot's edit plan are secondaries, too - setSecondaryWidget needs to be called from timeline & snapshot app, too m_presetBaseLayoutAsSecondaryWidget) m_baseLayout->setSecondaryWidget(); @@ -1139,22 +1152,22 @@ void LtsSession::createBaseLayout() addDeveloperActions(); - for (LtsNotification::LtsNotificationController *ctl : std::as_const(m_notiCtlList)) + for (LtsNotification::LtsNotificationController *ctl : qAsConst(m_notiCtlList)) { - if (!m_baseLayout->notificationExists(ctl->identifier())) - m_baseLayout->addNotification(ctl->createWidget()); + if (!m_baseLayout->notificationExists(ctl->identifier())) // add if non-existent only + m_baseLayout->addNotification(ctl->createWidget()); // FIXME: crash when no icons? } - m_hasBaseLayout = true; + m_hasBaseLayout = true; // not needed anymore, but for its correctness..... m_baseLayout->getMenu()->setVisible(m_menuVisible); m_baseLayout->initilizationFinished(); - + //QMessageBox::warning(nullptr, QStringLiteral("attach!"), QString()); if (!m_foreverInvisible) { - + // build list of irreplacable widgets by the dependency tree of its dependencies and their dependencies' dependencies QVector irreplacableWidgets {baseLayoutWidget()}; LtsSession *dependencySession = dependency(); int runaway = 100; @@ -1165,10 +1178,10 @@ void LtsSession::createBaseLayout() runaway--; } +// qWarning() << "#2 irreplacableWidgets count" << irreplacableWidgets.count() << "from" << this; - - - +// for (QWidget *w : irreplacableWidgets) +// qWarning() << "irre" << w; @@ -1192,7 +1205,7 @@ void LtsSession::createBaseLayout() if (!sessionData->isTablet()) - return; + return; // done here if not a tablet LtsNotification::LtsNotification *noti = createNotification(QStringLiteral("TabletWindowSwitcher")); @@ -1200,7 +1213,7 @@ void LtsSession::createBaseLayout() noti->setIcon(QIcon(QStringLiteral("icon:switch_display.svg"))); noti->setAction([this]() { - emit taskSwitch(this ); + emit taskSwitch(this /* tell it that we are the caller, don't hide US! */); }); @@ -1241,9 +1254,9 @@ void LtsSession::delayScriptEditorStart() DEBUG_LOG(m_logger)<<"LtsSession::delayScriptEditorStart "; if (m_needsToBeSuccessfullyPlaced) { - + // qWarning() << "delayScriptEditorStart mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); - emit _signalDoneInitializingSession(); + emit _signalDoneInitializingSession(); // needs to be emitted here, as if 'm_needsToBeSuccessfullyPlaced' is TRUE, it was not emitted before } } @@ -1260,30 +1273,30 @@ void LtsSession::doneInitializingSession() { LtsGlobalWaitDialog::getInstance()->done(); - + // qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); if (m_markedForDeletion) { - emit signalInitializationAborted(); - emit signalClose(); + emit signalInitializationAborted(); // to call done() on global wait dialog + emit signalClose(); // session manager removes us from his list and then deletes us return; } - if (!m_sessionManager->isHeadless()) + if (!m_sessionManager->isHeadless()) // disallow base layout creation if app is headless { int sessionCount = m_sessionManager->sessionCount(); - if (!m_hidden && (m_hasBaseLayout || sessionCount < 1)) + if (!m_hidden && (m_hasBaseLayout || sessionCount < 1)) // show base layout if m_hasBaseLayout is true OR IF there is only this session (e.g. Payloads have not started any sessions) makeVisible(); - - - - - +// if (!m_hasBaseLayout) // delete session if it's useless & empty +// { +// emit signalClose(); +// return; +// } } - +// qWarning() << "emit signalDoneInitializingSession();"; if (!createTopicClient(m_coreFtc)) WARNING_LOG(m_logger) << "could not create core ftc - no tlh"; @@ -1293,16 +1306,16 @@ void LtsSession::doneInitializingSession() WARNING_LOG(m_logger) << "no ovh ifc, no Help-Button !"; INFO_LOG(m_logger) << "emit signalDoneInitializingSession, session=" << this; - - - if (!m_needsToBeSuccessfullyPlaced || m_sessionManager->isHeadless() || !m_hasBaseLayout) +// qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); +// qWarning() << !m_needsToBeSuccessfullyPlaced << m_sessionManager->isHeadless() << !m_hasBaseLayout; + if (!m_needsToBeSuccessfullyPlaced || m_sessionManager->isHeadless() || !m_hasBaseLayout) // can't be placed if without something to show .. :) { - - + // qWarning() << "mep" << QStringLiteral("%1:%2").arg(QString::fromUtf8(__FILE__).split(QStringLiteral("/")).last()).arg(__LINE__); + // qWarning() << "!! headless !"; emit _signalDoneInitializingSession(); } - + //qWarning() << "not headless !"; } @@ -1310,7 +1323,7 @@ void LtsSession::slotShowOnlineHelp(const QString &fileName) { if (m_ohvIfc == nullptr) { - LtsWidgets::LtsMessageDialog::showMessage(baseLayout() , tr("Online Help not available.")); + LtsWidgets::LtsMessageDialog::showMessage(baseLayout() /* can be 0ptr */, tr("Online Help not available.")); return; } @@ -1333,7 +1346,7 @@ void LtsSession::slotShowOperatorSettings() if (showOperatorSettingsDlg != nullptr) { addWidget(showOperatorSettingsDlg, pd.menuGroup, pd.identifier, pd.layoutArea, pd.closable); - + //qWarning() << "showing operator settings"; } else WARNING_LOG(m_logger) << "could not create operator settings dialog from action"; @@ -1348,26 +1361,26 @@ void LtsSession::slotShowOperatorSettings() void LtsSession::slotStartPluginInit() { - m_initializeThesePlugins = m_guiPluginInterfaces; + m_initializeThesePlugins = m_guiPluginInterfaces; // copy slotPluginInitDone(); } -void LtsSession::slotPluginInitDone() +void LtsSession::slotPluginInitDone() // NEVER call this directly, queue a signal to this slot ! { - + //qWarning() << "LtsSession::slotPluginInitDone: sender" << sender(); if (m_pluginInitDone) return; if (m_slotPluginInitDoneMutex) { - - + //qWarning() << "<< never call slotPluginInitDone directly or after all initialization was done! bad sender was" << sender(); + //abort(); return; } - m_slotPluginInitDoneMutex = true; + m_slotPluginInitDoneMutex = true; // lock GuiPluginBase::Interface *theSender = dynamic_cast(sender()); @@ -1377,24 +1390,24 @@ void LtsSession::slotPluginInitDone() #ifdef LTS_DEBUG WARNING_LOG(m_logger) << "current init ifc: " << m_currentInitIfc << ", sender: " << sender(); #endif - m_slotPluginInitDoneMutex = false; + m_slotPluginInitDoneMutex = false; // unlock return; } - + //qWarning() << "currently initializing ifc"<availableInPartition(partitionType())) { m_currentInitIfc = ifc.get(); - + //qWarning() << "set m_currentInitIfc to" << m_currentInitIfc; - + //qWarning() << "initializing" << i.key() << (void *)ifc.get(); ifc->init(); - if (!ifc->m_hasInit) + if (!ifc->m_hasInit) // workaround for ifcs without init method (which needs quitting by signals) { - + //qWarning() << "resetting m_currentInitIfc to nullptr"; m_currentInitIfc = nullptr; QTimer::singleShot(0, this, &LtsSession::slotPluginInitDone); } } - else + else // do not initialize plugins that are not available in partition x { m_currentInitIfc = nullptr; QTimer::singleShot(0, this, &LtsSession::slotPluginInitDone); @@ -1423,38 +1436,39 @@ void LtsSession::slotPluginInitDone() m_initializeThesePlugins.erase(i); - m_slotPluginInitDoneMutex = false; + m_slotPluginInitDoneMutex = false; // unlock } void LtsSession::slotExecuteNextPayload() { - LtsWidgets::LtsGlobalWaitDialog::getInstance()->wait(); + LtsWidgets::LtsGlobalWaitDialog::getInstance()->wait(); // show wait dialog again - + /* there is currently a problem when executing a secondary event loop, + * which leads to resending already sent signals, as they might not be + * marked as executed by Qt itself. So this is a workaround.. */ +// if (m_ignoreSignalInLoop) +// return; +// m_ignoreSignalInLoop = true; - - - - - - auto it1 = m_payloadPriorityMap.begin(); + // execute in order + auto it1 = m_payloadPriorityMap.begin(); // largest key (see qt doc) if (it1 != m_payloadPriorityMap.end()) { std::shared_ptr ifc = (*it1); - m_payloadPriorityMap.erase(it1); + m_payloadPriorityMap.erase(it1); // delete first, as executePayload can be stuck here when the connection is not queued ! DEBUG_LOG(m_logger) << "Executing priorized Payload in Partition " << partitionId() << ", Type " << partitionType(); - LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); + LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); // don't interrupt payload uis with the wait dialog if (m_blub) { m_blub->stop(); m_blub->deleteLater(); - + // qWarning() << "killing blub"; } m_blub = new QTimer(this); m_blub2 = 0; @@ -1462,38 +1476,38 @@ void LtsSession::slotExecuteNextPayload() connect(m_blub, &QObject::destroyed, this, [name]() { - + // qWarning() << "prio-payload for" << name << "DESTROYED!!!!"; }); connect(m_blub, &QTimer::timeout, this, [this, name]() { m_blub2++; - + // qWarning() << "prio-payload for" << name << "running since" << m_blub2 << "seconds"; }); m_blub->start(1000); ifc->executePayload(m_mainBackground); } - else + else // no priority payloads left, check for unpriorized payloads { auto it2 = m_payloadList.begin(); if (it2 != m_payloadList.end()) { std::shared_ptr ifc = (*it2); - m_payloadList.erase(it2); + m_payloadList.erase(it2); // delete first, as executePayload can be stuck here when the connection is not queued ! DEBUG_LOG(m_logger) << "Executing unpriorized Payload in Partition " << partitionId() << ", Type " << partitionType(); - LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); + LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); // don't interrupt payload uis with the wait dialog if (m_blub) { m_blub->stop(); m_blub->deleteLater(); - + // qWarning() << "killing blub"; } m_blub = new QTimer(this); m_blub2 = 0; @@ -1501,66 +1515,66 @@ void LtsSession::slotExecuteNextPayload() connect(m_blub, &QObject::destroyed, this, [name]() { - + // qWarning() << "prio-payload for" << name << "DESTROYED!!!!"; }); connect(m_blub, &QTimer::timeout, this, [this, name]() { m_blub2++; - + // qWarning() << "prio-payload for" << name << "running since" << m_blub2 << "seconds"; }); m_blub->start(1000); ifc->executePayload(m_mainBackground); } - else + else // no payloads left, delete background widget(s) and say that all plugins have been loaded { Q_ASSERT(m_payloadsDone == false); m_payloadsDone = true; - m_mainBackground = nullptr; + m_mainBackground = nullptr; // as it was parented to m_hiddenWidget if (m_blub) { m_blub->stop(); m_blub->deleteLater(); - + // qWarning() << "killing blub - no payloads left"; m_blub = nullptr; } - + // qWarning() << "no payloads left"; doneInitializingSession(); } } - + //m_ignoreSignalInLoop = false; // executing payload is done, clear the ignore-flag } void LtsSession::executePayloads() { - + // look for gui plugins (needed to get execution priority and run payloads) if (!m_payloadPriorityMap.isEmpty() || !m_payloadList.isEmpty()) { - + //DEBUG_LOG(m_logger) << m_payloadPriorityMap.count() << " priorized payload(s), " << m_payloadList.count() << " unpriorized payload(s) - " << m_payloadPriorityMap.count() + m_payloadList.count() << " total."; - - LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); + //QMetaObject::invokeMethod(this, &LtsSession::slotExecuteNextPayload); + LtsWidgets::LtsGlobalWaitDialog::getInstance()->done(); // ugly workaround: as the next method says wait even if we call it the first time (LtsSession c_tor called wait already) slotExecuteNextPayload(); } else { - + // qWarning() << "this session has no payloads assigned!!"; DEBUG_LOG(m_logger) << "no payloads"; if (partitionType() == IDL::PartitionType::Global) { - m_hasBaseLayout = true; + m_hasBaseLayout = true; // admin session has no payloads, so show base layout, otherwise there is nothing to show.. } doneInitializingSession(); @@ -1573,7 +1587,7 @@ void LtsSession::clearDataPluginInterfaces() QMap> weakDataPluginInterfaces; for (auto i = m_dataPluginInterfaces.cbegin(); i != m_dataPluginInterfaces.cend(); ++i) { - + //i.value()->clearInterfaces(); weakDataPluginInterfaces.insert(i.key(), i.value()); } @@ -1581,7 +1595,7 @@ void LtsSession::clearDataPluginInterfaces() m_dataPluginInterfaces.clear(); #ifdef LTS_DEBUG - + // in global plugins somehow are not unloaded if (partitionType() != IDL::PartitionType::Global) { for (auto i = weakDataPluginInterfaces.cbegin(); i != weakDataPluginInterfaces.cend(); ++i) @@ -1624,7 +1638,7 @@ void LtsSession::clearGuiPluginInterfaces() m_guiPluginInterfaces.clear(); #ifdef LTS_DEBUG - + // in global plugins somehow are not unloaded if (partitionType() != IDL::PartitionType::Global) { for (auto i = weakGuiPluginInterfaces.cbegin(); i != weakGuiPluginInterfaces.cend(); ++i) @@ -1647,4 +1661,4 @@ LtsSessionManager *LtsSession::getSessionManager() return m_sessionManager; } -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.h index a611d6dfc..ac268e8a6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session.h @@ -1,15 +1,21 @@ - - +/** + * @RDE_HEADER@ + * Keeps the DDS Connector and common data about the session + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-05-15 + */ #pragma once -#include #include "lts_session_data_dds.h" #include "lts_session_manager.h" -#include "ltssession_export.h" +#include #include -#include +#include // for connections #include #include @@ -72,7 +78,7 @@ public: { UNKNOWN = 0, LOADED, - FAILED, + FAILED, // e.g. fetchInterfaces gone wrong }; static QString appToString(LtsAppDescriptor::App app); @@ -93,13 +99,18 @@ public: const QVector &dataPluginList, const QVector &guiPluginList); void makeVisible(); - void setPayloadsEnabled() { m_payloads = true; } + void setPayloadsEnabled() { m_payloads = true; } // cannot be reverted void aboutToClose(); bool isInitializationDone() const { return m_initDone; } void presetBaseLayoutAsSecondaryWidget() { m_presetBaseLayoutAsSecondaryWidget = true; } - - + /** + * @brief addAction - IMPORTANT: Actions have to be translated on retranslate by adding the same action (with same identifier) + * but with translated text & menu group! This replaces the text & menu group only. The pointer to the action stays the same. + * @param plData + * @param isFirstRun + * @return + */ LtsWidgets::LtsDragIcon *addAction(const LtsWidgets::PluginData &plData, bool isFirstRun = false); void setMenuVisible(bool visible = true); bool removeMenuAction(LtsWidgets::LtsDragIcon *icon); @@ -113,29 +124,38 @@ public: LtsNotification::LtsNotification *createNotification(const QString &identifier); - - + /** + * @brief setExerciseData is called by the ExerciseManagement plugin and sets the human reabale name of the exercise and puts the text into all base layouts of this session + * @param exerciseData the human reable exercise name of the current exercise + */ void setExerciseData(const LtsWidgets::ExerciseData &exerciseData); const LtsWidgets::ExerciseData *exerciseData() const; void setProfilePicture(const QPixmap &pixmap); - void setBaseLayoutVisible() { m_hasBaseLayout = true; } + void setBaseLayoutVisible() { m_hasBaseLayout = true; } // cannot be reverted after base layout was created (creation begins after all payloads have been executed OR if makeVisible was called)! bool isVisible() const { return (m_baseLayout != nullptr); } const QString &name() const { return m_name; } void setName(const QString &name) { m_name = name; } - - + /** + * @brief isChildOfSession can be used to check if a fiven QWidget is part of the current Session's application + * + * @param child widget to check against. + * @return true if widget is child of session baselayout + */ bool isChildOfSession(QWidget* child); LtsWidgets::LtsBaseLayoutWidget* baseLayout() { return m_baseLayout; } - QWidget *baseLayoutWidget(); - void setMarkForDeletion() { m_markedForDeletion = true; } - void doneInitializingSession(); - bool notifyUnsavedChanges(); + QWidget *baseLayoutWidget(); // prevents some classes to include LtsBaseLayoutWidget.h just to specify the blw as a parent widget + void setMarkForDeletion() { m_markedForDeletion = true; } // session not needed anymore after payloads? then mark for deletion and after payloads, this session will be deleted(Later) + void doneInitializingSession(); // TODO: private + bool notifyUnsavedChanges(); // true if NO unsaved changes const QVector &bgWidgets() const { return m_bgWidgets; } - + // checks if a widget with the given data already exists bool widgetExists(const QString &menuGroup, const QString &identifier, LtsWidgets::LayoutArea area) const; - - + /** + * @brief addWidget + * keep identifier empty to prevent checking for existing tabs + * @return (see addWidget in LtsBaseLayoutWidget) + */ bool addWidget(LtsWidgets::LtsDialog *widget, const QString &menuGroup, const QString &identifier, @@ -145,29 +165,42 @@ public: LtsWidgets::LtsDialog *getWidget(const QString &menuGroup, const QString &identifier, LtsWidgets::LayoutArea area); bool focusTab(const QString &menuGroup, const QString &identifier, LtsWidgets::LayoutArea area); - - + /** WARNING: do not save the returned value, as baseLayouts can die (which kills LtsTabWidget also), so reuse this method instead of saving the pointer to the LtsTabWidget + * @brief locateWidget locates the given widget 'widget' and returning the TabWidget on which it is on - widgets can be available in one of many LayoutAreas (TabWidgets) of many LtsBaseLayoutWidgets + * @param widgetToLocate the widget to look for in the given layoutArea which is located in one of many LtsBaseLayoutWidget + * @param area the area the widget is located + * @return LtsTabWidget on which the widget is located + */ LtsWidgets::LtsTabWidget *locateWidget(QWidget *widgetToLocate, LtsWidgets::LayoutArea area); - - + /** + * @brief enable/disable baseLayout menu + * @param on if true enable otherwise disable + */ void enableBaseLayoutMenu(bool on = true); - - + /** + * @brief enable/disable LayoutArea + * @param area the area to enable/disable + * @param on if true enable otherwise disable + */ void enableBaseLayoutArea(LtsWidgets::LayoutArea area, bool on = true); - + /** + * @brief Return the workstation ip for this workstation (== full ipv4 adress) - workstation id comes later from Asm + */ + static int workstationIp(); // really in LtsSession? + /** + * @brief Return the workstation name + */ + static QString workstationName(); // really in LtsSession? - static int workstationIp(); - - - static QString workstationName(); - - - - QVector &missingRightActions() { return m_missingRightActions; } + /** + * @brief missingRightActions Do not use. + * @return + */ + /*const*/ QVector &missingRightActions() /*const*/ { return m_missingRightActions; } void setSavegame(const QJsonObject &sg) { m_savegame = sg; } const QJsonObject &getSavegame() const { return m_savegame; } @@ -182,21 +215,21 @@ public: void setLoadedFromSavegame() { m_loadedFromSavegame = true; } bool isLoadedFromSavegame() const { return m_loadedFromSavegame; } void addDeveloperActions(); - void refetchActions(); + void refetchActions(); // Do not use. void setDependency(LtsSession *session); bool hasDependency(LtsSession *session) { return (m_dependency.data() == session); } LtsSession *dependency() const { return m_dependency; } - - void setNeedsToBeSuccessfullyPlaced(bool needed = true) { m_needsToBeSuccessfullyPlaced = needed; } + // bogus. + void setNeedsToBeSuccessfullyPlaced(bool needed = true) { m_needsToBeSuccessfullyPlaced = needed; } // works even after session creation as 'slotStartPluginInit', which finalizes the session (creates blw, etc.) is called async! int id() const { return m_id; } public slots: - void slotExecuteNextPayload(); - void slotPluginInitDone(); + void slotExecuteNextPayload(); // NEVER call this directly, queue a signal to this slot ! + void slotPluginInitDone(); // NEVER call this directly, queue a signal to this slot ! void slotShowOnlineHelp(const QString &fileName); - + //void takeOverBdv(); private slots: void slotShowOperatorSettings(); @@ -209,11 +242,11 @@ private slots: signals: void signalInitializationAborted(); - void _signalDoneInitializingSession(); - void signalDoneInitializingSession(); - void signalClose(); + void _signalDoneInitializingSession(); // internal + void signalDoneInitializingSession(); // is called AFTER all payloads have been executed (on no payloads, called after session was created) FOR LTSLOGIN ! + void signalClose(); // tells the session manager to close this session void signalLogout(); - void signalQuit(); + void signalQuit(); // for payloads, so that they can quit an app void signalStillAlive(); void signalExerciseDataChanged(); void signalScreenIdChanged(int screenId, int screenContainerId, int screenTypeId); @@ -238,49 +271,49 @@ private: void clearGuiPluginInterfaces(); void executePayloads(); void connectOnlineHelpButton(LtsWidgets::LtsDialog *widget); - + // TODO: AFTER FAT !! void stapleWidget(LtsWidgets::LtsDialog *dialog); // FIXME: HACK: because an LtsDialog can directly add widgets to the base layout and misses the staples... void aboutToCloseTab(LtsWidgets::LayoutArea area); QPointer m_sessionManager; - QMap > m_payloadPriorityMap; - QList > m_payloadList; + QMap > m_payloadPriorityMap; // QMap automatically sorts by key on iteration and overwrites multiple occurences with the latest) + QList > m_payloadList; // for payloads that don't care when they are executed (prio '9999' plugins) LtsWidgets::LtsBackgroundWidget *m_mainBackground; bool m_hasBaseLayout; LtsWidgets::LtsBaseLayoutWidget *m_baseLayout; bool m_markedForDeletion; bool m_payloads; QVector m_notiCtlList; - bool m_initDone; - bool m_payloadsDone { false }; + bool m_initDone; // set by doneInitializingSession / signalDoneInitializingSession + bool m_payloadsDone { false }; // for debug bool m_menuVisible; - + //bool m_ignoreSignalInLoop = false; bool m_firstActionsFetch; LtsWidgets::ExerciseData *m_exerciseData; QVector m_missingRightActions; std::shared_ptr m_coreFtc; - GuiPluginBase::Interface *m_currentInitIfc; + GuiPluginBase::Interface *m_currentInitIfc; // not owning bool m_slotPluginInitDoneMutex; - bool m_pluginInitDone; + bool m_pluginInitDone; // set by slotPluginInitDone QJsonObject m_savegame; - bool m_hidden; + bool m_hidden; // if true, does not create BLW int m_screenId { -1 }; int m_screenContainerId { -1 }; int m_screenIdPreset { -1 }; int m_screenContainerIdPreset { -1 }; bool m_loadedFromSavegame; std::shared_ptr m_ohvIfc; - bool m_foreverInvisible; + bool m_foreverInvisible; // if true, creates BLW but hides it and does not use MMM QStringList m_failedFetches; QVector m_bgWidgets; QString m_workspaceId; - bool m_needsToBeSuccessfullyPlaced { true }; + bool m_needsToBeSuccessfullyPlaced { true /* ALWAYS! */ /*false*/ }; // if set to true, 'signalDoneInitializingSession' will only be called after the blw was successfully placed by MMM (even works if MMM inavtive (off)) QString m_name; QTimer *m_blub { nullptr }; QTimer *m_scriptEditorTimer { nullptr }; int m_blub2; - QPointer m_dependency; + QPointer m_dependency; // when MMM iprovides the screen selection for this app, it isn't allowed to replace apps that are dependencies of this app (e.g. logout bug) bool m_presetBaseLayoutAsSecondaryWidget { false }; int m_id; }; -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.cpp index 1c8621467..69f91ac17 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.cpp @@ -24,7 +24,7 @@ LtsSessionData::LtsSessionData() , m_isTablet(false) , m_placeScriptScreens(false) { - + //setAsTablet(true); // IMPORTANT: if you want to set this to true for testing, you have to set TABLET_MODE cmake flag to true, otherwise this will crash setAsTablet(false); clear(); @@ -50,9 +50,9 @@ void LtsSessionData::loggedOut() void LtsSessionData::removePresets() { - + //m_domainIdPreset = -1; keep domain ID ! m_partitionIdPreset = -1; - m_partitionTypePreset = IDL::PartitionType::Any; + m_partitionTypePreset = IDL::PartitionType::Any; // FIXME: make invalid !? m_operatorNamePreset.clear(); m_passwordPreset.clear(); @@ -101,7 +101,7 @@ const QVector LtsSessionData::getVisibleParties(int exerciseId) const void LtsSessionData::setAsTablet(bool isTablet) { m_isTablet = isTablet; - + //m_debugFlags.insert(QStringLiteral("isTablet"), isTablet); } -} +} // namespace LtsSessionData diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.h index 78d00e7e7..a68b140db 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data.h @@ -1,7 +1,7 @@ #pragma once -#include "ltssessiondata_export.h" -#include +#include +#include #include #include @@ -27,7 +27,7 @@ class LTSSESSIONDATA_EXPORT LtsSessionData public: static LtsSessionData *getInstance(); - + // Presets: const QString &getOperatorNamePreset() const { return m_operatorNamePreset; } const QString &getPasswordPreset() const { return m_passwordPreset; } void setOperatorPreset(const QString &operatorName, const QString &password) { m_operatorNamePreset = operatorName; m_passwordPreset = password; } @@ -42,12 +42,13 @@ public: IDL::PartitionType getPartitionTypePreset() const { return m_partitionTypePreset; } void setPartitionPreset(const int partitionId, IDL::PartitionType partitionType) { m_partitionIdPreset = partitionId; m_partitionTypePreset = partitionType; } - - + /** + * @brief removePresets IMPORTANT: call removePresets after using a Preset, otherwise other apps / sessions will pick these old Presets up.. + */ void removePresets(); - + // Other: int getScriptId() const { return m_scriptId; } void setScriptId(int scriptId) { m_scriptId = scriptId; } @@ -58,7 +59,7 @@ public: void setOperatorName(const QString &operatorName) { m_operatorName = operatorName; } const QSet &getOperatorRights() const { return m_operatorRights; } - void setOperatorRights(const QSet &operatorRights) { m_operatorRights = operatorRights; } + void setOperatorRights(const QSet &operatorRights) { m_operatorRights = operatorRights; } // Todo: Emit newOperatorRights() if changed? bool hasOperatorRight(int operatorRight) const; const QPixmap &getProfilePicture() const { return m_profilePicture; } @@ -101,7 +102,7 @@ private: ~LtsSessionData() = default; friend struct LtsSessionDataHandler; - + // Presets to skip some Payloads QString m_operatorNamePreset; QString m_passwordPreset; QStringList m_qosFile; @@ -130,4 +131,4 @@ static inline bool hasOperatorRight(int operatorRight) return instance->hasOperatorRight(operatorRight); } -} +} // namespace LtsSessionData diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.cpp index 4a6c2541b..5efd38ce2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds.cpp @@ -1,5 +1,12 @@ - - +/** + * @RDE_HEADER@ + * DDS specific parts for a session + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Christian Ehrlicher, SLSE, 2017-02-27 + */ #include "lts_session_data_dds.h" #include @@ -12,12 +19,15 @@ namespace LtsSession { +/** + * We have to make sure that only one DdsConnector for a specific domain/partion/tye/connStr + * exists because we don't want to have more than one DomainParticipant and Publisher/Subscriber + * per domain/partion/tye/connStr. Therefore this ugly-looking key + */ - - - - - +// +// DdsConnectionContainer +// class DdsConnectionContainer { struct DdsConnection : public DdsConnectionParams @@ -42,7 +52,7 @@ public: auto ret = conn.ddsConnector.lock(); if (ret != nullptr) return ret; - + // ddsConnector is a nullptr -> useless -> remove ddsConnections.removeAt(i); } Q_ASSERT(false); @@ -59,7 +69,7 @@ public: auto ret = conn.ddsConnector.lock(); if (ret != nullptr) return ret; - + // ddsConnector is a nullptr -> useless -> remove ddsConnections.removeAt(i); } return std::shared_ptr(); @@ -75,7 +85,7 @@ public: auto ret = conn.ddsConnector.lock(); if (ret != nullptr) return ret->getDomainParticipant(); - + // ddsConnector is a nullptr -> useless -> remove ddsConnections.removeAt(i); } return nullptr; @@ -173,9 +183,9 @@ Q_GLOBAL_STATIC(DataPluginContainer, s_dataPlugins) - - - +// +// LtsSessionDataDds +// LtsSessionDataDds::LtsSessionDataDds(QObject *parent) : QObject(parent) , m_exerciseId(-1) @@ -201,7 +211,7 @@ bool LtsSessionDataDds::init(const DdsConnectionParams &connParams) m_qosFileList = QStringList(connParams.qos_file); if (m_ddsConnector == nullptr) { - + // maybe we can at least find a useful DomainParticipant? dds::domain::DomainParticipant dp = s_ddsConnections->findMatchingDomainParticipant(connParams); if (dp != nullptr) return init(dp, connParams); @@ -214,7 +224,7 @@ bool LtsSessionDataDds::init(const DdsConnectionParams &connParams) m_ddsConnector = std::make_shared(connParams.domainId, connParams.partitionType, connParams.partitionId, - connParams.exerciseId, + connParams.exerciseId, //same as partition Id in live but not in replay type); s_ddsConnections()->insertConnection(connParams, m_ddsConnector); } @@ -341,7 +351,7 @@ bool LtsSessionDataDds::initInternal() { if (!m_ddsConnector || !m_ddsConnector->init(m_qosFileList)) { - ERROR_LOG() << "DDS connector could not be initialized - session aborted!"; + ERROR_LOG(m_logger) << "DDS connector could not be initialized - session aborted!"; m_ddsConnector = nullptr; return false; } @@ -386,4 +396,4 @@ void LtsSessionDataDds::addAvailablaeDataPluginInterfaces(const QMap #include #include #include #include - +//#include #include -#include -#include "ltssessiondatadds_export.h" +#include +#include +#else +// Stub implementation when BUILD_RTI=OFF +#include "lts_session_data_dds_stub.h" +#endif + +#ifdef BUILD_RTI namespace DataPluginBase { class Interface; } @@ -83,12 +98,12 @@ struct DdsConnectionParams class Fetcher; -class LTSSESSIONDATADDS_EXPORT LtsSessionDataDds +class LTSSESSIONDATADDS_EXPORT LtsSessionDataDds /* FIXME: Name ist irrefuehrend. "LtsSessionData" hat mit "LtsSessionDataDds" nichts zu tun, klingen aber fast identisch. */ : public QObject { Q_OBJECT protected: - + // only used from LtsSession, no direct instantiation explicit LtsSessionDataDds(QObject *parent = nullptr); public: ~LtsSessionDataDds(); @@ -115,7 +130,7 @@ public: qint64 partitionTime() const { return m_curMSecSinceEpoch; } - + // retrieve DTC/FTC inside DataPlugin::createDataInterface() template bool createTopicClient(std::shared_ptr &member, bool bEnableAll = false, bool bGlobal = false) { @@ -123,7 +138,7 @@ public: if ( bEnableAll && !member->enableAll()) { member = nullptr; - ERROR_LOG() << "Error initializing dtc/ftc for service " << T::identifier(); + ERROR_LOG(m_logger) << "Error initializing dtc/ftc for service " << T::identifier(); return false; } return true; @@ -138,7 +153,7 @@ public: { dtc = nullptr; ftc = nullptr; - ERROR_LOG() << "Error initializing dtc/ftc for service " << T::identifier(); + ERROR_LOG(m_logger) << "Error initializing dtc/ftc for service " << T::identifier(); return false; } return true; @@ -157,12 +172,12 @@ public: } } val.reset(); - DEBUG_LOG() << "Trying to load dtc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" + DEBUG_LOG(m_logger) << "Trying to load dtc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" << ", m_dataPluginInterfaces.size() = " << m_dataPluginInterfaces.size() << " - " << this; return false; } - + // TODO: merge with getDtc() --> std::is_same, std::enable_if template bool getFtc(std::shared_ptr &val) const { @@ -176,17 +191,17 @@ public: } } val.reset(); - DEBUG_LOG() << "Trying to load ftc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" + DEBUG_LOG(m_logger) << "Trying to load ftc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" << ", m_dataPluginInterfaces.size() = " << m_dataPluginInterfaces.size() << " - " << this; return false; } - + // TODO: merge with getDtc() --> std::is_same, std::enable_if template bool getForeignDataInterface(std::shared_ptr &val) const { - + //qWarning() << "getForeignDataInterface is deprecated! get the plugin's dtc/ftc directly with getDtc or getFtc!"; for (const auto &i : m_dataPluginInterfaces) { @@ -198,34 +213,34 @@ public: } } val.reset(); - DEBUG_LOG() << "Trying to load foreign data ifc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" + DEBUG_LOG(m_logger) << "Trying to load foreign data ifc " << typeid(T).name() << " - " << typeid(S).name() << " failed!" << ", m_dataPluginInterfaces.size() = " << m_dataPluginInterfaces.size() << " - " << this; return false; } - - - - - template - bool getForeignDataInterface_NEW(std::shared_ptr &val) const - { - - - for (const auto &i : m_dataPluginInterfaces) - { - val = std::dynamic_pointer_cast(i); - if (val) - return true; - } - val.reset(); - DEBUG_LOG() << "Trying to load foreign data ifc " << typeid(S).name() << " failed!" - << ", m_guiPluginInterfaces.size() = " << m_guiPluginInterfaces.size() << " - " << this; - return false; - } - - + /* MWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMW */ + /* MW DEPRECATED - DO NOT USE IN NEW IMPLEMENTATIONS - CAN BE REMOVED AT ANY TIME WITHOUT WARNING ! MW */ + /* MWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMW */ + /* MW */ /* MW */ + /* MW */ template /* MW */ + /* MW */ bool getForeignDataInterface_NEW(std::shared_ptr &val) const /* MW */ + /* MW */ { /* MW */ + /* MW */ //qWarning() << "getForeignDataInterface is deprecated! get the plugin's dtc/ftc directly with getDtc or getFtc!"; /* MW */ + /* MW */ /* MW */ + /* MW */ for (const auto &i : m_dataPluginInterfaces) /* MW */ + /* MW */ { /* MW */ + /* MW */ val = std::dynamic_pointer_cast(i); /* MW */ + /* MW */ if (val) /* MW */ + /* MW */ return true; /* MW */ + /* MW */ } /* MW */ + /* MW */ val.reset(); /* MW */ + /* MW */ DEBUG_LOG(m_logger) << "Trying to load foreign data ifc " << typeid(S).name() << " failed!" /* MW */ + /* MW */ << ", m_guiPluginInterfaces.size() = " << m_guiPluginInterfaces.size() << " - " << this; /* MW */ + /* MW */ return false; /* MW */ + /* MW */ } /* MW */ + /* MW */ /* MW */ + /* MWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMW */ template @@ -238,14 +253,14 @@ public: return true; } val.reset(); - DEBUG_LOG() << "Cannot find foreign gui ifc " << typeid(S).name() << " in " << toString(); + DEBUG_LOG(m_logger) << "Cannot find foreign gui ifc " << typeid(S).name() << " in " << toString(); return false; } template - bool interfaceFromGui(std::shared_ptr &val) const + bool interfaceFromGui(std::shared_ptr &val) const // for generic gui interfaces { for (const auto &i : m_guiPluginInterfaces) { @@ -254,7 +269,7 @@ public: return true; } val.reset(); - DEBUG_LOG() << "Trying to load foreign gui ifc #2 " << typeid(S).name() << " failed!" + DEBUG_LOG(m_logger) << "Trying to load foreign gui ifc #2 " << typeid(S).name() << " failed!" << ", m_guiPluginInterfaces.size() = " << m_guiPluginInterfaces.size() << " - " << this; return false; } @@ -285,6 +300,7 @@ protected: QMap> m_initializeThesePlugins; Fetcher *m_fetcher; QStringList m_qosFileList; + NGL::INGLLogger &m_logger; }; @@ -305,12 +321,13 @@ public: bool m_errors; QString m_caller; QString m_whatWillNotWork; + NGL::INGLLogger &m_logger; bool m_optional; QString m_resultType; QString m_getterFunctionType; template - void getForeignGuiInterface(std::shared_ptr &foreignGuiInterface, const QString &whatWillNotWork , bool optional) + void getForeignGuiInterface(std::shared_ptr &foreignGuiInterface, const QString &whatWillNotWork /* only fill if optional */, bool optional) { if (!m_sessionDataDds->getForeignGuiInterface(foreignGuiInterface)) { @@ -335,13 +352,15 @@ public: if (m_optional) { - INFO_LOG() << msg.arg(m_caller, m_resultType, m_sessionDataDds->toString(), QStringLiteral("' - optional but %1 will not work").arg(m_whatWillNotWork)); + INFO_LOG(m_logger) << msg.arg(m_caller, m_resultType, m_sessionDataDds->toString(), QStringLiteral("' - optional but %1 will not work").arg(m_whatWillNotWork)); } - else + else // critical { - ERROR_LOG() << msg.arg(m_caller, m_resultType, m_sessionDataDds->toString(), QStringLiteral(" which is required")); + ERROR_LOG(m_logger) << msg.arg(m_caller, m_resultType, m_sessionDataDds->toString(), QStringLiteral(" which is required")); } } }; -} +} // namespace LtsSession + +#endif // BUILD_RTI diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h new file mode 100644 index 000000000..fc96665e0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_data_dds_stub.h @@ -0,0 +1,82 @@ +/** + * @RDE_HEADER@ + * Stub header for lts_session_data_dds.h when BUILD_RTI=OFF + * Provides minimal declarations to allow compilation without RTI Connext DDS + */ + +#pragma once + +#include +#include +#include +#include +#include +#include + +namespace LtsSession +{ + +// Stub DdsConnectionParams - minimal version without DDS dependencies +struct DdsConnectionParams +{ + int domainId = -1; + int partitionId = 0; + int exerciseId = 0; + QUrl tcpConnectionUrl; + QStringList qos_file; + + DdsConnectionParams() = default; + + bool isValid() const { return false; } // Always invalid without DDS + bool hasSameDomainParams(const DdsConnectionParams &) const { return false; } + bool operator==(const DdsConnectionParams &) const { return false; } + bool operator!=(const DdsConnectionParams &) const { return true; } + bool operator<(const DdsConnectionParams &) const { return false; } +}; + +// Forward declare internal classes +namespace DDSConnector { class DdsConnector; } +namespace DataPluginBase { class Interface; } +namespace GuiPluginBase { class Interface; } + +// Stub LtsSessionDataDds class - minimal version without DDS functionality +class LtsSessionDataDds : public QObject +{ + Q_OBJECT +public: + explicit LtsSessionDataDds(QObject *parent = nullptr) : QObject(parent) {} + ~LtsSessionDataDds() override = default; + + bool init(const DdsConnectionParams &) { return false; } + + std::shared_ptr ddsConnector() { return nullptr; } + std::shared_ptr ddsConnectorGlobal() { return nullptr; } + int domainId() const { return -1; } + int exerciseId() const { return -1; } + int partitionId() const { return -1; } + QStringList qosFile() const { return QStringList(); } + QString toString() const { return QStringLiteral("LtsSessionDataDds(stub)"); } + + QUrl tcpConnectionUrl() const { return QUrl(); } + DdsConnectionParams connParams() const { return DdsConnectionParams(); } + + qint64 partitionTime() const { return 0; } + +signals: + void partitionTimeChanged(qint64); + void partitionTimeChangedInternal(); +}; + +// Stub Fetcher class +class Fetcher +{ +public: + Fetcher(LtsSessionDataDds *, const QString &) {} + + template + void getForeignGuiInterface(std::shared_ptr &, const QString &, bool) {} + + bool status() const { return false; } +}; + +} // namespace LtsSession \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.cpp index f5e824279..cbd573859 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.cpp @@ -15,42 +15,42 @@ TopicLockHandler::TopicLockHandler() : QObject() , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("LtsSession.TopicLockHandler")) { - TRACE_LOG() << Q_FUNC_INFO << " START"; - TRACE_LOG() << Q_FUNC_INFO << " END"; + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; } TopicLockHandler::~TopicLockHandler() { - TRACE_LOG() << Q_FUNC_INFO << " START"; - TRACE_LOG() << Q_FUNC_INFO << " END"; + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; } bool TopicLockHandler::init(const std::shared_ptr &coreFtc, int exerciseId) { - TRACE_LOG() << Q_FUNC_INFO << " START"; + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; if (coreFtc == nullptr) return false; coreFtc->enableAll(); m_exerciseId = exerciseId; m_coreFtc = coreFtc; - TRACE_LOG() << Q_FUNC_INFO << " END"; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; return true; } bool TopicLockHandler::lock() { - INFO_LOG() << "LOCK " << m_topicInfo.topicName(); - TRACE_LOG() << Q_FUNC_INFO << objStateAsString(); + INFO_LOG(m_logger) << "LOCK " << m_topicInfo.topicName(); + TRACE_LOG(m_logger) << LOGFUNCTION << objStateAsString(); if (m_coreFtc == nullptr) return false; if (m_locked) { - ERROR_LOG() << Q_FUNC_INFO << ": called lock while still locked! " << m_lockEntityId; + ERROR_LOG(m_logger) << LOGFUNCTION << ": called lock while still locked! " << m_lockEntityId; Q_ASSERT(false); return false; } @@ -58,12 +58,12 @@ bool TopicLockHandler::lock() const auto *sessionData = LtsSessionData::LtsSessionData::getInstance(); Core::TryLockEntityRequest req; - req.id(m_lockEntityId); - - req.entityTypeName(m_topicInfo.topicName().toStdString()); + req.id(m_lockEntityId); // m_lockEntityId > 0 means that a lock is updated + // svcKey : + req.entityTypeName(m_topicInfo.topicName().toStdString()/* + m_topicInfo.workspaceId().toStdString()*/); req.entityId(m_topicInfo.entityId()); req.exerciseId(m_exerciseId); - + // : svcKey req.operatorId(sessionData->getOperatorId()); req.workstationId(sessionData->getWorkstationId()); @@ -71,33 +71,33 @@ bool TopicLockHandler::lock() { const Core::TryLockEntityReply reply(m_coreFtc->tryLockEntityRequest(req)); - TRACE_LOG() << Q_FUNC_INFO << ": Reply received - state=" << objStateAsString() + TRACE_LOG(m_logger) << LOGFUNCTION << ": Reply received - state=" << objStateAsString() << " - reply=" << reply; - if (reply.alreadyLocked().is_set()) + if (reply.alreadyLocked().is_set()) //has_value not support on windows yet so we need depricated is_set { const Core::LockEntityError &alreadyLocked = reply.alreadyLocked().get(); - INFO_LOG() << Q_FUNC_INFO << ": Topic already locked by ws " << alreadyLocked.workstationName() << " and op " << alreadyLocked.operatorName(); + INFO_LOG(m_logger) << LOGFUNCTION << ": Topic already locked by ws " << alreadyLocked.workstationName() << " and op " << alreadyLocked.operatorName(); - - + // N. Thoden, 23.09.2020: Since Locking is more often, the dialog is annoying. So skip and pay attention to title + // LtsWidgets::LtsMessageDialog::showMessage(nullptr, fro.translated(), tr("Unable to lock data record")); const auto lockedBy(QStringLiteral("%2/%1").arg(QString::fromStdString(alreadyLocked.operatorName()), QString::fromStdString(alreadyLocked.workstationName()))); - emit signalLockDialog(lockedBy); + emit signalLockDialog(lockedBy); // -> READ_ONLY / lock the dialog as the topic could not be locked } - else + else // lock was successful { - DEBUG_LOG() << Q_FUNC_INFO << ": Topic NOT already locked"; + DEBUG_LOG(m_logger) << LOGFUNCTION << ": Topic NOT already locked"; Q_ASSERT(reply.id() > 0); m_locked = true; - m_lockEntityId = reply.id(); + m_lockEntityId = reply.id(); // only set id if *new lock* was created } } catch (const std::runtime_error &err) { - ERROR_LOG() << Q_FUNC_INFO << ": Failed to lock topic! " << err.what(); + ERROR_LOG(m_logger) << LOGFUNCTION << ": Failed to lock topic! " << err.what(); Q_ASSERT(false); return false; } @@ -107,24 +107,24 @@ bool TopicLockHandler::lock() bool TopicLockHandler::unlock() { - INFO_LOG() << "UNLOCK " << m_topicInfo.topicName() << " - " << m_lockEntityId; - TRACE_LOG() << Q_FUNC_INFO << objStateAsString(); + INFO_LOG(m_logger) << "UNLOCK " << m_topicInfo.topicName() << " - " << m_lockEntityId; + TRACE_LOG(m_logger) << LOGFUNCTION << objStateAsString(); if (m_coreFtc == nullptr) return false; if (!m_locked) { - ERROR_LOG() << Q_FUNC_INFO << ": Tried to unlock while unlocked.. " << objStateAsString(); + ERROR_LOG(m_logger) << LOGFUNCTION << ": Tried to unlock while unlocked.. " << objStateAsString(); Q_ASSERT(false); return false; } - Q_ASSERT(m_lockEntityId > 0); + Q_ASSERT(m_lockEntityId > 0); // if unlocking, we need an existing lock id! const Core::TryUnlockEntityRequest req(m_lockEntityId); - + // always set locked to false and remove id - so that a new call to lock is possible m_locked = false; m_lockEntityId = 0; @@ -132,22 +132,22 @@ bool TopicLockHandler::unlock() { const auto reply(m_coreFtc->tryUnlockEntityRequest(req)); - TRACE_LOG() << Q_FUNC_INFO << ": Reply received - state=" << objStateAsString() + TRACE_LOG(m_logger) << LOGFUNCTION << ": Reply received - state=" << objStateAsString() << " - reply=" << reply; - DEBUG_LOG() << Q_FUNC_INFO << ": Topic unlocked!"; + DEBUG_LOG(m_logger) << LOGFUNCTION << ": Topic unlocked!"; } catch (const std::runtime_error &err) { - ERROR_LOG() << Q_FUNC_INFO << ": Failed to unlock topic! " << err.what(); + ERROR_LOG(m_logger) << LOGFUNCTION << ": Failed to unlock topic! " << err.what(); return false; } - - emit signalUnlockDialog(); + // success + emit signalUnlockDialog(); // -> READ_WRITE - + // TODO: emit signalUnlockDialog(); // unlock the dialog (initial state /*is*/ SHOULD be locked) return true; } @@ -168,45 +168,45 @@ std::string TopicLockHandler::objStateAsString() const bool TopicLockHandler::slotUnlock() { - TRACE_LOG() << Q_FUNC_INFO << " slotUnlock" << objStateAsString(); + TRACE_LOG(m_logger) << LOGFUNCTION << " slotUnlock" << objStateAsString(); return unlock(); } void TopicLockHandler::slotTryLock(const LtsWidgets::TopicInfo &topicInfo) { - TRACE_LOG() << Q_FUNC_INFO << " START " << objStateAsString(); + TRACE_LOG(m_logger) << LOGFUNCTION << " START " << objStateAsString(); m_topicInfo = topicInfo; if (m_topicInfo.topicName().isEmpty() || !topicInfo.isValid()) { - DEBUG_LOG() << Q_FUNC_INFO << " no lockable topic, that's okay"; + DEBUG_LOG(m_logger) << LOGFUNCTION << " no lockable topic, that's okay"; return; } lock(); - TRACE_LOG() << Q_FUNC_INFO << " END " << objStateAsString(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END " << objStateAsString(); } void TopicLockHandler::slotFinalize() { - TRACE_LOG() << Q_FUNC_INFO << " START " << objStateAsString(); + TRACE_LOG(m_logger) << LOGFUNCTION << " START " << objStateAsString(); if (m_locked) { - slotUnlock(); + slotUnlock(); // only unlock if locked } deleteLater(); - TRACE_LOG() << Q_FUNC_INFO << " END " << objStateAsString(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END " << objStateAsString(); } - - - +//****************************************************************************** +// class TopicLockHanderData, used at TacticalOrganisation, OrgChart +//****************************************************************************** TopicLockHanderData::TopicLockHanderData() : QObject() { @@ -225,7 +225,7 @@ void TopicLockHanderData::init(const std::shared_ptr &core TopicLockHanderData::~TopicLockHanderData() { - + // ensure cleanup: (must be delayed to process unlock) reply if (m_topicLockHandler) m_topicLockHandler->slotFinalize(); } @@ -270,7 +270,7 @@ void TopicLockHanderData::slotTryLock(const LtsWidgets::TopicInfo &topicInfo) void TopicLockHanderData::slotLock(const QString &lockedBy) { - +// TopicLockHanderData *sender = qobject_cast(sender()); qDebug() << "Debugname=" << m_debugName << ": " << "slotLock"; @@ -287,4 +287,4 @@ void TopicLockHanderData::slotUnlock() } -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.h index 8cd8fdf0b..85bfd5650 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_lock_handler.h @@ -1,7 +1,6 @@ #pragma once -#include -#include "ltssession_export.h" +#include #include #include @@ -11,8 +10,27 @@ #include +/* + Anmerkungen: + slotTryLock + -> slotTryLock + -> tryLockEntityRequest + <- onTryLockEntityReply + emit signalLockDialog | emit signalUnlockDialog + PpmGuiPlugin: + - ParticipantOrganisationDialog (asSupportService==false) + a) avoid disabling by overloading ::lock() -> yes + b) use tryLockTopicNew -> yes + - ParticipantEdit (asSupportService==false||true) + a) avoid disabling by overloading ::lock() -> yes + b) use tryLockTopicNew -> yes + + 3 TacticalOrganisation + -> left and right <- + onReinitLeft, onReinitRight +*/ namespace LtsSession { @@ -31,7 +49,7 @@ public: public slots: void slotTryLock(const LtsWidgets::TopicInfo &topicInfo); bool slotUnlock(); - void slotFinalize(); + void slotFinalize(); // unlock, finally delete signals: void signalLockDialog(const QString &lockedBy); @@ -45,12 +63,14 @@ private: std::shared_ptr m_coreFtc; LtsWidgets::TopicInfo m_topicInfo; - int m_lockEntityId{0}; + int m_lockEntityId{0}; // reply.id(); / set by reply of ddsCall int m_exerciseId{0}; bool m_locked{false}; - bool m_askedForLock{false}; + bool m_askedForLock{false}; // reply does not tell.. bool m_deleteAfterAnswer{false}; + + NGL::INGLLogger &m_logger; }; @@ -83,4 +103,4 @@ private: }; -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.cpp index f95f32cf2..f07283f2a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.cpp @@ -1,5 +1,12 @@ - - +/** + * @RDE_HEADER@ + * Manages all the Sessions + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-05-15 + */ #include "lts_session_manager.h" @@ -30,7 +37,7 @@ LtsSessionManager::LtsSessionManager() LtsSessionManager::~LtsSessionManager() { - +// qCritical() << "~LtsSessionManager"; for (auto i = m_sessionMap.begin(); i != m_sessionMap.end(); ++i) { @@ -46,24 +53,24 @@ bool LtsSessionManager::init(const DdsConnectionParams &connParams, LtsAppDescriptor::App appId, const QString &workspaceId, bool headless, - bool hidden) + bool hidden) // TODO: what to return ? { - + // TODO: check if maps empty? m_dataPluginList = dataPluginList; m_guiPluginList = guiPluginList; m_appId = appId; m_headless = headless; - - - - + // shortcut: on first login etc. we go through ExerciseChooser to select an exercise + // but when we're already in the exercise and starting an app from within, + // we don't want to have the exercise chooser a second time -> directly go through app + // and show the base layout - + // ????? Der Kommentar stimmt leider nicht. Loest leider nicht das Problem. bool bHasBaseLayout = connParams.exerciseId > 0; - LtsSession *session = createSession(connParams, bHasBaseLayout, true, hidden); + LtsSession *session = createSession(connParams, bHasBaseLayout, true, hidden); // start Admin Session (for login, etc.) session->setWorkspaceId(workspaceId); return session; } @@ -73,11 +80,11 @@ QVector LtsSessionManager::sessions() { return m_sessionMap.values().toVector(); +// QVector result; +// for (auto i = m_sessionMap.begin(); i != m_sessionMap.end(); ++i) +// result.append(i.value()); - - - - +// return result; } @@ -93,9 +100,9 @@ void LtsSessionManager::softQuit() m_sessionMap.clear(); - emit hideAllOtherBLWs(nullptr); + emit hideAllOtherBLWs(nullptr); // for tablet mode! shows another hidden session from some other app or maybe the same app, after the visible one was hidden - QMetaObject::invokeMethod(this, &LtsSessionManager::signalQuit, Qt::QueuedConnection); + QMetaObject::invokeMethod(this, &LtsSessionManager::signalQuit, Qt::QueuedConnection); // wait until all Session's deleteLater is done } @@ -108,7 +115,7 @@ LtsSession *LtsSessionManager::createSession(const DdsConnectionParams &connPara if (session != nullptr) { - WARNING_LOG() << "Tried to create a Session that already exists"; + WARNING_LOG(m_logger) << "Tried to create a Session that already exists"; return nullptr; } @@ -116,8 +123,8 @@ LtsSession *LtsSessionManager::createSession(const DdsConnectionParams &connPara connect(session, &LtsSession::signalQuit, this, &LtsSessionManager::signalQuit); - - + // QueuedConnection since Qt5.9.1 seems to send the buttonRelease event again when entering an + // eventloop within this slot. Not yet clear why this happens connect(session, &LtsSession::signalClose, this, &LtsSessionManager::slotCloseSession, Qt::QueuedConnection); connect(session, &LtsSession::signalLogout, @@ -140,13 +147,13 @@ LtsSession *LtsSessionManager::createSession(const DdsConnectionParams &connPara return; } - WARNING_LOG() << "Previously deleted Session " << session->partitionId() << "/" + WARNING_LOG(m_logger) << "Previously deleted Session " << session->partitionId() << "/" << session->partitionType() << " is still alive!"; }); #endif if (hasBaseLayout) - session->setBaseLayoutVisible(); + session->setBaseLayoutVisible(); // after payloads are done (if any), the base layout will be created if (payloads) session->setPayloadsEnabled(); @@ -159,7 +166,7 @@ LtsSession *LtsSessionManager::createSession(const DdsConnectionParams &connPara { dds::domain::DomainParticipant dp = globSession->ddsConnector()->getDomainParticipant(); - if (!session->init(dp, connParams, m_dataPluginList, m_guiPluginList)) + if (!session->init(dp, connParams, m_dataPluginList, m_guiPluginList)) // init not successful? return invalid ptr { session->deleteLater(); return nullptr; @@ -167,10 +174,13 @@ LtsSession *LtsSessionManager::createSession(const DdsConnectionParams &connPara } else { - + /* + * init SOLLTE asynchron ablaufen. + * init läuft aber synchron, da die Payloads der Plugins DIrectConnections benutzen. + * AUf QueuedCOnnections umbauen ist schwerer, da init mit einem SessionCount von 0 rechnet, da init blocking ist und es daher nicht zum aufruf m_sessionMap[...] = ...; kommt...... + */ - - if (!session->init(connParams, m_dataPluginList, m_guiPluginList, hidden)) + if (!session->init(connParams, m_dataPluginList, m_guiPluginList, hidden)) // init not successful? return invalid ptr { session->deleteLater(); return nullptr; @@ -210,7 +220,7 @@ void LtsSessionManager::slotCloseSession() session->aboutToClose(); session->setInactive(); session->deleteLater(); - m_sessionMap.remove(key); + m_sessionMap.remove(key); // when destruction takes a long time, a new session may have been added which invalidated the iterator found = true; break; @@ -220,9 +230,9 @@ void LtsSessionManager::slotCloseSession() if (!found) FATAL_LOG(m_logger) << "LtsSessionManager: Cannot find Session in map!"; - emit hideAllOtherBLWs(nullptr); + emit hideAllOtherBLWs(nullptr); // for tablet mode! shows another hidden session from some other app or maybe the same app, after the visible one was hidden - if (m_sessionMap.isEmpty()) + if (m_sessionMap.isEmpty()) // quit app if all sessions closed emit signalQuit(); } @@ -231,10 +241,10 @@ LtsSession *LtsSessionManager::getSession(IDL::PartitionType partitionType, int { auto it = m_sessionMap.find(SessionKey(partitionType, partitionId)); - if (it != m_sessionMap.end()) + if (it != m_sessionMap.end()) // session found? return it! return it.value(); - return nullptr; + return nullptr; // not found } -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.h index 32d989d95..f67217dc3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsSession/lts_session_manager.h @@ -1,12 +1,19 @@ - - +/** + * @RDE_HEADER@ + * Manages all the Sessions + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-05-15 + */ #pragma once -#include "ltssession_export.h" +#include #include #include -#include +#include #include #include @@ -38,12 +45,12 @@ public: LtsSessionManager(); ~LtsSessionManager(); - + // create a new session, return old session if already exists [allowClosingSession => true => base layout close = close session | false => base layout close = base layout hide + session still open] LtsSession *createSession(const DdsConnectionParams &connParams, bool hasBaseLayout = true, bool payloads = true, bool hidden = false); - + // return an already created session or null LtsSession *getSession(IDL::PartitionType partitionType, int partitionId); bool init(const DdsConnectionParams &connParams, @@ -86,12 +93,15 @@ private: QVector m_guiPluginList; LtsAppDescriptor::App m_appId; bool m_headless; + NGL::INGLLogger &m_logger; + private slots: void slotCloseSession(); signals: - - + /** + * @brief signalStopBlock (see slotCloseRequest) + */ void signalStopBlock(); void signalLogout(); void signalQuit(); @@ -101,4 +111,4 @@ signals: void taskSwitch(QObject *caller); }; -} +} // namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_model.cpp index a4cb527b6..81cc1ae10 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_model.cpp @@ -18,7 +18,7 @@ namespace LtsTimeline TimelineModel::TimelineModel(TimelineView *view, QObject *parent) : QAbstractItemModel(parent) , m_view(view) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.TimelineModel")) + .getNGLLogger("Timeline.TimelineModel")) { m_rootTrack.m_id = nextFreeTrackId(); m_trackCache.insert(std::pair(m_rootTrack.m_id, &m_rootTrack)); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_utils.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_utils.cpp index a717a4afc..db16f0ede 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_utils.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_utils.cpp @@ -1,7 +1,7 @@ #include "timeline_utils.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_view.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_view.cpp index c2b192c3b..100923333 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_view.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_view.cpp @@ -33,7 +33,7 @@ TimelineView::TimelineView(QWidget *parent) , m_resizeHandler(new TimelineViewResizeHandler(this)) , m_selectHandler(new TimelineViewSelectHandler(this)) , m_trackHandler(new TimelineViewTrackHandler(this)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.TimelineView")) + .getNGLLogger("Timeline.TimelineView")) { setAlternatingRowColors(true); setEditTriggers(QAbstractItemView::NoEditTriggers); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_widget.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_widget.cpp index 1f0b2f540..5ee464163 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_widget.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimeline/timeline_widget.cpp @@ -25,7 +25,7 @@ namespace LtsTimeline TimelineWidget::TimelineWidget(QWidget *parent) : QWidget(parent) , m_ui(new Ui::Timeline) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.Widget")) + .getNGLLogger("Timeline.Widget")) { m_ui->setupUi(this); m_ui->debugWidget->hide(); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/AbstractTimelineModel.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/AbstractTimelineModel.cpp index fcf1ab7a6..46754c1b5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/AbstractTimelineModel.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/AbstractTimelineModel.cpp @@ -12,7 +12,7 @@ namespace LtsTimelineClassic AbstractTimelineModel::AbstractTimelineModel(QObject *parent) : QAbstractItemModel(parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.AbstractTimelineModel")) + .getNGLLogger("Timeline.AbstractTimelineModel")) , m_highestPositionedItem(0) , m_lowestPositionedItem(0) , m_getEventListsRecursive(true) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineIndicator.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineIndicator.cpp index 70d91fcf1..ee96583ba 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineIndicator.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineIndicator.cpp @@ -49,7 +49,7 @@ TimelineIndicator::TimelineIndicator(QWidget *parent) , m_currentTextWidth(0) , m_sectionPos(0) , m_sectionSize(0) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.Indicator")) + .getNGLLogger("Timeline.Indicator")) { m_timeArray.reserve(11 + 11 + 7 + 10); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineWidget.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineWidget.cpp index f148953eb..d76f91c04 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineWidget.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsTimelineClassic/TimelineWidget.cpp @@ -22,7 +22,7 @@ namespace LtsTimelineClassic TimelineWidget::TimelineWidget(QWidget *parent) : QWidget(parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Timeline.Widget")) + .getNGLLogger("Timeline.Widget")) , m_timelineUi(new Ui::Timeline) , m_min(0) , m_max(1) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/ltsutilscore_export.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/ltsutilscore_export.h new file mode 100644 index 000000000..1667d8e27 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/ltsutilscore_export.h @@ -0,0 +1,21 @@ +/** + * Export definitions for LtsUtilsCore + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef LTSUTILSCORE_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define LTSUTILSCORE_EXPORT +# else +# if defined(MAKE_LTSUTILSCORE_LIB) +# define LTSUTILSCORE_EXPORT Q_DECL_EXPORT +# else +# define LTSUTILSCORE_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/pgarray.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/pgarray.cpp index 9c698c91d..d444982d6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/pgarray.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsCore/pgarray.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include namespace LtsUtils { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/CMakeLists.txt index 723d7111e..baf91374a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/CMakeLists.txt @@ -18,6 +18,7 @@ NGL_TARGET_INCLUDE_DIRECTORIES(LtsUtilsGuiDds PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_SOURCE_DIR}/../../../ + ${CMAKE_CURRENT_BINARY_DIR}/../ ) IF(BUILD_RTI) NGL_TARGET_LINK_LIBRARIES(LtsUtilsGuiDds @@ -42,6 +43,7 @@ NGL_ADD_LIBRARY2(AAR HLA SV LtsUtilsDds SHARED request_helper.cpp request_helpe NGL_TARGET_INCLUDE_DIRECTORIES(LtsUtilsDds PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ + ${CMAKE_CURRENT_BINARY_DIR}/../ ) IF(BUILD_RTI) NGL_TARGET_LINK_LIBRARIES(LtsUtilsDds diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/dds_vector_to_pixmap.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/dds_vector_to_pixmap.cpp index c117b395b..f5872c3bc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/dds_vector_to_pixmap.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/dds_vector_to_pixmap.cpp @@ -2,7 +2,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/ltsutilsdds_export.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/ltsutilsdds_export.h new file mode 100644 index 000000000..9bce2d7c4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/ltsutilsdds_export.h @@ -0,0 +1,10 @@ +#ifndef LTSUTILSDDS_EXPORT_H +#define LTSUTILSDDS_EXPORT_H + +// Stub export header for BUILD_RTI=OFF case +// When BUILD_RTI=ON, this file is generated by CMake's GENERATE_EXPORT_HEADER + +#define LTSUTILSDDS_EXPORT +#define LTSUTILSDDS_NO_EXPORT + +#endif // LTSUTILSDDS_EXPORT_H \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h index 1e7c605e9..7352f9fc0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsUtils/LtsUtilsGui/LtsUtilsGuiDds/request_helper.h @@ -11,7 +11,7 @@ #define LTSUTILSGUIDDS_INTERNAL_EXPORT LTSUTILSDDS_EXPORT #endif -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/CMakeLists.txt index e2b1d3eb0..cc01887dd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/CMakeLists.txt @@ -4,6 +4,8 @@ # $Author$ # +MESSAGE(STATUS "DEBUG LTSWIDGETS TOP: BUILD_RTI=${BUILD_RTI}") + # # Lts Widgets library # @@ -147,6 +149,8 @@ NGL_WRAP_UI(ltswidgets_SRCS lts_date_time_edit_touch.ui ) +MESSAGE(STATUS "DEBUG: After NGL_ADD_BIG_RESOURCES") + NGL_ADD_BIG_RESOURCES(ltswidgets_SRCS resources/lts_resources.qrc) MESSAGE(STATUS "DEBUG BEFORE IF: BUILD_RTI=${BUILD_RTI}, BUILD_WS=${BUILD_WS}") @@ -159,6 +163,7 @@ IF(BUILD_RTI) PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_BINARY_DIR}/Lts/Common/LtsUtils/LtsUtilsCore + ${CMAKE_CURRENT_BINARY_DIR} ) NGL_TARGET_LINK_LIBRARIES(LtsWidgets diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_base_layout_widget.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_base_layout_widget.cpp index e55c8ac9a..192749d14 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_base_layout_widget.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_base_layout_widget.cpp @@ -17,7 +17,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_dialog.cpp index 9eb026d3e..8ec9b8b37 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_dialog.cpp @@ -87,7 +87,7 @@ LtsDialog::LtsDialog(QWidget *parent, ButtonCombination buttonCombination, bool , m_buttonBox(nullptr) , m_uiRequirements(new UiRequirementList()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("LtsWidget.LtsDialog")) + .getNGLLogger("LtsWidget.LtsDialog")) { Q_UNUSED(parent); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/ltswidgets_export.h b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/ltswidgets_export.h new file mode 100644 index 000000000..b4938ef6a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/ltswidgets_export.h @@ -0,0 +1,10 @@ +#ifndef LTSWIDGETS_EXPORT_H +#define LTSWIDGETS_EXPORT_H + +// Stub export header for BUILD_RTI=OFF case +// When BUILD_RTI=ON, this file is generated by CMake's GENERATE_EXPORT_HEADER + +#define LTSWIDGETS_EXPORT +#define LTSWIDGETS_NO_EXPORT + +#endif // LTSWIDGETS_EXPORT_H \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/pacemaker.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/pacemaker.cpp index 7ffe01ea3..dcc96ecfc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/pacemaker.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Core/pacemaker.cpp @@ -15,7 +15,7 @@ namespace Core { Pacemaker::Pacemaker(DDSConnector::DdsConnector *ddsConnector) : QObject(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Core.Pacemaker")) + .getNGLLogger("Core.Pacemaker")) { init(ddsConnector); } diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.cpp index 97ab2fd7c..e839c418a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.cpp @@ -30,7 +30,7 @@ DdsConnector::DdsConnector(int domainId, , m_publisher(nullptr) , m_subscriber(nullptr) , m_wsHandler(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Common.DDSConnector")) + .getNGLLogger("Common.DDSConnector")) { initInternal(); DEBUG_LOG() << "DdsConnector ctor: " << m_domainId << "," << m_partitionId << ","<< m_exerciseId << "," << static_cast(m_defaultPartitionType); diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.h index 4766399c7..cbe3028c4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/dds_connector.h @@ -7,8 +7,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp index f4ca0b7c2..f2de464b1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.cpp @@ -10,6 +10,6 @@ namespace DDSConnector PubSubBase::PubSubBase(const dds::domain::DomainParticipant &domainParticipant, const std::string &partition, const char *loggerName) : m_domainParticipant(domainParticipant) , m_partitions({partition}) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger(loggerName)) + .getNGLLogger(loggerName)) {} } diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.h index 748576430..981326e93 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DDSConnector/pub_sub_base.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests.cpp index 14a3a1df3..26d4d4bd9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include @@ -26,7 +26,7 @@ DataTopicTests::DataTopicTests() , m_subscriberListener(nullptr) , m_dtcTestPart(nullptr) , m_mainThreadId(QThread::currentThreadId()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.DataTopicTests")) + .getNGLLogger("UnitTests.DataTopicTests")) { if (!DDS::QosProfile::setDefault()) ERROR_LOG() << "Error setting default QoS from xml-file "; diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests_main.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests_main.cpp index a6337f9e5..678e84399 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests_main.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/data_topic_tests_main.cpp @@ -3,7 +3,7 @@ #include "data_topic_tests_main.h" #include "data_topic_tests.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/function_topic_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/function_topic_tests.cpp index 55d020f90..2f0520be8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/function_topic_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/function_topic_tests.cpp @@ -2,7 +2,7 @@ #include "function_topic_tests.h" -#include +#include #include #include @@ -29,7 +29,7 @@ int main(int argc, char *argv[]) FunctionTopicTests::FunctionTopicTests() : m_mainThreadId(QThread::currentThreadId()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.FunctionTopicTests")) + .getNGLLogger("UnitTests.FunctionTopicTests")) { qRegisterMetaType("DdsUnitTests::FunctionReply"); qRegisterMetaType("DdsUnitTests::FunctionReplyWithState"); diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/generic_data_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/generic_data_tests.cpp index 6655cd8bc..45ba551bf 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/generic_data_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/generic_data_tests.cpp @@ -2,7 +2,7 @@ #include "generic_data_tests.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/initialisation.cpp b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/initialisation.cpp index f0ed3aefb..7f341cdfd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/initialisation.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/DdsUnitTests/initialisation.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include Initialisation::Initialisation() @@ -16,7 +16,7 @@ Initialisation::Initialisation() , m_ddsPublisher(nullptr) , m_ddsSubscriber(nullptr) , m_subListener(new DDSGeneric::SubscriberListener) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.Initialisation")) + .getNGLLogger("UnitTests.Initialisation")) { if (!DDS::QosProfile::setDefault()) ERROR_LOG() << "Error setting default QoS from xml-file "; diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTC/abstract_requester.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTC/abstract_requester.h index 8f83ad775..ed9e2732a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTC/abstract_requester.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTC/abstract_requester.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/connext.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/connext.h index a4d0d5b32..a5a0115b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/connext.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/connext.h @@ -283,7 +283,7 @@ public: , m_dataReader(nullptr) , m_contentFilteredTopic(nullptr) , m_curInstanceHandle(dds::core::InstanceHandle::nil()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("connext.requester")) + .getNGLLogger("connext.requester")) {} void create_contentfilter(bool bNewDataWriter) @@ -431,7 +431,7 @@ public: , m_dataReader(dds::sub::DataReader(replierParams.subscriber(), ReplyRequestBase::m_requestTopic, replierParams.datareader_qos())) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("connext.replier")) + .getNGLLogger("connext.replier")) {} void send_reply(connext::WriteSample &reply, diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/generic_fts_internal.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/generic_fts_internal.h index d1b8397ed..1bf227752 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/generic_fts_internal.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/FTS/generic_fts_internal.h @@ -3,7 +3,7 @@ #pragma once #include "generic_fts.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_base.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_base.h index 363980d90..0b9cabb70 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_base.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_base.h @@ -8,7 +8,7 @@ #include #include -#include +#include class QObject; class QMetaMethod; diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_logger.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_logger.h index 35ac11fec..b4874a880 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_logger.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/generic_logger.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include namespace DDS { diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/subscriber_listener.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/subscriber_listener.h index 9fa8bf67f..d477af773 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/subscriber_listener.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/subscriber_listener.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/topic_type_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/topic_type_plugin.h index 3de53987c..4620eb168 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/topic_type_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/topic_type_plugin.h @@ -8,7 +8,7 @@ #include #include -#include +#include namespace RoutingService { diff --git a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/wait_set_handler.h b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/wait_set_handler.h index f6bdd807c..0a7335e87 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/wait_set_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/DDS/Generic/wait_set_handler.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace NGL { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Data/asb_foreign_interface_impl.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Data/asb_foreign_interface_impl.cpp index 0bd289b63..e801f4176 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Data/asb_foreign_interface_impl.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Data/asb_foreign_interface_impl.cpp @@ -4,7 +4,7 @@ #include "asb_foreign_interface_impl.h" #include "logger.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.cpp index 7342081e0..43537d8bc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.cpp @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include @@ -150,7 +150,7 @@ SymbolEditor::SymbolEditor(LtsSession::LtsSession *session, QWidget *parent) : LtsDialog(parent, LtsWidgets::ButtonCombination::OkApplyCancel) , m_ui(new Ui::SymbolEditor) , m_session(session) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("SymbolEditor")) + .getNGLLogger("SymbolEditor")) { DEBUG_LOG() << "SymbolEditor(" << "parent=" << parent << ")"; m_ui->setupUi(this); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.h index 14ad1d2a1..5090c4279 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor_gui_plugin.h index e2ac393eb..3122af3ef 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/asb_symbol_editor_gui_plugin.h @@ -4,10 +4,10 @@ #pragma once #include -#include +#include #include #include -#include +#include namespace LtsUtils { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/flm_reply_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/flm_reply_handler.cpp index dc78f9aec..7bdb7a19b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/flm_reply_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolEditor/flm_reply_handler.cpp @@ -4,7 +4,7 @@ #include "flm_reply_handler.h" -#include +#include namespace AdvancedSymbology { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_flm_subscriber.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_flm_subscriber.h index 9dcc8aa44..3518d1da1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_flm_subscriber.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_flm_subscriber.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_symbol_proxy_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_symbol_proxy_gui_plugin.h index 5b5e10003..69697ec0e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_symbol_proxy_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AdvancedSymbology/Gui/SymbolProxy/asb_symbol_proxy_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/Common/alm_history_alarm_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/Common/alm_history_alarm_model.h index 51094e0e1..4af3875cb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/Common/alm_history_alarm_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/Common/alm_history_alarm_model.h @@ -5,7 +5,7 @@ #include "almcommon_export.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_config_alarm_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_config_alarm_gui_plugin.h index d1c64281a..28ebf2b4a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_config_alarm_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_config_alarm_gui_plugin.h @@ -11,7 +11,7 @@ #include #include -#include +#include namespace AlarmManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_dialog.h index c4ffdf429..6afa6706a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigAlarm/alm_dialog.h @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include class QCheckBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.cpp index 2bab71200..4817b76f8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include namespace ParticipantAlarms { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.h index d7b3a6f35..c7c5e10ff 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_config_participant_dialog.h @@ -5,10 +5,10 @@ #include #include -#include +#include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_dialog.h index 7bcae5d43..881ad367d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_dialog.h @@ -7,11 +7,11 @@ #include #include -#include +#include #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_gui_plugin.h index 0bba105c0..3dd67b600 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_gui_plugin.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.cpp index 833089bfe..ad53b3eea 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.cpp @@ -5,7 +5,7 @@ #include -#include +#include namespace ParticipantAlarms diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.h index 01e66affc..1a11d4539 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_model.h @@ -3,7 +3,7 @@ #pragma once -#include +#include namespace ParticipantAlarms { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_show_config.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_show_config.h index 49beafc50..b73411bbf 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_show_config.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/ConfigParticipantAlarm/alm_participant_show_config.h @@ -5,10 +5,10 @@ #include #include -#include +#include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_dialog.h index de9355e6b..4b1b9a67c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_dialog.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_info_dialog.h index b34febe17..ffbc278b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AlarmManagement/Gui/EmergencyCalls/alm_emergency_call_info_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AesInfo/aes_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AesInfo/aes_info_dialog.h index 0d8e4882d..4ee4c0a34 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AesInfo/aes_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AesInfo/aes_info_dialog.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AirSupport/aes_air_support_9liner_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AirSupport/aes_air_support_9liner_model.h index 0a0abf02e..337ac19d0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AirSupport/aes_air_support_9liner_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/AirSupport/aes_air_support_9liner_model.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/InfoView/aes_base_info.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/InfoView/aes_base_info.cpp index 6cfd6053b..352502aa6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/InfoView/aes_base_info.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/InfoView/aes_base_info.cpp @@ -2,7 +2,7 @@ #include "ui_aes_base_info.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.cpp index fa0c6bda6..d4edabd75 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.h index 4a392f67f..433312124 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_edit.h @@ -10,12 +10,12 @@ #include -#include +#include #include #include #include #include -#include +#include class QSpinBox; class QDoubleSpinBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_gui_plugin.h index 97d3b2eaf..c780b5030 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_gui_plugin.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace AreaEffectSimulation diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.cpp index 8038dfd03..d5462561b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_base_model.cpp @@ -7,8 +7,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.cpp index c68f02d41..f1be1bce0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.cpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.h index dbff3e1d8..bed41e9d8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Base/aes_itemlist.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_list.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_list.cpp index f400cf755..110b33e6d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_list.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_list.cpp @@ -7,9 +7,9 @@ #include #include #include -#include +#include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_model.h index 8c474f9c4..a319bf787 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_adler_model.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace LtsSession { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_list.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_list.cpp index c56c0ea91..0673c8a9e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_list.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_list.cpp @@ -8,14 +8,14 @@ #include "aes_charge_edit.h" #include "ui_aes_charge_administration_list.h" #include -#include +#include #include #include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_model.cpp index a0dfc2680..ab5f0bb03 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeAdministration/aes_charge_administration_model.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.cpp index b06bcc35a..f4ef293b8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.cpp @@ -10,9 +10,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.h index 4cced54b1..06322c902 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/ChargeEffect/aes_charge_effect_edit.h @@ -5,10 +5,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_effect_cluster_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_effect_cluster_model.h index 9d916d02e..0639ac5e4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_effect_cluster_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_effect_cluster_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include namespace AreaEffectSimulation { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.cpp index 67f648505..f69e4193d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.cpp @@ -15,8 +15,8 @@ #include #include -#include -#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.h index 16de4ea0a..9267ae48e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosion_edit.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.cpp index ee549867d..0c7a4732a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.cpp @@ -18,8 +18,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.h index ebc44e3eb..79ee6e0eb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.cpp index 2e6cb23c4..5ac331eb7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.cpp @@ -15,13 +15,13 @@ #include #include #include -#include +#include #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.h index aeaf4ba80..2e52b9213 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.cpp index ade3e2ffc..488d0109a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.cpp @@ -19,8 +19,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.h index 369db1546..cf2837abe 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_explosions_edit_adler_standalone.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_rocket_utility.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_rocket_utility.cpp index 2c3253462..48618c399 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_rocket_utility.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/Explosion/aes_rocket_utility.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.cpp index 2809ae4b1..87131471f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.cpp @@ -14,8 +14,8 @@ #include #include "../AesInfo/aes_danger_area_aes_item_info.h" -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.h index ff58115b1..0233e54b8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AreaEffectSimulation/Gui/FunctionalArea/aes_functional_area_edit.h @@ -5,8 +5,8 @@ #include #include -#include -#include +#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_edit_training_area_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_edit_training_area_dialog.h index a453f5749..376668eb3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_edit_training_area_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_edit_training_area_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_dialog.h index e422c3a27..dc639f263 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_dialog.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_gui_plugin.h index 4460bab5d..6a262e5b3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AssetManagement/Gui/AsmTrainingAreaEdit/asm_training_area_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/AudioSettings/audio_settings_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/AudioSettings/audio_settings_dialog.h index 6a3451533..a34193411 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/AudioSettings/audio_settings_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/AudioSettings/audio_settings_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit.h index 2338a92b4..0eb216318 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit_view.h index f3ca3fb10..b0a2675af 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_menu_edit_view.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_playback_menu.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_playback_menu.cpp index 327f62b5a..ac3bd02e9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_playback_menu.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/AVMenuEdit/avm_playback_menu.cpp @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog.cpp index 59c796adb..58feb977b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog.cpp @@ -8,7 +8,7 @@ #include "avm_cnr_json_helper.h" #include "avm_load_combat_net_radio_dialog.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog_model.h index 76848a2ab..93764d390 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_combat_net_radio_dialog_model.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_edit_combat_net_radio_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_edit_combat_net_radio_dialog.h index f20c36584..2aa00bf36 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_edit_combat_net_radio_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/CombatNetRadioConfiguration/avm_edit_combat_net_radio_dialog.h @@ -6,10 +6,10 @@ #include #include -#include +#include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_dialog.cpp index 9958fac06..49b9dfdae 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_dialog.cpp @@ -7,8 +7,8 @@ #include "avm_edit_frequency_planning_frequency_data_model.h" -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_frequency_data_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_frequency_data_model.cpp index 922669910..52226ea58 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_frequency_data_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_frequency_data_model.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_resource_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_resource_dialog.cpp index 26d8f8b08..3adddd68b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_resource_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_edit_frequency_planning_resource_dialog.cpp @@ -8,8 +8,8 @@ #include "avm_frequency_planning_widget.h" #include -#include -#include +#include +#include #include #include #include @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_frequency_planning_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_frequency_planning_dialog.cpp index 00778e933..22d0ee2b2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_frequency_planning_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/FrequencyPlanning/avm_frequency_planning_dialog.cpp @@ -8,11 +8,11 @@ #include "avm_init_frequency_planning_dialog.h" #include -#include +#include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.cpp index 60d1169ce..baf5be84a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.cpp @@ -1,7 +1,7 @@ -#include +#include #include #include #include "avm_combat_net_radio_gui_plugin.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.h index 15734d9ea..70482351f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/CombatNetRadio/avm_combat_net_radio_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/Eloka/avm_eloka_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/Eloka/avm_eloka_model.h index 73756ac56..a2a4a7142 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/Eloka/avm_eloka_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/Eloka/avm_eloka_model.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace AudioVideoManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_dialog.cpp index d81c5930d..df7d63333 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_dialog.cpp @@ -5,7 +5,7 @@ #include "ui_avm_mvs_dialog.h" #include "avm_mvs_edit_dialog.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_video_team_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_video_team_dialog.h index 674d0a5f0..fa99ce075 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_video_team_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/MobileVideoSystem/avm_mvs_video_team_dialog.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_edit_training_voice_communication_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_edit_training_voice_communication_dialog.cpp index 2f1f20647..6df6b808c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_edit_training_voice_communication_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_edit_training_voice_communication_dialog.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_training_voice_communication_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_training_voice_communication_dialog.cpp index 1d95f1580..182770732 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_training_voice_communication_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Gui/TrainingVoiceCommunication/avm_training_voice_communication_dialog.cpp @@ -6,7 +6,7 @@ #include "avm_training_voice_communication_dialog_model.h" #include "avm_edit_training_voice_communication_dialog.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/avs_app.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/avs_app.h index 66f348008..2db95e8ff 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/avs_app.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/avs_app.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/playback_app.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/playback_app.h index f14bbfd97..e0fd5c348 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/playback_app.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/playback_app.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/plugin_settings.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/plugin_settings.h index 69bda0c9e..35b10aad0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/plugin_settings.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/plugin_settings.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/project_settings.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/project_settings.h index 7a787c295..b1c9857ec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/project_settings.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/project_settings.h @@ -3,7 +3,7 @@ #pragma once -#include +#include namespace AudioVideoManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/stream_list_result.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/stream_list_result.h index ca22fdee0..d220a9082 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/stream_list_result.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/AudioVideoManagement/Shared/stream_list_result.h @@ -2,7 +2,7 @@ #include #include -#include +#include namespace AudioVideoManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Common/bdv_dds_controller.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Common/bdv_dds_controller.h index 1901586a3..6058a4982 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Common/bdv_dds_controller.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Common/bdv_dds_controller.h @@ -10,22 +10,22 @@ #include #include -#include +#include #include #include #include #include #include -#include +#include #include -#include +#include #include #include #include #include #include "buildingviewercommon_export.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Gui/BuildingViewer/BuildingEdit/bdv_building_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Gui/BuildingViewer/BuildingEdit/bdv_building_edit.h index b839dcda6..c9c5bdf84 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Gui/BuildingViewer/BuildingEdit/bdv_building_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/BuildingViewer/Gui/BuildingViewer/BuildingEdit/bdv_building_edit.h @@ -12,7 +12,7 @@ #include #include -#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/bld_config_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/bld_config_dialog.h index f24a94466..fb000951e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/bld_config_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/bld_config_dialog.h @@ -5,7 +5,7 @@ #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/egcu_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/egcu_info_dialog.h index 6a508275a..78a410cac 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/egcu_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Buildings/Gui/BuildingInfo/egcu_info_dialog.h @@ -4,7 +4,7 @@ #pragma once -#include +#include #include "info_dialog_base.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.cpp index 3e1ba7b00..79fa6f6f2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.cpp @@ -3,8 +3,8 @@ #include "ces_participant_move_gui_plugin.h" -#include -#include +#include +#include #include #include #include "participants_move_dialog.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.h index 3e96b8961..d62b9ceec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/ces_participant_move_gui_plugin.h @@ -6,7 +6,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.cpp index 03ed22708..00c96fc0c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.cpp @@ -10,12 +10,12 @@ #include #include #include -#include +#include #include #include "logger.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.h index c52453328..7e4ea7780 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participant_move_dialog.h @@ -10,12 +10,12 @@ #include #include -#include +#include #include -#include +#include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_dialog.h index 5d9efea15..c9adf90f2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_dialog.h @@ -14,14 +14,14 @@ #include -#include +#include #include #include #include #include -#include +#include #include -#include +#include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.cpp index 0dd16cf29..adb66bcb2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.cpp @@ -3,7 +3,7 @@ #include "participants_move_model.h" -#include +#include namespace CentralEffectSimulation diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.h index 08d07cea9..0dca6f6bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantMove/participants_move_model.h @@ -5,11 +5,11 @@ #include #include -#include +#include #include -#include +#include #include "logger.h" namespace CentralEffectSimulation diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.cpp index 185517258..df4e3b3a3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.cpp @@ -3,8 +3,8 @@ #include "ces_participant_uas_gui_plugin.h" -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.h index 15a57487f..5f5e3d33f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/ces_participant_uas_gui_plugin.h @@ -5,7 +5,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_dialog.h index 051653b8b..dfee75c1c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_dialog.h @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include #include @@ -13,10 +13,10 @@ #include #include -#include +#include #include -#include +#include #include "mission_plan_model.h" #include "mission_plan_edit.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.cpp index c1ef00219..ba6bcf3be 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include #include @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.h index 1a668def4..0986b2f07 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_edit.h @@ -11,14 +11,14 @@ #include #include #include -#include +#include -#include +#include #include #include #include -#include +#include #include "logger.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.cpp index 5077f43b6..7ecda25ea 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.cpp @@ -2,7 +2,7 @@ -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.h index c8a8dd018..6f95050c5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CentralEffectSimulation/Gui/ParticipantUAS/mission_plan_model.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_assign_codification_data_table.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_assign_codification_data_table.h index b877c9b50..df7a29f13 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_assign_codification_data_table.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_assign_codification_data_table.h @@ -10,9 +10,9 @@ #include #include -#include +#include #include -#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_model.h index 3e25eea37..b83f00703 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_view.h index fc6e29c24..90b4304a0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_overview_view.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_table_edit_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_table_edit_view.h index 0ee0beee0..dd83392f0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_table_edit_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Gui/CodificationData/cod_codification_data_table_edit_view.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/cod_numeral_code_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/cod_numeral_code_model.cpp index 1d3952790..e279560d1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/cod_numeral_code_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/cod_numeral_code_model.cpp @@ -12,7 +12,7 @@ NumeralCodeModel::NumeralCodeModel(QWidget *parent) : QAbstractTableModel(parent) , m_isEditMode(false) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("COD_Test_NumeralCodeTableModel")) + .getNGLLogger("COD_Test_NumeralCodeTableModel")) { init(); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/maindialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/maindialog.cpp index f19c578fc..eb05f58c1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/maindialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CodificationManagement/Test/maindialog.cpp @@ -14,7 +14,7 @@ MainDialog::MainDialog(QWidget *parent) : QDialog(parent) , m_ui(new Ui::MainDialog) , m_numCodeModel(new NumeralCodeModel(parent)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("COD_Test_NumeralCodeTableMainDialog")) + .getNGLLogger("COD_Test_NumeralCodeTableMainDialog")) { m_ui->setupUi(this); } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_calculations.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_calculations.cpp index a3bb6a94e..0c329b9ce 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_calculations.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_calculations.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_participant_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_participant_model.cpp index 7d3fb6e8e..046759eaa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_participant_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_participant_model.cpp @@ -3,7 +3,7 @@ #include "cds_participant_model.h" -#include +#include namespace CollateralDamageSimulation { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_pdf_creator.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_pdf_creator.cpp index 31a298de1..d8b5b222f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_pdf_creator.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_pdf_creator.cpp @@ -4,7 +4,7 @@ #include "cds_pdf_creator.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.cpp index c8a1f1df6..51a118750 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.h index e25672046..296ab80b1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_plan_creator.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include namespace FileManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_simulation_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_simulation_dialog.cpp index d39853cdd..061af779d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_simulation_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/CollateralDamageSimulation/Gui/CreateSimulation/cds_simulation_dialog.cpp @@ -5,7 +5,7 @@ #include "ui_cds_simulation_dialog.h" #include -#include +#include #include "cds_building_model.h" #include "cds_participant_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/DeveloperTools/Gui/dev_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/DeveloperTools/Gui/dev_gui_plugin.h index 148ac5eea..3245e70ad 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/DeveloperTools/Gui/dev_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/DeveloperTools/Gui/dev_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include namespace LtsNotification diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.cpp index 2573b7065..0d6c9a149 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.h index 1830ed714..1e7e734f9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_edit_dialog.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_dialog.cpp index 05f19a8ea..48db7cf9d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_dialog.cpp @@ -9,7 +9,7 @@ #include "../logger.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_model.h index 8a0754026..9cfe68b60 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/SoundArea/efm_sound_area_select_model.h @@ -6,7 +6,7 @@ #include "efm_sound_area.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/efm_sound_management_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/efm_sound_management_dialog.h index 8d28e5161..4c8a22ec7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/efm_sound_management_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectManagement/Gui/efm_sound_management_dialog.h @@ -7,7 +7,7 @@ #include "efm_sound_helper.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_effect_show_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_effect_show_gui_plugin.h index bd827a115..cbc889998 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_effect_show_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_effect_show_gui_plugin.h @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_explosion.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_explosion.h index bf9044fce..61f3489bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_explosion.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_explosion.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_smoke.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_smoke.h index a76ea2966..639408e91 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_smoke.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_firing_smoke.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_operating_condition.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_operating_condition.h index 8ffa68448..095c44a92 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_operating_condition.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_operating_condition.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_order_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_order_edit.h index 0f2dc9753..2e01e141b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_order_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_order_edit.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_safety_confirmation_widget.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_safety_confirmation_widget.h index d0195abde..2ded9c843 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_safety_confirmation_widget.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowClient/Gui/esc_safety_confirmation_widget.h @@ -5,7 +5,7 @@ #include #include -#include +#include namespace Ui { class SafetyConfirmationWidget; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/EsmComboBox/esm_combobox_foreign_gui_interface_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/EsmComboBox/esm_combobox_foreign_gui_interface_impl.h index c123ae9a9..a21cdb677 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/EsmComboBox/esm_combobox_foreign_gui_interface_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/EsmComboBox/esm_combobox_foreign_gui_interface_impl.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_list.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_list.h index f21f8259b..c486b8b11 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_list.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_list.h @@ -6,7 +6,7 @@ #include "esm_effect_show_model.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_model.h index 1ec7ac623..56007e68d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_model.h @@ -4,7 +4,7 @@ #pragma once #include "esm_effect_show_model.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_edit.h index 9eac423b9..69718c344 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_edit.h @@ -8,9 +8,9 @@ #include #include #include -#include +#include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_list.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_list.h index 316595d12..517942c5a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_list.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_actor_relocation_list.h @@ -8,11 +8,11 @@ #include #include -#include +#include #include #include -#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_edit.h index 068e1ade7..c6b7bbbb2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_edit.h @@ -8,14 +8,14 @@ #include #include #include -#include +#include #include #include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_gui_plugin.h index 6ac13eb8e..2a0bd23ec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_list.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_list.h index 80f59d7c6..947c19686 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_list.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_list.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include @@ -13,7 +13,7 @@ #include #include #include -#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_model.h index 59246f2e3..9aef18314 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/Gui/esm_effect_show_model.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_data_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_data_plugin_interface.h index 0990d11f6..82b0effc9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_data_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_data_plugin_interface.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include namespace EffectShowManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_gui_combobox_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_gui_combobox_plugin_interface.h index 115b75c9a..d25178769 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_gui_combobox_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/EffectShowManagement/esm_gui_combobox_plugin_interface.h @@ -1,7 +1,7 @@ -#include +#include #include #pragma once diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.cpp index e9b8a5a5c..2816c0afb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.cpp @@ -7,7 +7,7 @@ #include "evl_edit_dialog.h" #include "evl_element_dialog.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.h index 68b82d8b7..f763c18f5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_dialog.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_dialog.h index 3ff472fde..b7001e9bc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_dialog.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_element_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_element_dialog.h index 76a8b5f23..47f1c45bd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_element_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_edit_element_dialog.h @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.cpp index 2da1dc425..4f9827b55 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.cpp @@ -6,7 +6,7 @@ #include "evl_element_model.h" #include "evl_edit_element_dialog.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.h index bb8d0666c..66776c36e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/CriteriumEdit/evl_element_dialog.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_dialog.h index 9d173fee5..1cd11236b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_dialog.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_dialog.h index b88aba933..119ce8959 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_gui_plugin.h index 7051f8167..fc5bc8685 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SanNineLinerEdit/san_nine_liner_edit_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SchemaEdit/evl_edit_schema.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SchemaEdit/evl_edit_schema.h index cea12fc95..9604cb13a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SchemaEdit/evl_edit_schema.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Evaluations/Gui/SchemaEdit/evl_edit_schema.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_dialog.h index 8452af5f6..4b1927766 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.cpp index 434e478cc..078164a49 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.cpp @@ -3,7 +3,7 @@ #include "exm_edit_adler_visible_parties_model.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.h index ed9f68c21..3b0352f5c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_adler_visible_parties_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_dialog.h index adf5043ac..007679f0e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_dialog.h @@ -7,14 +7,14 @@ #include #include #include -#include +#include #include #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_gui_plugin.h index 14dcf2edd..d1ecdf37d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.cpp index 3e9132545..348835574 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.cpp @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.h index d2dba36e8..9576a3af2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_party_dialog.h @@ -10,7 +10,7 @@ #include "exm_edit_visible_parties_model.h" #include "exm_edit_adler_visible_parties_model.h" #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_phase_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_phase_dialog.h index c7abb976c..c024c7f66 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_phase_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_phase_dialog.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.cpp index 3365d9376..32259c283 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.cpp @@ -3,7 +3,7 @@ #include "exm_edit_visible_parties_model.h" #include -#include +#include namespace ExerciseManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.h index 8abcc0e2a..0df848f42 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_edit_visible_parties_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_exercise_purpose.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_exercise_purpose.h index 209efb44c..4923a8c38 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_exercise_purpose.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_exercise_purpose.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_edit.h index 8d47e751f..1c54857a1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_edit.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include "exm_operator_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_model.h index fac4f00ef..dcb5790c8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_operator_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_phase_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_phase_edit.h index bf2ab8133..897900f8d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_phase_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_phase_edit.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_state_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_state_edit.h index d3c6c322b..0be56ea55 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_state_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseEdit/exm_state_edit.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseWatch/exm_watch_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseWatch/exm_watch_gui_plugin.h index 6c5d882a7..0e2f3d80b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseWatch/exm_watch_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ExerciseManagement/Gui/ExerciseWatch/exm_watch_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_edit.cpp index d10893df3..c51be66a3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_edit.cpp @@ -3,7 +3,7 @@ #include "ui_flm_hq_report_edit.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_symbol_concrete_creators.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_symbol_concrete_creators.cpp index 77b266b5f..0bd7c8559 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_symbol_concrete_creators.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/HQReports/flm_hq_report_symbol_concrete_creators.cpp @@ -1,5 +1,5 @@ #include "flm_hq_report_symbol_concrete_creators.h" -#include +#include #include #include namespace FileManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.cpp index bc3718fdf..e13499b46 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.cpp @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.h index 2af6940fa..d848343c0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog.h @@ -8,11 +8,11 @@ #include #include #include -#include +#include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.cpp index ec34ea368..672eb44c7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.cpp @@ -2,7 +2,7 @@ #include "flm_dialog_model_folder.h" -#include "ParticipantManagement/ppm_dtc.h" +#include "ParticipantManagement/ppm.hpp" #include #include @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.h index 7fcd8dd65..63c2df837 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_dialog_model_folder.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_file_content.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_file_content.h index 4c3223e80..52be8b448 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_file_content.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_file_content.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_folder.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_folder.h index bbe1a3271..0090dd511 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_folder.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_edit_folder.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_explorer_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_explorer_gui_plugin.h index d8c417a7f..a7317297a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_explorer_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_explorer_gui_plugin.h @@ -12,7 +12,7 @@ #include #include -#include +#include #include "flm_dialog_model_file.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_get_content.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_get_content.h index bfe5c1a09..3cb5c21a5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_get_content.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FileManagement/Gui/Explorer/flm_get_content.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.cpp index a8aa2935c..fe6ee6e46 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.cpp @@ -68,9 +68,9 @@ bool AesDisplayFilterImpl::setFilterFromData(const AesFilter &filterData) if (m_ddsFilterContent.id() == 0) m_ddsFilterContent = filterData; else - m_ddsFilterContent.content(filterData.content()); + m_ddsFilterContent.setContent(filterData.content()); - const QByteArray content(QByteArray::fromRawData(m_ddsFilterContent.content().c_str(), m_ddsFilterContent.content().size())); + const QByteArray content(m_ddsFilterContent.content().toUtf8()); if (content.isEmpty()) return true; @@ -134,7 +134,7 @@ AesFilter AesDisplayFilterImpl::filterToData() const { AesFilter ret(m_ddsFilterContent); const QJsonDocument doc(filterToJson()); - ret.content(doc.toJson(QJsonDocument::Compact).constData()); + ret.setContent(QString::fromUtf8(doc.toJson(QJsonDocument::Compact))); return ret; } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.h index 3598a963d..83b38111d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/aes_display_filter_impl.h @@ -3,11 +3,12 @@ #pragma once -#include +#include +#include #include #include -#include #include +#include namespace FilterManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/building_cmpnt_settings_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/building_cmpnt_settings_impl.h index 84da9e24b..ed5343011 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/building_cmpnt_settings_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/building_cmpnt_settings_impl.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.cpp index ffb68c292..ff7594ff2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.cpp @@ -65,7 +65,7 @@ bool SymbolAppearanceSettingsImpl::setSettingsFromData(const SymbolAppearance &d m_filteredParticipantsColExp.clear(); - const QByteArray content(QByteArray::fromRawData(m_ddsSettings.content().c_str(), m_ddsSettings.content().size())); + const QByteArray content(QByteArray::fromRawData(m_ddsSettings.content().toUtf8().constData(), m_ddsSettings.content().size())); if (content.isEmpty()) return true; @@ -221,7 +221,7 @@ SymbolAppearance SymbolAppearanceSettingsImpl::settingsToData() const TRACE_LOG() << Q_FUNC_INFO << " START, this=" << this; SymbolAppearance ret(m_ddsSettings); const QJsonDocument doc(settingsToJson()); - ret.content(doc.toJson(QJsonDocument::Compact).constData()); + ret.setContent(QString::fromUtf8(doc.toJson(QJsonDocument::Compact))); TRACE_LOG() << Q_FUNC_INFO << " END, this=" << this; return ret; } @@ -350,25 +350,25 @@ void SymbolAppearanceSettingsImpl::parseSymbolTeamAppearance(Settings &settings, settings.symbolSettings.symbolPartyAppearance.insert(id, sta); } -void SymbolAppearanceSettingsImpl::onParticipantChanged(const ParticipantManagement::Participant &data, DataModification mod) +void SymbolAppearanceSettingsImpl::onParticipantChanged(const ParticipantManagement::Participant &data, ParticipantManagement::DataModification mod) { switch (mod) { case ParticipantManagement::DataModification::eAdded: case ParticipantManagement::DataModification::eModified: { - auto it = m_participantId2SuperiorId.find(data.id()); + auto it = m_participantId2SuperiorId.find(data.id); if (it != m_participantId2SuperiorId.end()) { - if (it.value() != data.superiorId()) + if (it.value() != data.superiorId) { - it.value() = data.superiorId(); + it.value() = data.superiorId; m_colExpandDirtyTimer->start(); } } else { - m_participantId2SuperiorId[data.id()] = data.superiorId(); + m_participantId2SuperiorId[data.id] = data.superiorId; @@ -385,7 +385,7 @@ void SymbolAppearanceSettingsImpl::onParticipantChanged(const ParticipantManagem } case ParticipantManagement::DataModification::eRemoved: { - auto it = m_participantId2SuperiorId.constFind(data.id()); + auto it = m_participantId2SuperiorId.constFind(data.id); if (it != m_participantId2SuperiorId.constEnd()) { m_participantId2SuperiorId.erase(it); @@ -412,7 +412,7 @@ void SymbolAppearanceSettingsImpl::onRebuildCollapsExpandFilter() filteredParticipantsColExp += participantId; } - if (m_logger.isDebugEnabled()) + NGL_LOG_DEBUG("Rebuilding collapse/expand filter"); { QStringList sl; sl.reserve(20); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.h index 4d9c3bf1e..ca1f8118b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/Common/symbol_appearance_settings_impl.h @@ -3,10 +3,9 @@ #pragma once -#include +#include #include #include -#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_dialog.h index 41fffcfdd..f2ea59ce8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_dialog.h @@ -6,7 +6,7 @@ #include "flt_aes_filter_widget.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_widget.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_widget.h index e08bb3436..239024d39 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_widget.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_filter_widget.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include class QCheckBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_gui_plugin.cpp index 02c0cb727..6380d146c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Aes/flt_aes_gui_plugin.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/BuildingComponents/flt_building_component_filter_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/BuildingComponents/flt_building_component_filter_dialog.h index d4571d623..58e24580b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/BuildingComponents/flt_building_component_filter_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/BuildingComponents/flt_building_component_filter_dialog.h @@ -6,7 +6,7 @@ #include "flt_building_component_settings_widget.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.cpp index 91ed136b8..3fe557ab2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.cpp @@ -380,7 +380,7 @@ bool FilterChangeDialog::apply() SymbolAppearanceSettings::Settings s; { SymbolAppearance symbolAppearanceDDS; - symbolAppearanceDDS.content(fData.symbolAppearanceContent()); + symbolAppearanceDDS.setContent(fData.symbolAppearanceContent()); FilterManagement::SymbolAppearanceSettingsImpl impl(nullptr); @@ -402,7 +402,7 @@ bool FilterChangeDialog::apply() auto cb = [this]() -> bool { const SymbolAppearance &symbolAppearance = m_symbolAppearanceSettings->settingsToData(); - INFO_LOG() << "symbolAppearance content " << symbolAppearance.content(); + INFO_LOG() << "symbolAppearance content " << symbolAppearance.setContent(); return m_fltFtc->symbolAppearanceUpdateRequest(symbolAppearance, this); }; m_requestHelper->addRequest(cb); @@ -423,7 +423,7 @@ bool FilterChangeDialog::apply() AesFilter aesFilter = m_aesDisplayFilter->filterToData(); - aesFilter.content(fData.aesFilterContent()); + aesFilter.setContent(fData.aesFilterContent()); m_aesDisplayFilter->setFilterFromData(aesFilter); @@ -431,7 +431,7 @@ bool FilterChangeDialog::apply() auto cb = [this]() -> bool { const AesFilter &aesFilter = m_aesDisplayFilter->filterToData(); - INFO_LOG() << "AesFilter content " << aesFilter.content(); + INFO_LOG() << "AesFilter content " << aesFilter.setContent(); return m_fltFtc->aesFilterUpdateRequest(aesFilter, this); }; m_requestHelper->addRequest(cb); @@ -452,7 +452,7 @@ bool FilterChangeDialog::apply() BuildingComponentFilter buildingComponentFilter = m_buildingComponentSettings->bldCmpSettingsToData(); - buildingComponentFilter.content(fData.buildingComponentsFilterContent()); + buildingComponentFilter.setContent(fData.buildingComponentsFilterContent()); m_buildingComponentSettings->setBldCmpSettingsFromData(buildingComponentFilter); @@ -460,7 +460,7 @@ bool FilterChangeDialog::apply() auto cb = [this]() -> bool { const BuildingComponentFilter &filterData = m_buildingComponentSettings->bldCmpSettingsToData(); - INFO_LOG() << "BuildingComponentFilter content " << filterData.content(); + INFO_LOG() << "BuildingComponentFilter content " << filterData.setContent(); return m_fltFtc->buildingComponentFilterUpdateRequest(filterData, this); }; m_requestHelper->addRequest(cb); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.h index 96d28041a..78622cfd3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/FilterChange/flt_filter_change.h @@ -3,10 +3,10 @@ #pragma once -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_collapse_expand_participants_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_collapse_expand_participants_dialog.h index 9b94bc623..31562e916 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_collapse_expand_participants_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_collapse_expand_participants_dialog.h @@ -5,13 +5,13 @@ #include "flt_collapse_expand_participants_widget.h" -#include +#include #include #include #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_symbol_appearance_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_symbol_appearance_dialog.h index a23603d79..704cad23b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_symbol_appearance_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_symbol_appearance_dialog.h @@ -6,7 +6,7 @@ #include "flt_symbol_appearance_widget.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_type_filter_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_type_filter_dialog.h index d899c0623..0ff806678 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_type_filter_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/Gui/Participant/flt_type_filter_dialog.h @@ -4,9 +4,9 @@ #pragma once #include -#include +#include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_data_plugin_aes_display_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_data_plugin_aes_display_filter.h index 4e8587f80..cc75aa289 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_data_plugin_aes_display_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_data_plugin_aes_display_filter.h @@ -4,7 +4,8 @@ #pragma once #include -#include +#include +#include #include #include @@ -12,6 +13,9 @@ namespace FilterManagement { class SymbolAppearance; +// Use AesFilter from AreaEffectSimulation namespace +using AreaEffectSimulation::AesFilter; + class AesDisplayFilter { protected: diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_symbol_appearance_settings.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_symbol_appearance_settings.h index 66e5b2950..efe3ed686 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_symbol_appearance_settings.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/FilterManagement/flt_symbol_appearance_settings.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_dialog.h index dc9aa7f99..d83e72bd8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_dialog.h @@ -11,10 +11,10 @@ #include -#include +#include #include #include -#include +#include namespace Ui { class InfoDialog; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.cpp index 767d160e0..431d2cbf1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.cpp @@ -8,9 +8,9 @@ #include #include -#include +#include #include -#include +#include #include namespace GuezIedManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.h index 2d6cf07c7..006f2ce03 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/InfoDialog/gim_info_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_edit_dialog.h index da2e645cf..e68dc8192 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_edit_dialog.h @@ -6,11 +6,11 @@ #include #include #include -#include -#include +#include +#include #include #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.cpp index a9f097eed..df2a24d37 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.cpp @@ -10,8 +10,8 @@ #include #include #include -#include -#include +#include +#include namespace GuezIedManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.h index fd37ceba8..d054f7c07 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezIedManagement/Gui/PairingEdit/gim_pairing_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/assign_gna_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/assign_gna_dialog.h index acdd6589d..8172b7445 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/assign_gna_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/assign_gna_dialog.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_nasat_part_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_nasat_part_gui_plugin.h index cf420af1f..e3e9d6ce3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_nasat_part_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_nasat_part_gui_plugin.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "gna_nasat_part_gui_plugin.h" #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_part_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_part_dialog.h index 631c61fcf..a40f65d27 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_part_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/AssignNasat/gna_part_dialog.h @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_part_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_part_model.h index 304a6c1da..c220d2a79 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_part_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/Common/gna_nasat_aircraft_part_model.h @@ -8,8 +8,8 @@ #include -#include -#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_dialog.h index 7db6b37de..3157bd0ab 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_dialog.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_nasat_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_nasat_gui_plugin.h index 5fda61fcf..4b5b8d7cd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_nasat_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/gna_nasat_gui_plugin.h @@ -6,7 +6,7 @@ #include "gna_nasat_gui_plugin.h" #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/new_gna_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/new_gna_dialog.h index 8b15e8617..33a4b85a9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/new_gna_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/GuezNasat/Gui/ConfigNasat/new_gna_dialog.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/AudioVideoConfig/SetRecording/ism_set_recording_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/AudioVideoConfig/SetRecording/ism_set_recording_dialog.cpp index 8769cc38d..e57d32742 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/AudioVideoConfig/SetRecording/ism_set_recording_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/AudioVideoConfig/SetRecording/ism_set_recording_dialog.cpp @@ -5,7 +5,7 @@ #include #include "ui_ism_set_recording_dialog.h" #include "ism_set_recording_dialog_model.h" -#include +#include #include #include #include "ism_set_recording_dialog_requester.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ExerciseAssignmentClassic/ism_exercise_assignment_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ExerciseAssignmentClassic/ism_exercise_assignment_dialog.cpp index a95165b95..b5d1357fd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ExerciseAssignmentClassic/ism_exercise_assignment_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ExerciseAssignmentClassic/ism_exercise_assignment_dialog.cpp @@ -6,7 +6,7 @@ #include "ism_exercise_assignment_dialog_model.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ApproachingPoints/ism_edit_approaching_point_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ApproachingPoints/ism_edit_approaching_point_dialog.h index dd273a8e9..3f36d7529 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ApproachingPoints/ism_edit_approaching_point_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ApproachingPoints/ism_edit_approaching_point_dialog.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include namespace LtsWidgets { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_asset_list_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_asset_list_dialog.h index 93d255879..b10ecf8a0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_asset_list_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_asset_list_dialog.h @@ -11,7 +11,7 @@ #include #include -#include +#include #include "ism_edit_asset_dialog.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_edit_asset_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_edit_asset_dialog.h index 69fb9653b..ad281b021 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_edit_asset_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/AssetList/ism_edit_asset_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace LtsWidgets diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointList/ism_mounting_point_list_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointList/ism_mounting_point_list_dialog.cpp index df3824825..f660fe1ca 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointList/ism_mounting_point_list_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointList/ism_mounting_point_list_dialog.cpp @@ -8,7 +8,7 @@ #include "ism_mounting_point_list_dialog_checkbox_delegate.h" #include "ism_mounting_point_list_dialog_list_sort_model.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointMapSelection/ism_selector.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointMapSelection/ism_selector.cpp index e08d5aac1..674524512 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointMapSelection/ism_selector.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/MountingPointMapSelection/ism_selector.cpp @@ -3,7 +3,7 @@ #include "ism_selector.h" -#include +#include namespace InfrastructureManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_dialog.h index 5f79fb9d8..5b751dcf3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_dialog.h @@ -8,7 +8,7 @@ #include "ui_ism_plan_tln_dialog.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_model.h index c45df5c51..07da80cb7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/Timeline/ism_plan_tln_model.h @@ -3,8 +3,8 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_building_mount_point_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_building_mount_point_dialog.h index 9a7b37b27..804a3be5e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_building_mount_point_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_building_mount_point_dialog.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_dialog.h index f7780aa1d..0055fe1c7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_dialog.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.cpp index 6939e49b8..b9b281346 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include namespace InfrastructureManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.h index 62ec3d634..085d05e84 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_plan_edit_dialog.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_resource_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_resource_gui_plugin.cpp index 08c6fb556..001a328c8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_resource_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/Gui/ResourceManagement/ism_resource_gui_plugin.cpp @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/ism_data_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/ism_data_plugin_interface.h index cb7a7c412..809cd1ad0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/ism_data_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/InfrastructureManagement/ism_data_plugin_interface.h @@ -3,9 +3,11 @@ #pragma once +#include +#include +#include #include -#include -#include +#include #include #include @@ -28,7 +30,8 @@ namespace InfrastructureManagement class ForeignDataInterface; class MountingPoint; - +// Forward declaration for MainSchedule from ParticipantManagement +using ParticipantManagement::MainSchedule; class ISMDATAPLUGININTERFACE_EXPORT DataInterface : public DataPluginBase::Interface diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/CustomViews/mrk_marker.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/CustomViews/mrk_marker.h index b201e2c29..1ec3af91f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/CustomViews/mrk_marker.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/CustomViews/mrk_marker.h @@ -3,7 +3,7 @@ #pragma once #include -#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_apply_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_apply_filter.h index 040d2fd1c..8a5b4cd0c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_apply_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_apply_filter.h @@ -1,6 +1,6 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_dialog_model.h index 295d00e9e..bb6fe5bbb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/Common/mrk_dialog_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_create_snapshot.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_create_snapshot.h index f9f7e09ef..ae2bcfc10 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_create_snapshot.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_create_snapshot.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_dialog.h index 19ff6d97c..301806c8e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_dialog.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_dialog.h index b6b076232..3385221c0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_gui_plugin.h index 3ef99e264..7eb0daef6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_edit_gui_plugin.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_set_markers.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_set_markers.h index 3f1a2ba1c..c95abd2f1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_set_markers.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/mrk_set_markers.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/snapshot_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/snapshot_dialog.h index e647bdbfa..1a277e186 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/snapshot_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MarkerManagement/Gui/MarkerEdit/snapshot_dialog.h @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging.h index db87e8a22..7458e09c7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging.h @@ -9,12 +9,12 @@ #include #include -#include +#include #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_gui_plugin.h index cc502d608..99d7c19bc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_gui_plugin.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_model.h index 73ce9cba9..71524e966 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_messaging_model.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_new_message_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_new_message_dialog.h index 42036cd0e..3e8c5abd6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_new_message_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_new_message_dialog.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_show_message_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_show_message_dialog.cpp index 5c4224df6..b9363e6f5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_show_message_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Messaging/Gui/Messaging/msg_show_message_dialog.cpp @@ -5,7 +5,7 @@ #include "ui_msg_show_message_dialog.h" #include "msg_show_message_dialog.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MeteoDataManagement/Gui/MeteoData/mdm_static_meteo_data_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MeteoDataManagement/Gui/MeteoData/mdm_static_meteo_data_edit.h index 85afff888..ba203a8f6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/MeteoDataManagement/Gui/MeteoData/mdm_static_meteo_data_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/MeteoDataManagement/Gui/MeteoData/mdm_static_meteo_data_edit.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NmeaManagement/Gui/BatteryNotification/nme_shutdown_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NmeaManagement/Gui/BatteryNotification/nme_shutdown_dialog.h index 44619e314..567c9d6a0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NmeaManagement/Gui/BatteryNotification/nme_shutdown_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NmeaManagement/Gui/BatteryNotification/nme_shutdown_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include namespace Ui { class NmeShutdownDialog; } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_dialog.h index d03ffdd07..fa7c2da1e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_dialog.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_edit_gui_plugin.h index 358160952..c065fa88d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/NotificationManagement/Gui/NotificationEdit/nom_edit_gui_plugin.h @@ -5,7 +5,7 @@ #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcBaseDownload/Gui/BaseDownloader/obd_base_downloader.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcBaseDownload/Gui/BaseDownloader/obd_base_downloader.h index 3ad9b3e2f..a6e43afc0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcBaseDownload/Gui/BaseDownloader/obd_base_downloader.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcBaseDownload/Gui/BaseDownloader/obd_base_downloader.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation.h index 37ee9175c..1bf639679 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation.h @@ -8,11 +8,11 @@ #include #include #include -#include +#include -#include +#include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation_filter.h index d27e3686f..36be9148b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_demand_situation_filter.h @@ -8,8 +8,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_edit_folder_content.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_edit_folder_content.h index 3a8d6f159..767210605 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_edit_folder_content.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_edit_folder_content.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_equip_player.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_equip_player.h index 3ab7f9231..d83f77686 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_equip_player.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_equip_player.h @@ -7,12 +7,12 @@ #include #include #include -#include +#include -#include +#include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_fault_message.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_fault_message.h index d8bc0c0a8..be27870f2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_fault_message.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_fault_message.h @@ -7,12 +7,12 @@ #include #include #include -#include +#include -#include +#include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.cpp index 8c3faf756..0507bc4be 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.cpp @@ -13,8 +13,8 @@ #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.h index 5229957fb..4ee3abd77 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/OcTerminal/osc_terminal_gui_plugin.h @@ -5,12 +5,12 @@ #include #include -#include +#include #include #include #include -#include +#include #include #include "osc_demand_situation.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/ParticipantInfoOc/osc_participant_info.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/ParticipantInfoOc/osc_participant_info.h index 6e17af9e3..e1e5fef34 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/ParticipantInfoOc/osc_participant_info.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OcSituationClient/Gui/ParticipantInfoOc/osc_participant_info.h @@ -8,9 +8,9 @@ #include #include -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_abstract_chart_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_abstract_chart_model.h index 840e9ba34..697bd4e3f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_abstract_chart_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_abstract_chart_model.h @@ -11,7 +11,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_detailed_chart_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_detailed_chart_model.cpp index 6658c36ee..a9d002b6a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_detailed_chart_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_detailed_chart_model.cpp @@ -101,7 +101,7 @@ void DetailedChartModel::onDynamicParticipantDataChanged(const ParticipantManage DetailedChartModel::DetailedChartModel(const AbstractChartModel::ChartConfig &config, QObject *parent) : AbstractChartModel(config, parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("OnlineReportDetailedChartModel")) + .getNGLLogger("OnlineReportDetailedChartModel")) { m_participantStates.insert(ProjectDataManagement::VulnerabilityState::CombatReady, QSet()); m_participantStates.insert(ProjectDataManagement::VulnerabilityState::LightDamage, QSet()); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_simple_chart_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_simple_chart_model.cpp index c990c1d95..0e302c5de 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_simple_chart_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/Charts/ore_simple_chart_model.cpp @@ -74,7 +74,7 @@ void SimpleChartModel::onDynamicParticipantDataChanged(const ParticipantManageme SimpleChartModel::SimpleChartModel(const AbstractChartModel::ChartConfig &config, QObject *parent) : AbstractChartModel(config, parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("OnlineReportSimpleChartModel")) + .getNGLLogger("OnlineReportSimpleChartModel")) { auto cb = [this](const ParticipantManagement::DynamicParticipantData & data) { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.cpp index 71c24c114..ec2ff5c39 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.cpp @@ -26,7 +26,7 @@ CreateReportDialog::CreateReportDialog(const QString &menuGroup, QWidget *parent , m_ppmGuiCbxIfc(nullptr) , m_participantModel(nullptr) , m_typeModel(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CreateReportDialog")) + .getNGLLogger("CreateReportDialog")) { m_ui->setupUi(this); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.h index 5f18d296b..2c62c5e3f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_create_report_dialog.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.cpp index fd7f193b3..59d81a8c6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.cpp @@ -3,10 +3,10 @@ #include "ore_online_reports_gui_plugin.h" #include "ore_create_report_dialog.h" -#include +#include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.h index 3f738f733..6977de0ee 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_online_reports_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_report_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_report_dialog.cpp index 57510d0bb..0a135373a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_report_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_report_dialog.cpp @@ -29,7 +29,7 @@ ReportDialog::ReportDialog(const AbstractChartModel::ChartConfig &config, QWidge : LtsWidgets::LtsDialog(parent) , m_ui(new Ui::ReportDialog) , m_name(config.name) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("OnlineReportDialog")) + .getNGLLogger("OnlineReportDialog")) { m_ui->setupUi(this); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_type_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_type_model.cpp index 87fc69e4c..5522819a5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_type_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OnlineReports/Gui/OnlineReports/ore_type_model.cpp @@ -13,7 +13,7 @@ TypeModel::TypeModel(const std::shared_ptr +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_change_password.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_change_password.h index 161917eb6..93f81f293 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_change_password.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_change_password.h @@ -7,9 +7,9 @@ #include #include #include -#include +#include -#include +#include namespace Ui { class OperatorChangePassword; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_dialog_model.h index a2bba330e..f6da8447a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Common/operator_dialog_model.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include #include #include -#include +#include namespace OperatorManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_dialog_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_dialog_gui_plugin.h index e06632262..9dbdae28d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_dialog_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_dialog_gui_plugin.h @@ -10,8 +10,8 @@ #include #include #include -#include -#include +#include +#include namespace LtsPluginManager { class LtsPluginManager; } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.cpp index 30f29978b..5f36e5acc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.cpp @@ -5,7 +5,7 @@ #include "ui_opm_login_remote_shutdown_dialog.h" #include "opm_login_workstation_model.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.h index 093240cc3..fd5dd5604 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/Login/opm_login_remote_shutdown_dialog.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include class QTreeView; class QItemSelection; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/group_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/group_edit_dialog.h index 3754081f5..1dc2ede46 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/group_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/group_edit_dialog.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_dialog.h index eca15d3fe..f5adbda97 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_dialog.h @@ -9,10 +9,10 @@ #include #include -#include +#include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.cpp index a21ed15d3..1a993d998 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.h index 4f87b428a..e0814be73 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_dialog.h @@ -12,7 +12,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_visible_parties_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_visible_parties_model.h index 8d9c05f7b..b2226d5ae 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_visible_parties_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/operator_edit_visible_parties_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/opm_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/opm_edit_gui_plugin.h index 457d1886e..fd1cd0055 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/opm_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/opm_edit_gui_plugin.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace OperatorManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/preset_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/preset_dialog.h index 56bbd1396..6d14d65e9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/preset_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorEdit/preset_dialog.h @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/operator_overview_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/operator_overview_dialog.h index cce7ee911..dc951f7b2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/operator_overview_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/operator_overview_dialog.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/opm_overview_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/opm_overview_gui_plugin.h index 2c6a6d16d..41796700c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/opm_overview_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorOverview/opm_overview_gui_plugin.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace OperatorManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/operator_settings_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/operator_settings_dialog.h index 03d8883aa..55e6fc228 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/operator_settings_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/operator_settings_dialog.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/opm_settings_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/opm_settings_gui_plugin.cpp index 24ffa32a1..759375de8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/opm_settings_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OperatorSettings/opm_settings_gui_plugin.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OpmComboBox/opm_combobox_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OpmComboBox/opm_combobox_gui_plugin.h index 9aae7a4ae..13fc1a525 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OpmComboBox/opm_combobox_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/OperatorManagement/Gui/OpmComboBox/opm_combobox_gui_plugin.h @@ -12,7 +12,7 @@ #include #include -#include +#include namespace OperatorManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Data/ppm_data_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Data/ppm_data_plugin.h index 60cd94de3..fba60ef54 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Data/ppm_data_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Data/ppm_data_plugin.h @@ -3,7 +3,7 @@ #pragma once -#include +#include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/distype_editor.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/distype_editor.h index 1fab746b4..556d1ed15 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/distype_editor.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/distype_editor.h @@ -8,9 +8,9 @@ #include #include #include -#include +#include #include -#include +#include class Ui_MSDLDistypeEditor; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h index 1d501c0ad..980b5b06d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_type_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_type_edit.h index f5808ba28..f652d6ace 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_type_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_type_edit.h @@ -2,11 +2,11 @@ #pragma once -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_distype_editor.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_distype_editor.h index 11fa1b0b1..dde087783 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_distype_editor.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_distype_editor.h @@ -7,9 +7,9 @@ #include #include #include -#include +#include #include -#include +#include class Ui_ParticipantDistypeEditor; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item.h index 60b2b80d8..c551a0237 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item.h @@ -4,7 +4,7 @@ #pragma once #include "participant_edit_item_widget_base.h" -#include +#include #include #include #include "participant_firing_unit_validator.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.cpp index 58acf2b07..dddf847d4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.cpp @@ -4,7 +4,7 @@ #include "participant_edit_item.h" #include "ui_participant_edit_item_widget_base.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.h index 7f51a3019..50c4bed85 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_item_widget_base.h @@ -3,9 +3,8 @@ #pragma once -#include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.cpp index 4a4dc2141..bc6fbcb87 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.cpp @@ -4,7 +4,7 @@ #include "participant_edit_model.h" #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.h index 3df8ba7d3..a40c9bc4e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_edit_model.h @@ -4,8 +4,7 @@ #include "participant_icon_model_base.h" -#include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_firing_unit_validator.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_firing_unit_validator.h index ce197941c..beac0736a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_firing_unit_validator.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_firing_unit_validator.h @@ -4,8 +4,8 @@ #include #include -#include -#include +#include +#include #include "participant_edit_model.h" #include "participant_template_edit_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.cpp index 2458f3aa4..3f39f3465 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.cpp @@ -2,8 +2,7 @@ #include "participant_icon_model_base.h" -#include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.h index 24b5d64b3..aac414ad0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.h @@ -3,8 +3,8 @@ #pragma once -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.cpp index 6579df872..159475d35 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.cpp @@ -4,7 +4,7 @@ #include "participant_search_modal.h" #include "ui_participant_search_modal.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.h index e9cffcf1c..98a76c795 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_search_modal.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.cpp index 2d03f69da..96c3f9dd7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.cpp @@ -3,7 +3,7 @@ #include "participant_template_edit_item.h" #include "ui_participant_edit_item_widget_base.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.h index e1a188903..0b1690f0c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_item.h @@ -4,7 +4,7 @@ #pragma once #include "participant_edit_item_widget_base.h" -#include +#include #include "participant_firing_unit_validator.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_model.h index a51848711..a54e81d47 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_template_edit_model.h @@ -3,8 +3,7 @@ #pragma once -#include -#include +#include #include namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_time_point_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_time_point_model.h index bec1cd8d3..0b74c9e4c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_time_point_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_time_point_model.h @@ -5,7 +5,7 @@ #include "participant_edit_model.h" #include -#include +#include class QTimer; namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_tree_edit_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_tree_edit_handler.h index 46d337be0..7df479846 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_tree_edit_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_tree_edit_handler.h @@ -6,11 +6,11 @@ #include #include -#include +#include -#include +#include #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_vulnerability_types.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_vulnerability_types.h index f62a3b2f6..9aea72963 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_vulnerability_types.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Common/participant_vulnerability_types.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include class QComboBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_export.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_export.h index 3de41514d..07a80e554 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_export.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_export.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include class Ui_MSDLExport; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.cpp index f682dd8ed..23a52d18d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.cpp @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.h index 2ec9e638f..762153da2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_import.h @@ -9,18 +9,18 @@ #include "zwmsmsdl_export.h" #include -#include +#include #include -#include +#include #include -#include +#include #include -#include -#include -#include -#include +#include +#include +#include +#include namespace LtsSession diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_mapping_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_mapping_dialog.h index 1c828896b..84e6d1fa4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_mapping_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/msdl/msdl_mapping_dialog.h @@ -6,7 +6,7 @@ #include "msdl_logging.h" #include -#include +#include #include class Ui_MSDLMappingDialog; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.cpp index e8db82eef..912151cef 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.cpp @@ -3,7 +3,7 @@ #include "ppm_msdl_edit.h" #include "ui_ppm_msdl_edit.h" #include "msdl/msdl_import.h" -#include "msdl/msdl_export.h" +#include "msdl_export.h" #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h index 98547bcc6..21a53c203 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_edit.h @@ -4,12 +4,12 @@ #pragma once #include -#include -#include -#include +#include +#include +#include #include #include -#include +#include class QSortFilterProxyModel; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.cpp index 9212eca83..0d47ac5b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.cpp @@ -5,7 +5,7 @@ #include "ppm_msdl_edit.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.h index 0ee9bffc5..5c8251c54 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/MSDL/ppm_msdl_gui_plugin.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/participant_show.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/participant_show.h index e4e9d0b5f..9fc4f3029 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/participant_show.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/participant_show.h @@ -5,12 +5,12 @@ #pragma once #include -#include -#include -#include +#include +#include +#include #include #include -#include +#include #include "ppm_planning_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.cpp index 272a05565..6f924d343 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.cpp @@ -5,8 +5,8 @@ #include "ppm_party_view.h" #include -#include -#include +#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.h index 17c0a39ab..0b335191c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_edit_gui_plugin.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include namespace AdvancedSymbology { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_model.h index 5e24df4d0..e90725789 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_model.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_view.h index 080347728..2f5ef0296 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_party_view.h @@ -5,9 +5,9 @@ #include "ppm_party_model.h" -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.cpp index 4fcf654fa..927ea2b94 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.cpp @@ -3,7 +3,7 @@ #include "ppm_planning_model.h" -#include +#include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.h index 93711b8c7..15250515a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/OperationalPlanning/ppm_planning_model.h @@ -5,11 +5,11 @@ #include #include -#include +#include #include -#include +#include #include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit.h index ab5a38f2e..90c7debe0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit.h @@ -4,12 +4,12 @@ #pragma once -#include -#include -#include +#include +#include +#include #include #include -#include +#include class QTreeView; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.cpp index b94879f30..b6db76dfa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.cpp @@ -7,7 +7,7 @@ #include "tactical_organisation.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.h index a8fa2af4f..8ce8097d0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_edit_gui_plugin.h @@ -7,10 +7,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include namespace AdvancedSymbology { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.cpp index 35c345397..6d75ded83 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.cpp @@ -3,7 +3,7 @@ #include "participant_orga_model.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.h index d9714dec9..94a35bae0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_orga_model.h @@ -3,9 +3,9 @@ #pragma once -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.cpp index 3f248bc54..48632cf48 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.cpp @@ -6,8 +6,8 @@ #include "participant_unit_namer.h" -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.h index 980c99b12..f8660f06c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_organisation.h @@ -4,20 +4,20 @@ #pragma once -#include +#include #include "participant_pool_model.h" #include "participant_orga_model.h" #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.cpp index c96cff544..62006c0f5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.cpp @@ -3,10 +3,10 @@ #include "participant_pool_model.h" #include -#include +#include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.h index 61b45b721..986d4d50d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/participant_pool_model.h @@ -4,10 +4,10 @@ #pragma once #include -#include +#include #include -#include +#include namespace LtsSession { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.cpp index ac39b2121..15b2b5c66 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.cpp @@ -7,8 +7,8 @@ #include "ui_tactical_organisation.h" #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.h index e9edf24d6..e07376e15 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantEdit/tactical_organisation.h @@ -5,10 +5,10 @@ #include #include -#include +#include #include -#include -#include +#include +#include class QTreeView; namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_bite_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_bite_dialog.h index 182852e12..464ff2be2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_bite_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_bite_dialog.h @@ -5,11 +5,11 @@ #include -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_dialog.h index f39e8ab61..f701f258c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_dialog.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include @@ -18,10 +18,10 @@ #include -#include +#include #include #include -#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.cpp index a5cde8f19..6e42e7692 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.cpp @@ -4,7 +4,7 @@ #include "participant_config_model.h" #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.h index 779e060bb..ee6062199 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_config_model.h @@ -2,7 +2,7 @@ #pragma once -#include "Plugins/ParticipantManagement/Gui/Common/participant_icon_model_base.h" +#include "ParticipantManagement/Gui/Common/participant_icon_model_base.h" #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_follow_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_follow_dialog.h index 97ffddfa5..b6ce1ea72 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_follow_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_follow_dialog.h @@ -11,7 +11,7 @@ #include -#include +#include #include @@ -19,8 +19,8 @@ #include -#include -#include +#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.cpp index 2ff2ea9df..861aebe50 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.cpp @@ -6,7 +6,7 @@ #include "participant_gear_restock_charge.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.h index dd58603a5..5f19571dc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_gear_restock.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog.h index fb375200f..48a3cabd0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog.h @@ -8,7 +8,7 @@ #include -#include +#include #include #include #include "participant_history_dialog_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog_model.h index dab89ba1f..a9c145ed8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_history_dialog_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_hitline_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_hitline_info_dialog.h index 4ae5a8922..72ef2ab55 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_hitline_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_hitline_info_dialog.h @@ -8,7 +8,7 @@ #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.h index f70e78243..505ef43ed 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.h @@ -6,10 +6,10 @@ #include #include -#include +#include -#include +#include @@ -17,7 +17,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_gui_plugin.h index 03d2367cc..d279f805e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_gui_plugin.h @@ -7,13 +7,13 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_helper.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_helper.h index 22fb490b2..43ee2e449 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_helper.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_helper.h @@ -2,7 +2,7 @@ #pragma once -#include +#include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_ltd_gear_component.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_ltd_gear_component.cpp index 6c3fe0c1e..f0469a89a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_ltd_gear_component.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_ltd_gear_component.cpp @@ -4,7 +4,7 @@ #include "participant_info_ltd_gear_component.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_dialog.h index b2ae7537c..e3353c20d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_dialog.h @@ -12,7 +12,7 @@ #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_model.h index 07e6b6c40..ee2c644c8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_table_model.h @@ -5,8 +5,8 @@ #include #include -#include -#include +#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_dialog.h index c28dd5310..903c33b1c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_dialog.h @@ -11,7 +11,7 @@ #include -#include +#include #include #include @@ -19,8 +19,8 @@ #include -#include -#include +#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_widget.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_widget.h index dde77d644..5493a0497 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_widget.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_search_widget.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include enum class DataModification; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_injury_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_injury_dialog.h index 7fe51a853..11bed01ef 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_injury_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_injury_dialog.h @@ -11,13 +11,13 @@ #include #include -#include +#include #include -#include +#include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_sanitation_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_sanitation_dialog.h index 7708843c1..87fae01b8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_sanitation_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_set_sanitation_dialog.h @@ -9,9 +9,9 @@ #include -#include +#include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_shootback_area_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_shootback_area_model.h index c7717b2b5..9df24da5a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_shootback_area_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_shootback_area_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_target_config_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_target_config_dialog.h index 2e34f3c0a..94b10c923 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_target_config_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_target_config_dialog.h @@ -8,12 +8,12 @@ #include -#include +#include #include #include #include #include -#include +#include #include "participant_shootback_area_model.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participants_mounted_table_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participants_mounted_table_model.h index 8c4d0ad15..b9c1e548e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participants_mounted_table_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participants_mounted_table_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/combat_power.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/combat_power.h index 45820a8bd..4697625a9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/combat_power.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/combat_power.h @@ -7,10 +7,10 @@ #include "participant_org_chart.h" #include -#include -#include -#include -#include +#include +#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.cpp index 85d5afdf1..7c38cdc5d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.cpp @@ -5,14 +5,14 @@ #include #include "ui_org_chart_main.h" #include -#include +#include #include #include #include #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.h index 6b6a8d135..e1708de24 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main.h @@ -8,17 +8,17 @@ #include "org_chart_main_helper.h" #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main_helper.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main_helper.h index b6324074d..48294c28a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main_helper.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/org_chart_main_helper.h @@ -6,8 +6,8 @@ #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart.h index ebf07a787..a76763d18 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart.h @@ -6,12 +6,12 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_gui_plugin.h index 2ba4815fb..2e1a10113 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_gui_plugin.h @@ -10,11 +10,11 @@ #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_helper.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_helper.h index c8fe8c74c..665fe003f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_helper.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantOrgChart/participant_org_chart_helper.h @@ -6,8 +6,8 @@ #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.cpp index f2b86776a..fc12bf293 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.cpp @@ -14,13 +14,13 @@ #include #include -#include +#include #include -#include -#include -#include +#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.h index 2d2eb8cab..cf1dfaeb1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection.h @@ -4,11 +4,11 @@ #pragma once -#include -#include +#include +#include #include #include -#include +#include #include "ppmparticipantselectiongui_export.h" class QTreeView; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_gui_plugin.h index cd1ecd7ef..36aa30f46 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_gui_plugin.h @@ -7,9 +7,9 @@ #include #include -#include -#include -#include +#include +#include +#include namespace AdvancedSymbology { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.cpp index bead55fd1..089b19d7d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.cpp @@ -4,7 +4,7 @@ #include "participant_selection_model.h" #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.h index cf8c93363..5aaf842f8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantSelection/participant_selection_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.cpp index 3b0c63e30..1f875c09c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.h index e90d0e973..d5390eec6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser.h @@ -5,14 +5,14 @@ #include "participant_template_chooser_model.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include -#include +#include namespace AdvancedSymbology { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_frameless.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_frameless.h index d2a46004b..4f0e6652a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_frameless.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_frameless.h @@ -5,7 +5,7 @@ #include "participant_template_chooser_model.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.cpp index bea15131d..cab9245e0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.cpp @@ -2,10 +2,10 @@ #include "participant_template_chooser_model.h" -#include +#include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.h index 732f1c3e0..a0d9b7599 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_chooser_model.h @@ -3,11 +3,11 @@ #pragma once -#include +#include #include #include -#include +#include namespace LtsSession { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.cpp index 6ce1b815f..4e846edeb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.cpp @@ -4,8 +4,8 @@ #include "participant_template_edit.h" #include "ui_participant_template_edit.h" -#include -#include +#include +#include #include "participant_template_chooser_frameless.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.h index 01f9e7968..faac8c3a5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_template_edit.h @@ -8,10 +8,10 @@ #include -#include -#include -#include -#include +#include +#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_templates_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_templates_gui_plugin.h index 60e1df047..f026dfc9f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_templates_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/participant_templates_gui_plugin.h @@ -7,10 +7,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/template_unit_namer.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/template_unit_namer.h index 68af7932f..09bae3553 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/template_unit_namer.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/ParticipantTemplates/template_unit_namer.h @@ -4,8 +4,8 @@ #pragma once #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.cpp index ff9a5c789..ead2ec52a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.cpp @@ -3,7 +3,7 @@ #include "operator_party_assignment.h" #include "ui_operator_party_assignment.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.h index 7c808bc00..4cd6d7b2b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment.h @@ -5,13 +5,13 @@ -#include -#include +#include +#include #include #include #include #include -#include +#include #include "operator_party_assignment_model.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment_model.h index 4959a04f0..9bc4a7004 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/operator_party_assignment_model.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.cpp index f49ed0431..a2c1f927c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.h index e1c5541f8..36e10420f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit.h @@ -5,20 +5,20 @@ #include -#include -#include +#include +#include #include #include #include #include -#include +#include #include -#include -#include +#include +#include #include -#include +#include #include class QToolButton; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.cpp index ea4af4604..562a0aee1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.cpp @@ -7,7 +7,7 @@ #include "operator_party_assignment.h" #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.h index f20aadac9..f7bed0aaa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_edit_gui_plugin.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_model.h index 4bddb426d..4f3dfb86d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.cpp index 7947485b4..14df6ad71 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.cpp @@ -6,7 +6,7 @@ #include "CustomView/ppm_party.h" #include "ppm_party_edit.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.h index 1e58ac2b9..9d2859f75 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PartyEdit/ppm_party_view.h @@ -5,13 +5,13 @@ #include "ppm_party_model.h" -#include -#include +#include +#include #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox.h index a7898c3f3..519f7775b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox.h @@ -4,7 +4,7 @@ #pragma once -#include +#include class QComboBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_foreign_gui_interface_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_foreign_gui_interface_impl.h index fa4035ef9..2b1adb66e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_foreign_gui_interface_impl.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_foreign_gui_interface_impl.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_gui_plugin.h index 3d5d6518f..823bb180f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_combobox_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include "ppm_combobox_foreign_gui_interface_impl.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_party_selector.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_party_selector.h index 53cfb1209..de01cee7e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_party_selector.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/PpmComboBox/ppm_party_selector.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include "ui_ppm_party_selector.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.cpp index a4fbc93fe..cdb2961fa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.cpp @@ -3,7 +3,7 @@ #include "ppm_saab_edit.h" #include "ui_ppm_saab_edit.h" #include "saab/saab_import.h" -#include "saab/saab_export.h" +#include "saab_export.h" #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.h index b1e7f0c45..2dd9ef419 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_edit.h @@ -5,12 +5,12 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include -#include +#include class QSortFilterProxyModel; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.cpp index aaaedc0ba..2dbda14b2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.cpp @@ -5,7 +5,7 @@ #include "ppm_saab_edit.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.h index e3396bb82..39a1161f7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/ppm_saab_gui_plugin.h @@ -6,13 +6,13 @@ #include #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_export.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_export.h index 0ff11c705..b3c9e75c1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_export.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_export.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.cpp index da0e08791..56ecffdff 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.h index dccdd5089..19bb7a0b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_import.h @@ -10,18 +10,18 @@ #include "zwmssaab_export.h" #include -#include +#include #include -#include +#include #include -#include +#include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_mapping_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_mapping_dialog.h index c57a113ed..59de4bd3e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_mapping_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Saab/saab/saab_mapping_dialog.h @@ -6,7 +6,7 @@ #include "saab_logging.h" #include -#include +#include #include class Ui_SAABMappingDialog; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.cpp index e3482b7e9..328e66c22 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.cpp @@ -5,7 +5,7 @@ #include "ui_ppm_type_edit.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.h index 08aa442c2..8d3bd3f4e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit.h @@ -6,16 +6,16 @@ #pragma once #include -#include -#include +#include +#include #include -#include -#include +#include +#include #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.cpp index 0a2201749..5fded8931 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.cpp @@ -6,7 +6,7 @@ #include "ppm_type_edit.h" #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.h index 4d1aad370..6f12a0128 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_edit_gui_plugin.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.cpp index 32a701753..07ed7c55a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.cpp @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.h index de8b2f8c2..3ddf8b093 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_model.h @@ -3,11 +3,11 @@ #pragma once -#include +#include #include #include -#include +#include namespace LtsSession { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_view.h index d7ae7041a..fe0e6151b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/TypeEdit/ppm_type_view.h @@ -5,13 +5,13 @@ #include "ppm_type_model.h" -#include -#include -#include +#include +#include +#include #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_edit_dialog.cpp index 172e5e6e6..e470b647a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_edit_dialog.cpp @@ -4,17 +4,17 @@ #include "ppm_uas_edit_dialog.h" #include "ui_ppm_uas_edit_dialog.h" -#include +#include #include #include -#include +#include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.cpp index b4c73b5bd..2b55a2369 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.cpp @@ -5,7 +5,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.h index fb03338f2..99cd81cee 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_gui_plugin.h @@ -6,8 +6,8 @@ #include #include -#include -#include +#include +#include namespace ExerciseManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.cpp index ecc8c215b..4122049ec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.cpp @@ -7,7 +7,7 @@ #include "ppm_uas_list_model.h" #include "ppm_uas_edit_dialog.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.h index 496d5e3ec..dd7880b00 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_dialog.h @@ -5,8 +5,8 @@ #include #include -#include -#include +#include +#include namespace Ui { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_model.h index a0ca65112..4f789368b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/Gui/Uas/ppm_uas_list_model.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/ppm_data_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/ppm_data_plugin_interface.h index 903978258..0a580cfe7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/ppm_data_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ParticipantManagement/ppm_data_plugin_interface.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.cpp index bfe12f659..b350a6184 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.cpp @@ -21,12 +21,12 @@ #include -#include +#include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.h index eab81d6b1..359ac6e75 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanEditor/PlanEditorPlugin/Gui/plan_editor_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/TopicEditor/topic_editor.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/TopicEditor/topic_editor.cpp index dbafe740f..c9d67e4dd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/TopicEditor/topic_editor.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/TopicEditor/topic_editor.cpp @@ -27,7 +27,7 @@ PlanTopicEditor::PlanTopicEditor( , m_flmDtc(flmDtc) , m_model(nullptr) , m_ui(new Ui::PlanTopicEditor) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("PlanTopicEditor")) + .getNGLLogger("PlanTopicEditor")) { m_ui->setupUi(this); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/flm_reply_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/flm_reply_handler.cpp index 9cb067851..90b0e4e63 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/flm_reply_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/flm_reply_handler.cpp @@ -4,7 +4,7 @@ #include "flm_reply_handler.h" -#include +#include namespace PlanOverlaysPlugin diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlay_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlay_model.cpp index f35e62eb5..36a21db5f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlay_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlay_model.cpp @@ -45,7 +45,7 @@ public: PlanOverlayModel::PlanOverlayModel() : QAbstractItemModel(), m_internal(new InternalData()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("PlanOverlayModel")) + .getNGLLogger("PlanOverlayModel")) {;} PlanOverlayModel::~PlanOverlayModel() diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.cpp index 5d37639e6..297263f64 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.h index cf991a9b0..f3ab0d548 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PlanOverlays/Gui/plan_overlays_gui_plugin.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Data/pre_data_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Data/pre_data_plugin.h index d09b78ff7..4dc257b2c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Data/pre_data_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Data/pre_data_plugin.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_edit_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_edit_dialog.h index 48b8cdc65..19acc558c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_edit_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_edit_dialog.h @@ -5,11 +5,11 @@ #include #include -#include -#include +#include +#include #include #include -#include +#include namespace LtsWidgets { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_mobile_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_mobile_model.h index ee0ace947..71454983f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_mobile_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_mobile_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_model.h index 1c5cc3b89..0a1e5c535 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/pre_model.h @@ -3,9 +3,9 @@ #pragma once -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/toolz.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/toolz.h index 308060bf9..845e44669 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/toolz.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Common/toolz.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.cpp index 724dd2be5..5a56f3939 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.h index d7badd404..2100399e2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_dialog.h @@ -3,12 +3,12 @@ #pragma once -#include +#include #include #include #include #include -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.cpp index a92220f9a..21205f70c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.h index 741d03b3a..73518e786 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/PresentationEdit/pre_mobile_dialog.h @@ -3,12 +3,12 @@ #pragma once -#include +#include #include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/ScriptChooser/script_chooser.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/ScriptChooser/script_chooser.h index dc8ad229d..0ed04846f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/ScriptChooser/script_chooser.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/ScriptChooser/script_chooser.h @@ -3,11 +3,11 @@ #pragma once -#include +#include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export.h index f2a6de62f..bbd1cabee 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export.h @@ -3,7 +3,7 @@ #pragma once #include -#include +#include namespace TakeHomePackageGenerator { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_process.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_process.h index 5198d03af..426966418 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_process.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_process.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_step.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_step.h index 14add4d0e..1bd836ff2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_step.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/TakeHomePackageGenerator/export_step.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/topic_designer.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/topic_designer.h index 9ff369bff..2ad084456 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/topic_designer.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/Common/topic_designer.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.cpp index b1e853beb..c30e8a55b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.cpp @@ -11,7 +11,7 @@ #include "pre_screen.h" #include "pre_storyboard.h" -#include +#include #include #include #include @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.h index 918f81b99..492585b12 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_dialog.h @@ -12,12 +12,12 @@ #include #include #include -#include +#include #include #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.cpp index 950301ea1..eb3e3b262 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.cpp @@ -29,7 +29,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.h index 705b12f99..f736d688b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptEditor/pre_script_gui_plugin.h @@ -10,8 +10,8 @@ #include #include #include -#include -#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_screen.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_screen.cpp index 6c769e505..22bdba93d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_screen.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_screen.cpp @@ -1,6 +1,6 @@ #include "pre_screen.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp index 667f5f850..2c0178592 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp @@ -61,7 +61,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.h index 67fe08f38..02eb73b5e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.cpp index 0e3e4ab11..ee524bc1f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.h index d48de56dc..1e018240d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_timeline_gui_plugin.h @@ -12,8 +12,8 @@ #include #include #include -#include -#include +#include +#include #include #include "pre_script_dialog.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/pre_data_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/pre_data_plugin_interface.h index 3574a8fe1..3ba6a4448 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/pre_data_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/PresentationManagement/pre_data_plugin_interface.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_edit_dialog.cpp index f2e867b5d..0e6565e95 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_edit_dialog.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include namespace ProjectDataManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_table.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_table.cpp index b65b4c2d7..7b9a770fa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_table.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectDataManagement/Gui/PdmChargeTable/charge_table.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Common/pws_vnc_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Common/pws_vnc_handler.h index 7746e0289..0149794f6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Common/pws_vnc_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Common/pws_vnc_handler.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include namespace ProjectionWorkstation diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Gui/pws_operator_settings_loader.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Gui/pws_operator_settings_loader.cpp index a17778630..335e5f47a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Gui/pws_operator_settings_loader.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ProjectionWorkstation/Gui/pws_operator_settings_loader.cpp @@ -3,7 +3,7 @@ #include "pws_operator_settings_loader.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Input/rep_input_type_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Input/rep_input_type_model.h index 5f57d9a7d..08aa51100 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Input/rep_input_type_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Input/rep_input_type_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_abstract_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_abstract_model.h index 7ccd1cd19..80450d599 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_abstract_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_abstract_model.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include namespace ReportManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.cpp index aa6aa31c7..f384b4fbb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.h index 79f65bdd4..1f19ccbaa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_charge_resupply_model.h @@ -6,7 +6,7 @@ #include "rep_abstract_model.h" #include #include -#include +#include namespace ReportManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.cpp index 6b527cf0e..dc888e558 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.h index c8b8621ef..62870f99c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_maintenance_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include namespace ReportManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.cpp index 7b77ff65f..c810c3522 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.h index 4e490bfe8..31e50d087 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_mine_area_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include namespace ReportManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.cpp index d30a1de4b..ba9cdac72 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.h index af2345b94..092bda2bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_nbc_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.cpp index 8ec4e7967..dd425af50 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.h index 6b05ef81c..20d299eba 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_participant_distance_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include namespace ReportManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.cpp index 317613b66..775afe282 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.h index ac5248ee8..cdcb451be 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.cpp index e9669c748..053e282d0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.cpp @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.h index 281300f40..46358781b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_treatment_timeline_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.cpp index 36536c169..11e08382a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.h index 834bb1b86..c920ce89c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/Models/rep_unit_power_model.h @@ -5,7 +5,7 @@ #include "rep_abstract_model.h" #include -#include +#include namespace ReportManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_edit.h index 563177c50..64c5ca1c8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_edit.h @@ -15,14 +15,14 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_list.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_list.h index fdac0db0a..93f8fc5b5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_list.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_list.h @@ -7,15 +7,15 @@ #include #include -#include -#include +#include +#include #include #include #include #include #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_model.h index 8b7af12b1..32c56ca20 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_model.h @@ -5,8 +5,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.cpp index b99a9ee0e..387b8c1aa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.cpp @@ -39,7 +39,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.h index 0ca090755..22cc653a2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_preview.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_viewer_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_viewer_gui_plugin.h index a8eed6a60..a4749d6b1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_viewer_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ReportManagement/Gui/ReportViewer/rep_report_viewer_gui_plugin.h @@ -11,9 +11,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Data/saa_data_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Data/saa_data_plugin.h index e3ff8f0ab..6b97fc40b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Data/saa_data_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Data/saa_data_plugin.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/SAAChooser/saa_chooser.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/SAAChooser/saa_chooser.h index 8e00d083e..1efe97dd9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/SAAChooser/saa_chooser.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/SAAChooser/saa_chooser.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_dialog_model.h index 367485b1b..5ff9eaef7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_dialog_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_gui_plugin.h index 064a73441..451c3d008 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/Gui/saa_gui_plugin.h @@ -4,8 +4,8 @@ #pragma once #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/saa_data_plugin_interface.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/saa_data_plugin_interface.h index 66a9a096a..73748ea43 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/saa_data_plugin_interface.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SAAs/saa_data_plugin_interface.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include namespace SAAInterfaceAdapterAdler diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_dialog.cpp index bbc1edb30..f44a69798 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_dialog.cpp @@ -18,7 +18,7 @@ namespace ScreenRecording ScreenRecordingDialog::ScreenRecordingDialog(const QString &menuGroup, QWidget *parent, const LtsWidgets::Behaviour &behaviour) : LtsFramelessDialog(parent, behaviour) , m_ui(new Ui::ScreenRecordingDialog) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("ScreenRecording")) + .getNGLLogger("ScreenRecording")) { Q_UNUSED(menuGroup); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_worker.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_worker.cpp index 8ac5ea7b3..0137c0b40 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_worker.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ScreenRecording/Gui/ScreenRecorder/screen_recording_worker.cpp @@ -169,7 +169,7 @@ const QStringList ScreenRecordingWorker::s_imageFormats = { QLatin1String("jpg") ScreenRecordingWorker::ScreenRecordingWorker(QObject *parent) : QObject(parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("ScreenRecording")) + .getNGLLogger("ScreenRecording")) { QDir tmpRecordingDir(s_recordingTmpDir); if (!tmpRecordingDir.exists()) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog.h index 0966142b8..0c0a2410b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_dialog.cpp index ad7331fb3..e4d44fb01 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_dialog.cpp @@ -7,7 +7,7 @@ #include "smo_equipment_error_registration_model.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_gui_plugin.h index 6b2f8b8de..bd8fd9c35 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_gui_plugin.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_model.h index b161e38fa..1fa0eeb2e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/EquipmentErrorRegistration/smo_equipment_error_registration_model.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.cpp index f11089aa0..862928502 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.h index b578e4ed5..c28e1b8b2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_dialog.h @@ -4,7 +4,7 @@ #include #include -#include +#include namespace AreaEffectSimulation { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_gui_plugin.h index 83f230a02..4c6291fdf 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_gui_plugin.h @@ -6,11 +6,11 @@ #include #include -#include +#include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_model.h index 76e78867a..9252505f1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/HgrAndMineSearch/smo_hgr_and_mine_search_model.h @@ -4,10 +4,10 @@ #pragma once #include -#include +#include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_equipment_check.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_equipment_check.h index 333b94c2b..f8558276d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_equipment_check.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_equipment_check.h @@ -4,10 +4,10 @@ #pragma once #include -#include +#include #include -#include +#include #include #include #include "smo_base_player_model.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.cpp index a5f533965..a0b3dc0a5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.h index 3dc141d48..8c22e4d25 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_base_player_model.h @@ -7,10 +7,10 @@ #include #include -#include -#include +#include +#include #include -#include +#include #include class QTimer; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_bite_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_bite_model.h index 34bf531b4..97209e2c8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_bite_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_bite_model.h @@ -6,7 +6,7 @@ #include #include -#include +#include namespace ProjectDataManagement { namespace Interface { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_check_button_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_check_button_handler.h index 649f07598..6476c2b4e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_check_button_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_check_button_handler.h @@ -5,10 +5,10 @@ #include -#include +#include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_ctas_error_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_ctas_error_model.h index ced836b49..8f66516cb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_ctas_error_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_ctas_error_model.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include namespace ServiceMonitor diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_edit.cpp index c548b0427..67dc7575c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_edit.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_model.h index fd030ded3..fc3e1922f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_egcu_model.h @@ -20,7 +20,7 @@ #include -#include +#include #include class QAction; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_fault_message_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_fault_message_dialog.h index 3495079f4..5e7630032 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_fault_message_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_fault_message_dialog.h @@ -4,13 +4,13 @@ #pragma once #include -#include +#include #include #include #include #include -#include -#include +#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_manipulation_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_manipulation_model.h index af1447670..d1df8317d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_manipulation_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_manipulation_model.h @@ -6,7 +6,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_monitors_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_monitors_gui_plugin.h index ed33748bf..de753a6b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_monitors_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_monitors_gui_plugin.h @@ -4,11 +4,11 @@ #pragma once #include -#include +#include -#include -#include -#include +#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.cpp index 8bb38c28a..3a7640a9b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.cpp @@ -1,7 +1,7 @@ -#include +#include #include "smo_party_equipment_check_dialog.h" #include "ui_smo_party_equipment_check_dialog.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.h index e28f21d0b..9b18aa7a0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_party_equipment_check_dialog.h @@ -6,7 +6,7 @@ #include "smo_party_player_model.h" #include "smo_base_equipment_check.h" -#include +#include #include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_single_service_equipment_check_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_single_service_equipment_check_dialog.h index cf3d0a778..bd0e01843 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_single_service_equipment_check_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_single_service_equipment_check_dialog.h @@ -8,7 +8,7 @@ #include -#include +#include #include class QItemSelection; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_structure_element_edit.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_structure_element_edit.cpp index b38815bd0..d9d756175 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_structure_element_edit.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/Monitors/smo_structure_element_edit.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/SystemMonitor/smo_system_monitor_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/SystemMonitor/smo_system_monitor_gui_plugin.h index 750585f83..e03542b37 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/SystemMonitor/smo_system_monitor_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/ServiceMonitor/Gui/SystemMonitor/smo_system_monitor_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include namespace ServiceMonitor diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/effect_cluster_to_map.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/effect_cluster_to_map.cpp index c02e9e4f2..f0e03e5c6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/effect_cluster_to_map.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/effect_cluster_to_map.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #define ADD_UNIQUE_MAP_ID_TO_NOTIFIY(uniqueMapId) addUniqueMapIdToNotifiy(uniqueMapId, __FILE__, __LINE__) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/explosion_cluster_to_map.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/explosion_cluster_to_map.cpp index c3efe8e85..2c6400ad3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/explosion_cluster_to_map.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/explosion_cluster_to_map.cpp @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/guez_nasat_9liner.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/guez_nasat_9liner.h index 3cfba9e67..1b402314c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/guez_nasat_9liner.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/guez_nasat_9liner.h @@ -5,7 +5,7 @@ #include "sim_to_situation_map_tmpl.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.cpp index 330e4852f..5ace6531a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.h index 2fa1cef62..bd98a0532 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/hitlineinfo_to_map.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/participant_to_map.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/participant_to_map.h index 3af39bb91..aee31ba47 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/participant_to_map.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/AdapterDds/participant_to_map.h @@ -11,8 +11,8 @@ #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/ConfigureUrl/sitmap_configure_urls.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/ConfigureUrl/sitmap_configure_urls.h index eb1560381..7dfe4819f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/ConfigureUrl/sitmap_configure_urls.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/ConfigureUrl/sitmap_configure_urls.h @@ -16,7 +16,7 @@ -#include +#include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/sitmap_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/sitmap_gui_plugin.h index 2eaec4f8a..255234207 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/sitmap_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/sitmap_gui_plugin.h @@ -11,7 +11,7 @@ #include "sitmap_layer_control.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/situation_map_init_p.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/situation_map_init_p.h index 30519ed70..72eb381f3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/situation_map_init_p.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationMapPlugin/Gui/SituationMap/situation_map_init_p.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplay/Gui/ReplayControl/replay_control_widget.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplay/Gui/ReplayControl/replay_control_widget.h index 9564f6356..411bb24ca 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplay/Gui/ReplayControl/replay_control_widget.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplay/Gui/ReplayControl/replay_control_widget.h @@ -14,7 +14,7 @@ #include #include -#include +#include namespace MarkerManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_dialog.h index 407e02e17..e691975fe 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_dialog.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.cpp index 4b76ae8e9..265809d0e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.h index e5bb06339..51d3135d6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/SituationReplayManagement/Gui/ReplayManagement/replay_management_gui_plugin.h @@ -3,7 +3,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/old/tgt_shootback_target_view.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/old/tgt_shootback_target_view.h index 8ec29f421..8ca53fd3b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/old/tgt_shootback_target_view.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/old/tgt_shootback_target_view.h @@ -10,7 +10,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_dialog.h index 657658cfb..a6e61bc15 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_dialog.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_edit.h index 70280c30d..e10dd5f9f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_area_edit.h @@ -10,7 +10,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_participant_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_participant_handler.h index 2ce962271..bfef3b820 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_participant_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_participant_handler.h @@ -9,8 +9,8 @@ #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_shootback_target_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_shootback_target_edit.h index 8677f494c..43acdcbbb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_shootback_target_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_shootback_target_edit.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.cpp index 63fd6ddcc..c48bdbe1d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.cpp @@ -12,8 +12,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.h index 2c92bb84e..1748bfbaa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_dialog.h @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_edit.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_edit.h index b19b0b1bf..134c9d6e0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_edit.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_area_assignment_edit.h @@ -9,7 +9,7 @@ #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_gui_plugin.h index f35af3b3c..3e08abe29 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_gui_plugin.h @@ -11,8 +11,8 @@ #include #include #include -#include -#include +#include +#include #include namespace TargetManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.cpp index 520772aee..6c88f11d3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.cpp @@ -11,8 +11,8 @@ #include #include #include -#include -#include +#include +#include #include #include "tgt_target_area_assignment_dialog.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.h index ad4490d05..fbf767a1b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TargetManagement/Gui/ShootbackTargetConfiguration/tgt_target_part_dialog.h @@ -6,8 +6,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Data/tln_data_plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Data/tln_data_plugin.cpp index c7eed4871..2cd87b976 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Data/tln_data_plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Data/tln_data_plugin.cpp @@ -29,7 +29,7 @@ std::shared_ptr DataPlugin::createDataInterface(LtsSe DataInterfaceImpl::DataInterfaceImpl(LtsSession::LtsSessionDataDds *session) : DataInterface() , m_foreign(std::make_shared(session)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Plugins.Timeline.Data")) + .getNGLLogger("Plugins.Timeline.Data")) {} ForeignInterfaceImpl::ForeignInterfaceImpl(LtsSession::LtsSessionDataDds *session) @@ -37,7 +37,7 @@ ForeignInterfaceImpl::ForeignInterfaceImpl(LtsSession::LtsSessionDataDds *sessio , m_webSocketScm(nullptr) , m_webSocketEem(nullptr) , m_liveHistoryBufferTimer(new QTimer(this)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Plugins.Timeline.Data")) + .getNGLLogger("Plugins.Timeline.Data")) { connect(m_liveHistoryBufferTimer, &QTimer::timeout, this, &ForeignInterfaceImpl::onClearHistoryBuffer); m_liveHistoryBufferTimer->setInterval(5000); @@ -101,7 +101,7 @@ TimelineDataProvider::TimelineDataProvider(int requestId, const QUrl &url, , m_bFinshed(false) , m_requestMin(from) , m_requestMax(to) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Plugins.Timeline.Data")) + .getNGLLogger("Plugins.Timeline.Data")) { connect(m_webSocketEem, &QWebSocket::disconnected, this, &TimelineDataProvider::disconnectedFromEem); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/Hit/tln_hit_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/Hit/tln_hit_filter.h index e9753c030..3637fcb11 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/Hit/tln_hit_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/Hit/tln_hit_filter.h @@ -3,8 +3,8 @@ #include "../../tln_abstract_event_filter.h" #include -#include -#include +#include +#include #include class QComboBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/HitBuilding/tln_hit_building_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/HitBuilding/tln_hit_building_filter.h index 919d069a0..a182d9b88 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/HitBuilding/tln_hit_building_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/HitBuilding/tln_hit_building_filter.h @@ -4,7 +4,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/RadioCnr/tln_radio_cnr_filter.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/RadioCnr/tln_radio_cnr_filter.h index 7dda8d508..4ffb0521c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/RadioCnr/tln_radio_cnr_filter.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/EventTypes/RadioCnr/tln_radio_cnr_filter.h @@ -4,7 +4,7 @@ #include "../../tln_timeline_model.h" #include -#include +#include class QComboBox; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_event_timeline_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_event_timeline_gui_plugin.h index 14334933d..35dd872df 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_event_timeline_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_event_timeline_gui_plugin.h @@ -6,13 +6,13 @@ #include #include #include -#include +#include #include #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_item_list_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_item_list_model.cpp index 985a3906c..97b3e9a25 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_item_list_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_item_list_model.cpp @@ -4,7 +4,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_timeline_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_timeline_dialog.h index d5714095e..6c4b67379 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_timeline_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimeline/tln_timeline_dialog.h @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/attribute_value_lookup.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/attribute_value_lookup.cpp index 70e446c2c..d0133bc31 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/attribute_value_lookup.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/attribute_value_lookup.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/detail_data.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/detail_data.cpp index 54484d4a7..76b8cb2ac 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/detail_data.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/detail_data.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog.h index e2e1e6375..4fc4c3d75 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog.h @@ -6,7 +6,7 @@ #include "tln_view_gui_plugin.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.cpp index 2b2edd920..4e54f2a78 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.cpp @@ -11,11 +11,11 @@ #include #include #include -#include +#include #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.h index 0b49902f8..5ecf7cb95 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_dialog_model.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_event_list_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_event_list_model.cpp index bebba0fcd..8fcfc560a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_event_list_model.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_event_list_model.cpp @@ -3,7 +3,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_view_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_view_gui_plugin.h index 1090187ec..b37a6485d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_view_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/Timeline/Gui/EventTimelineClassic/tln_view_gui_plugin.h @@ -6,12 +6,12 @@ #include #include #include -#include +#include #include #include #include -#include -#include +#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/OcTerminal/taboc_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/OcTerminal/taboc_gui_plugin.h index 27e17af20..ff9875858 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/OcTerminal/taboc_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/OcTerminal/taboc_gui_plugin.h @@ -4,7 +4,7 @@ #pragma once #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/SfmMessaging/taboc_sfm_messaging_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/SfmMessaging/taboc_sfm_messaging_dialog.h index 34e3299bc..165d891a7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/SfmMessaging/taboc_sfm_messaging_dialog.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/TrainingAreaBaseOC/Gui/SfmMessaging/taboc_sfm_messaging_dialog.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include namespace Ui diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_edit_dialog.cpp index 52c0ea887..6a44f2745 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_edit_dialog.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace WarehouseManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_list.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_list.cpp index e80b24e3a..1e7a9d999 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_list.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/equipment_type_list.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include namespace WarehouseManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_edit_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_edit_dialog.cpp index 25167433f..b228be569 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_edit_dialog.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_edit_dialog.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include namespace WarehouseManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_list.cpp b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_list.cpp index 830f2bc4f..323c895b7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_list.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/WarehouseManagement/Gui/injury_model_list.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include namespace WarehouseManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Plugins/skeleton/Skeleton.Stage3/Gui/YOUR_GUI_PLUGIN/skl_YOUR_GUI_PLUGIN_gui_plugin.h b/qt6-after/qt6-migrated-legatus/Lts/Plugins/skeleton/Skeleton.Stage3/Gui/YOUR_GUI_PLUGIN/skl_YOUR_GUI_PLUGIN_gui_plugin.h index 9a1068518..6cf710d01 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Plugins/skeleton/Skeleton.Stage3/Gui/YOUR_GUI_PLUGIN/skl_YOUR_GUI_PLUGIN_gui_plugin.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Plugins/skeleton/Skeleton.Stage3/Gui/YOUR_GUI_PLUGIN/skl_YOUR_GUI_PLUGIN_gui_plugin.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/ControlEffects/xmlreader.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/ControlEffects/xmlreader.cpp index e77e2b211..10e103f63 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/ControlEffects/xmlreader.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/ControlEffects/xmlreader.cpp @@ -12,7 +12,7 @@ namespace BuildingControlUnit XmlReader::XmlReader(QObject *parent) : QObject(parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("XmlReader")) + .getNGLLogger("XmlReader")) { } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/VWM/test_read_xml.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/VWM/test_read_xml.cpp index 0d21df9f7..937876e48 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/VWM/test_read_xml.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/BuildingControlUnit/VWM/test_read_xml.cpp @@ -15,7 +15,7 @@ Test::Test() : m_api(new BuildingControlUnit::VWM::Api(this)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("BCU.VWM.Test")) + .getNGLLogger("BCU.VWM.Test")) { connect(m_api, &BuildingControlUnit::VWM::Api::hitResult, this, &Test::hitResult); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/ppm_handler.h index 8d123310c..b47ee2c5f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/ppm_handler.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/relay_info_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/relay_info_handler.h index fe0d2529c..b81b6d755 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/relay_info_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/Buildings/relay_info_handler.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include "logger.h" #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/dds_handler_exercise.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/dds_handler_exercise.cpp index 82cf8d892..dfdb8eba7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/dds_handler_exercise.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/dds_handler_exercise.cpp @@ -2,7 +2,7 @@ #include "dds_handler_exercise.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/positions_cnr.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/positions_cnr.cpp index a2db7dd7f..a6b83e1b8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/positions_cnr.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/CombatNetRadio/positions_cnr.cpp @@ -6,7 +6,7 @@ #include "exercise_manager.h" #include "helper.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/FeedGeoJson/feedGeoJson.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/FeedGeoJson/feedGeoJson.h index 0435de12c..656ccb9bc 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/FeedGeoJson/feedGeoJson.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/FeedGeoJson/feedGeoJson.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/dds_handler.h index 6352f0038..012767fba 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/dds_handler.h @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/handler_nasat_impact.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/handler_nasat_impact.cpp index 752dfe0a3..2d6442cb5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/handler_nasat_impact.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/GuezNasat/handler_nasat_impact.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/aes_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/aes_handler.h index afd9c55f0..6dca0f4e7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/aes_handler.h @@ -6,9 +6,9 @@ #include #include -#include +#include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.cpp index c776111fd..594cf3750 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.cpp @@ -6,7 +6,7 @@ #include "ngs_handler.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.h index 61c6aea9c..860ff7b89 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/ppm_handler.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/socketreader.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/socketreader.cpp index a0c5c1ef1..acb332fdf 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/socketreader.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Apache/socketreader.cpp @@ -16,7 +16,7 @@ SocketReader::SocketReader(QObject *parent) : QThread(parent) , m_socket(new QTcpSocket(this)) , m_hlaRequestIdentifier(0) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("SocketReader")) + .getNGLLogger("SocketReader")) { } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/aes_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/aes_handler.h index 922e3d071..a056503eb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/aes_handler.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.cpp index a4346410f..46fae0dc6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.cpp @@ -6,7 +6,7 @@ #include "ngs_handler.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.h index 371818be6..092caa164 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Guez/ppm_handler.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Hla_test_tool/web_socket_interface.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Hla_test_tool/web_socket_interface.cpp index b4f6efd8f..228fe02bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Hla_test_tool/web_socket_interface.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/HighLevelArchitecture/Hla_test_tool/web_socket_interface.cpp @@ -23,7 +23,7 @@ WsInterface::WsInterface(std::shared_ptr ngsHandler, QObject *parent : QObject(parent) , m_wsServer(new QWebSocketServer(QStringLiteral("GNA"), QWebSocketServer::NonSecureMode, this)) , m_ngsHandler(ngsHandler) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("HlaTestTool.WsInterface")) + .getNGLLogger("HlaTestTool.WsInterface")) { TRACE_LOG() << Q_FUNC_INFO << " START"; TRACE_LOG() << Q_FUNC_INFO << " END"; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/aes_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/aes_handler.h index eeacdc4c3..9ed52cb1e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/aes_handler.h @@ -14,9 +14,9 @@ #include #include #include -#include +#include +#include #include -#include namespace AdlerJson { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/json_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/json_dispatcher.h index 4a00b629c..29a9c870f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/json_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/json_dispatcher.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include "aes_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/main_dispatcher.h index 1e60b0d5e..91dd21c35 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/main_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include #include "ppm_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/ppm_handler.h index 8a9830b06..72b3240d4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/ppm_handler.h @@ -7,7 +7,7 @@ #include "main_dispatcher.h" #include "logger.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/aes_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/aes_handler.h index b91055640..e88ca1ca0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/aes_handler.h @@ -8,9 +8,9 @@ #include #include #include -#include +#include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/hla_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/hla_dispatcher.h index 5a1bc3e40..4902a66bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/hla_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/hla_dispatcher.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include "logger.h" #include "ppm_handler.h" #include "aes_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/main_dispatcher.h index 980e500d6..a36d39a84 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/main_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "dds_handler.h" #include "logger.h" #include "ppm_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/ppm_handler.h index 980f33fc6..33b65af4e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/ApacheHlaJson/ppm_handler.h @@ -6,7 +6,7 @@ #include "logger.h" #include "dds_handler.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/convert_to_json_file.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/convert_to_json_file.cpp index c7647b938..cb1058605 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/convert_to_json_file.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/convert_to_json_file.cpp @@ -14,7 +14,7 @@ ConvertToJsonFile::ConvertToJsonFile(const QString &txDir) : SendToTab() , m_bRetvalOnError(false) , m_txDir(txDir + QLatin1Char('/')) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("TAB.Plugin.ConvertToJsonFile")) + .getNGLLogger("TAB.Plugin.ConvertToJsonFile")) { resetSendCounter(); } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_cleaner.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_cleaner.cpp index 02137e2fb..db9b37200 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_cleaner.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_cleaner.cpp @@ -23,7 +23,7 @@ DirectoryCleaner::DirectoryCleaner(const QString &directory, unsigned int maxAge : QObject(parent) , m_cleanerThread(new QThread(this)) , m_worker(new DirectoryCleanerWorker(directory, maxAgeSec)) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("TAB.Plugin.DirectoryCleaner")) + .getNGLLogger("TAB.Plugin.DirectoryCleaner")) { QDir().mkpath(directory); doInitialCleanup(directory); @@ -97,7 +97,7 @@ DirectoryCleanerWorker::DirectoryCleanerWorker(const QString &directory, unsigne : m_directory(directory) , m_maxAgeSec(maxAgeSec) , m_bWarnedOnce(false) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("TRA.Plugin.DirectoryCleaner")) + .getNGLLogger("TRA.Plugin.DirectoryCleaner")) {} void DirectoryCleanerWorker::onTimeout() diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_dispatcher.h index 3693985f5..2e898ef98 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/DebugJsonDir/directory_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "../TetraJson/convert_from_json.h" #include "convert_to_json_file.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/hla_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/hla_dispatcher.h index d1807e1b8..12996c3bb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/hla_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/hla_dispatcher.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include "logger.h" class QTimer; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/main_dispatcher.h index 69ba7aa69..d56dc7ef4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/HlaJson/main_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "logger.h" namespace HlaJson diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/main_dispatcher.h index 605e3f378..bac1e7035 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/main_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "logger.h" namespace Nmea diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_dispatcher.h index a352f6d19..88d7475be 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_dispatcher.h @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include "logger.h" namespace Nmea diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/TetraJson/convert_from_json.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/TetraJson/convert_from_json.cpp index ec86bbdf6..56f016070 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/TetraJson/convert_from_json.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/TetraJson/convert_from_json.cpp @@ -14,7 +14,7 @@ ConvertFromJson::ConvertFromJson(const std::shared_ptrsettings()->value(QLatin1String("AES/use2BytesForSingleFireDiameter"), true).toBool()); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.cpp index 00b9ef2e5..a664e83f8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.cpp @@ -23,7 +23,7 @@ FromTab::FromTab(const std::shared_ptr &ddsHandler , m_sendToDds(sendToDds) , m_uavIAManager(uavIAManager) , m_exerciseId(exerciseId) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("FromTab")) + .getNGLLogger("FromTab")) { m_dtcPpm->enableUAS(); m_dtcPpm->enableParticipant(); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.h index 94809f0cb..2f29564f2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/from_tab.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include namespace ProjectDataManagement { namespace Interface { class Dtc; } } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.cpp index 3c00e5817..185d0a9af 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.cpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.h index 957ebd3d0..0286fdf0b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/plugin_instance.h @@ -7,7 +7,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/uav_ia_manager.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/uav_ia_manager.cpp index 02cbf5349..d35ead2d7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/uav_ia_manager.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/UAS/uav_ia_manager.cpp @@ -7,7 +7,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/main_dispatcher.h index 8db0cac68..9b38fd2ec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/main_dispatcher.h @@ -5,7 +5,7 @@ #include #include -#include +#include #include "logger.h" namespace WlsTetra diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/tetra_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/tetra_dispatcher.h index f0d18b6c0..63d6a9b87 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/tetra_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/tetra_dispatcher.h @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include "tetra_prtcnv.h" #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/wls_dispatcher.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/wls_dispatcher.h index 8b0fe21e1..59ef79280 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/wls_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/Plugins/WlsTetra/wls_dispatcher.h @@ -6,7 +6,7 @@ #include #include #include -#include +#include #include "logger.h" class QTimer; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/ppm_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/ppm_handler.h index c1f026122..5121df44c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBase/ppm_handler.h @@ -2,7 +2,7 @@ #pragma once -#include +#include #include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_channel.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_channel.cpp index 9ca081923..6ba339645 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_channel.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_channel.cpp @@ -14,7 +14,7 @@ Channel::Channel(QChar channel, bool bIsBinary, QObject *parent) , m_channel(channel) , m_bIsBinary(bIsBinary) , m_device(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("SCTT.Channel")) + .getNGLLogger("SCTT.Channel")) {} void Channel::setDevice(Device *dev) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_device.cpp b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_device.cpp index 3652a0217..79ee5c708 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_device.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/TrainingAreaBaseOC/ttci_device.cpp @@ -17,7 +17,7 @@ Device::Device(QObject *parent, bool tcpMode) , m_restartTimer(new QTimer(this)) , m_receiveTimeoutTimer(new QTimer(this)) , m_tcpMode(tcpMode) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("TTCI.Device")) + .getNGLLogger("TTCI.Device")) { connect(m_spQuerry, &LtsSerialPortQuerry::LtsSerialPortQuerry::connectionEstablished, this, &Device::open); m_spQuerry->restartQuerry(); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler.h index 74adb64df..43ae0f61e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler.h @@ -4,7 +4,7 @@ #include #include -#include +#include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler_exercise.h b/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler_exercise.h index dedba9188..c6bad1c45 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler_exercise.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Proxies/WarehouseManagement/dds_handler_exercise.h @@ -3,7 +3,7 @@ #pragma once #include -#include +#include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/dds_handler.h index c95523109..036a033fe 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/dds_handler.h @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/handler_participant.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/handler_participant.h index ce1289317..b317a37d4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/handler_participant.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/handler_participant.h @@ -12,7 +12,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/object_emergency_call.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/object_emergency_call.h index 72981eb0d..dc1e3ea45 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/object_emergency_call.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AlarmManagement/object_emergency_call.h @@ -4,7 +4,7 @@ #include #include "logger.h" -#include +#include //Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_EffectCluster/effect_cluster_module_test.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_EffectCluster/effect_cluster_module_test.h index 7b72f700f..7f0950acb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_EffectCluster/effect_cluster_module_test.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_EffectCluster/effect_cluster_module_test.h @@ -25,7 +25,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_ExplosionCluster/explosion_cluster_module_test.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_ExplosionCluster/explosion_cluster_module_test.h index a4426e53d..076b7a6c0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_ExplosionCluster/explosion_cluster_module_test.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_ExplosionCluster/explosion_cluster_module_test.h @@ -21,7 +21,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.cpp index a602c7d36..24ff43aa7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.cpp @@ -14,7 +14,7 @@ // AES #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.h index 84e3eb24f..86eb2a485 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_Limits/limits_module_test.h @@ -19,7 +19,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_others/aes_others_module_test.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_others/aes_others_module_test.h index b1cde2931..504ac1af2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_others/aes_others_module_test.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/ModuleTest_others/aes_others_module_test.h @@ -19,7 +19,7 @@ #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/Utils/polygons.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/Utils/polygons.cpp index 92d31f3ab..8b5634a8a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/Utils/polygons.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/Utils/polygons.cpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/dds_handler.h index 02721055d..ba0e3e711 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/dds_handler.h @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include // For Elevation diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/handler_effector.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/handler_effector.h index f2694155f..eaaed1df9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/handler_effector.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/handler_effector.h @@ -7,7 +7,7 @@ #pragma once #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_base.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_base.h index 6d05f131a..eb0fb7ae6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_base.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_base.h @@ -17,7 +17,7 @@ #include "special_area_provider.h" #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_borderline.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_borderline.h index e23ceb740..400065fef 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_borderline.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_borderline.h @@ -10,7 +10,7 @@ #include #include "object_base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_charge_effect.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_charge_effect.h index 08834c64f..ed5da2d6f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_charge_effect.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_charge_effect.h @@ -11,7 +11,7 @@ #include "logger.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_gas_pipe.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_gas_pipe.h index 2771a3f03..cf0923d34 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_gas_pipe.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_gas_pipe.h @@ -10,7 +10,7 @@ #include #include "object_base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area.cpp index 54fbe360c..0f30bff87 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area.cpp @@ -17,7 +17,7 @@ #include #include -#include // LtsUtils::toOptional +#include // LtsUtils::toOptional #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area_null.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area_null.h index 57a4b21e5..622d951bd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area_null.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AreaEffectSimulation/object_mine_area_null.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include "aes_db.h" #include "object_base.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_asset.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_asset.h index bfc3fcb4d..d4caf8503 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_asset.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_asset.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_map_description.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_map_description.h index 4dd967335..13f9e98c7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_map_description.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_map_description.h @@ -8,7 +8,7 @@ #pragma once #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_relay_info.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_relay_info.h index 6dbda5312..e212bc048 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_relay_info.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_relay_info.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_training_area.h b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_training_area.h index aa389b7dc..b98e03520 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_training_area.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AssetManagement/object_training_area.h @@ -10,7 +10,7 @@ #include #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/ModuleTests/avm_vca_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/ModuleTests/avm_vca_tests.cpp index 9e2634a62..730a2bb6b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/ModuleTests/avm_vca_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/ModuleTests/avm_vca_tests.cpp @@ -41,7 +41,7 @@ AvmVcaTests::AvmVcaTests(int domainId, int exerciseId, int operatorId) : m_ddsConnector(std::make_shared(domainId, IDL::PartitionType::Exercise)) , m_exerciseId(exerciseId) , m_operatorId(operatorId) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("VcaTest")) + .getNGLLogger("VcaTest")) { Q_ASSERT(exerciseId > 0); Q_ASSERT(operatorId > 0); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/object_menu_struct.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/object_menu_struct.cpp index 74907fbec..65da8b1d8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/object_menu_struct.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/AudioVideoManagement/object_menu_struct.cpp @@ -13,7 +13,7 @@ #include "logger.h" #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ArtillerySound/handler_artillerie_sound.h b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ArtillerySound/handler_artillerie_sound.h index ea684a2c6..744118c0f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ArtillerySound/handler_artillerie_sound.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ArtillerySound/handler_artillerie_sound.h @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/Ces2D/plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/Ces2D/plugin.cpp index c9493bada..d2381b5e4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/Ces2D/plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/Ces2D/plugin.cpp @@ -40,7 +40,7 @@ Ces2DInterfaceImpl::Ces2DInterfaceImpl(CentralEffectSimulation::Plugin::DataProv , m_db(db) , m_handlerBuildingData(handlerBuildingData) , m_handlerParticipant(handlerParticipant) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CES.Plugin.CentralEffectSimulation2DInterfaceImpl")) + .getNGLLogger("CES.Plugin.CentralEffectSimulation2DInterfaceImpl")) { Q_UNUSED(settings) } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ECHO/echoplugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ECHO/echoplugin.cpp index 061d46086..cadd1732c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ECHO/echoplugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ECHO/echoplugin.cpp @@ -27,7 +27,7 @@ EchoInterfaceImpl::EchoInterfaceImpl(CentralEffectSimulation::Plugin::DataProvid NGL::Settings *settings) : m_pdp(pdp) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CES.Plugin.EchoInterfaceImpl")) + .getNGLLogger("CES.Plugin.EchoInterfaceImpl")) { } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/plugin.cpp index bbb20b1c2..cb0c4e72e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/GeoPairing/plugin.cpp @@ -32,7 +32,7 @@ CesGeoPairingInterfaceImpl::CesGeoPairingInterfaceImpl(CentralEffectSimulation:: , m_ddsHandler(m_mainHandler->dds()) , m_db(m_mainHandler->db()) , m_handlerParticipant(m_mainHandler->handlerParticipant()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CES.Plugin.GeoPairingInterfaceImpl")) + .getNGLLogger("CES.Plugin.GeoPairingInterfaceImpl")) { Q_UNUSED(settings) } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_handler.cpp index 7cea5911c..11f801eba 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_handler.cpp @@ -168,7 +168,7 @@ bool CesMissionPlanHandler::isUasInAutoMode(int participantId) return (uas.uasState() == ProjectDataManagement::UasState::Auto); } -// stolen from Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.cpp +// stolen from Lts/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.cpp bool CesMissionPlanHandler::isUasCombatReady(int participantId) { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_object.h b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_object.h index 6b4b16fce..29ff7d7e6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_object.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/MissionPlan/ces_mission_plan_object.h @@ -9,7 +9,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ParticipantBuildings/handler_blocked_areas.h b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ParticipantBuildings/handler_blocked_areas.h index a6a2c439d..1e7783044 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ParticipantBuildings/handler_blocked_areas.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/ParticipantBuildings/handler_blocked_areas.h @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/dds_handler.h index becf7ab50..1a208730d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/dds_handler.h @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/plugin.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/plugin.cpp index ee7d72bca..9817b5156 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/plugin.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/Plugins/TargetAreas/plugin.cpp @@ -26,7 +26,7 @@ TargetAreasInterfaceImpl::TargetAreasInterfaceImpl(CentralEffectSimulation::Plug NGL::Settings *settings) : m_pdp(pdp) , m_ddsConnector(dDSConnector) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CES.Plugin.TargetAreasInterfaceImpl")) + .getNGLLogger("CES.Plugin.TargetAreasInterfaceImpl")) { Q_UNUSED(settings) } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/dds_handler.h index c5a858534..8b60444e2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/CentralEffectSimulation/dds_handler.h @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowClient/object_order.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowClient/object_order.h index 6cbf354dc..1b777a1e5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowClient/object_order.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowClient/object_order.h @@ -11,7 +11,7 @@ #include #include -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/dds_handler.h index 60d6c7755..d99b298a8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/dds_handler.h @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/handler_ppm_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/handler_ppm_data.h index 867c5ccf0..fa1d5f783 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/handler_ppm_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/handler_ppm_data.h @@ -11,7 +11,7 @@ #include "initialization.h" #include "logger.h" #include -#include +#include // Participand Management-Handling for Effect Show Actors diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_aes_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_aes_data.h index deab1f5cc..8c905373a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_aes_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_aes_data.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show.h index d4a837f7e..3b5a16d93 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show.h @@ -12,7 +12,7 @@ #include "esm_convert_from_tab.h" #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_actor_relocation.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_actor_relocation.h index b41ad1f24..08d6eb31a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_actor_relocation.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_actor_relocation.h @@ -10,7 +10,7 @@ #include "esm_convert_to_tab.h" #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_vehicle_status.h b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_vehicle_status.h index d83a8e58e..332eead6f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_vehicle_status.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/EffectShowManagement/object_effect_show_vehicle_status.h @@ -11,7 +11,7 @@ #include "handler_ppm_data.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_comment.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_comment.h index c8f1b2cf8..2f2cdb7ad 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_comment.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_comment.h @@ -9,7 +9,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_criterium.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_criterium.h index dca436e83..e05cdedf1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_criterium.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_criterium.h @@ -9,7 +9,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_evaluation_element.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_evaluation_element.h index 3011125a2..6474439a7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_evaluation_element.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_evaluation_element.h @@ -9,7 +9,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_category_line.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_category_line.h index 2294c90a5..67cc78185 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_category_line.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_category_line.h @@ -9,7 +9,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_nine_liner.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_nine_liner.h index f6905e8ed..857a824a6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_nine_liner.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Evaluations/object_san_nine_liner.h @@ -9,7 +9,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseEventManagement/handler_dynamic_participant_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseEventManagement/handler_dynamic_participant_data.h index de4635036..12faaacb3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseEventManagement/handler_dynamic_participant_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseEventManagement/handler_dynamic_participant_data.h @@ -11,7 +11,7 @@ #include "main_handler.h" #include "logger.h" -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests.cpp index eb70885a6..1e14cdd5b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include @@ -33,7 +33,7 @@ DataTopicTests::DataTopicTests() , m_subscriberListenerBinder(nullptr) , m_dtcExercise(nullptr) , m_mainThreadId(QThread::currentThreadId()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.DataTopicTests")) + .getNGLLogger("UnitTests.DataTopicTests")) { if (!DDS::QosProfile::setDefault()) ERROR_LOG() << "Error setting default QoS from xml-file "; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests_main.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests_main.cpp index 69810f31f..fd288167e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests_main.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/data_topic_tests_main.cpp @@ -12,7 +12,7 @@ #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/initialisation.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/initialisation.cpp index 1601cf264..581740823 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/initialisation.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/UnitTests/initialisation.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include Initialisation::Initialisation() @@ -22,7 +22,7 @@ Initialisation::Initialisation() , m_ddsPublisher(nullptr) , m_ddsSubscriber(nullptr) , m_subListener(new DTC::SubscriberListener) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.Initialisation")) + .getNGLLogger("UnitTests.Initialisation")) { DDS::DefaultQos defaultQos; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/convert_db_to_dds.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/convert_db_to_dds.h index f6bedd900..e19d47755 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/convert_db_to_dds.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/convert_db_to_dds.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include namespace ExerciseManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/dds_handler.h index 4f57d4dc1..34dec0a47 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/dds_handler.h @@ -12,7 +12,7 @@ #include #include #include -#include // for checkEquipmentNumbersOnAllExercises +#include // for checkEquipmentNumbersOnAllExercises #include // for checking double cnrconfigs in linked exercise #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.cpp index 498c4d9a5..0a879127f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include #include namespace ExerciseManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.h index 35220f7ee..59853756c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise.h @@ -8,7 +8,7 @@ #include #include "dds_handler.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise_phase.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise_phase.h index ef8746d94..0170f62d6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise_phase.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ExerciseManagement/object_exercise_phase.h @@ -8,7 +8,7 @@ */ #pragma once -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_content.h b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_content.h index 31dfe6908..2f8b20faf 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_content.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_content.h @@ -11,7 +11,7 @@ #include "base.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_type_info.h b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_type_info.h index bfc6a047a..3e5715a4d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_type_info.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_file_type_info.h @@ -11,7 +11,7 @@ #include "base.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_folder.h b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_folder.h index c71736964..a32a65fc5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_folder.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/object_folder.h @@ -11,7 +11,7 @@ #include "base.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/thp_script_httq.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/thp_script_httq.cpp index 2bd4575a4..d59b5a28d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/thp_script_httq.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/FileManagement/thp_script_httq.cpp @@ -57,7 +57,7 @@ LoggerFactory *ThpScriptServer::createLoggerFactory() // Logger Logger::Logger(LoggerFactory *loggerFactory, QObject *parent) : httq::Logger(loggerFactory, parent) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger(QString::fromUtf8(parent->metaObject()->className()).replace(QStringLiteral("::"), QStringLiteral(".")).toStdString())) // man man + .getNGLLogger(QString::fromUtf8(parent->metaObject()->className()).replace(QStringLiteral("::"), QStringLiteral(".")).toStdString())) // man man {} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/handler_ied.h b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/handler_ied.h index 597986d8a..2cf964505 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/handler_ied.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/handler_ied.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include #include "dds_handler.h" #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/object_ied.h b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/object_ied.h index cb59e2283..9bd3c82f8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/object_ied.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezIedManagement/object_ied.h @@ -10,8 +10,8 @@ #include "dds_handler.h" #include "logger.h" -#include -#include +#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/UnitTests/gmp_minefieldInterpreter_test.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/UnitTests/gmp_minefieldInterpreter_test.cpp index 629c2106f..7b18251e2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/UnitTests/gmp_minefieldInterpreter_test.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/UnitTests/gmp_minefieldInterpreter_test.cpp @@ -44,7 +44,7 @@ GmpMinefieldInterpreterTestsMain::GmpMinefieldInterpreterTestsMain() , m_receivedVeType(0) , m_minefieldInterpreterTimer(nullptr) , m_minefieldSpy(nullptr) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("Tests.GmpMinefieldInterpreterTest")) + .getNGLLogger("Tests.GmpMinefieldInterpreterTest")) { } diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/handler_minelayer_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/handler_minelayer_data.h index 842f1166b..c4de3b94a 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/handler_minelayer_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/GuezMinelayerProcessing/handler_minelayer_data.h @@ -14,7 +14,7 @@ #include #include -#include +#include #include #include "GFS_map_cont.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_effect_area.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_effect_area.h index 0c8116cfe..f60647b2b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_effect_area.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_effect_area.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_instrumentation_asset.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_instrumentation_asset.h index ef1bdcb1e..c4d914a32 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_instrumentation_asset.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_instrumentation_asset.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_schedule.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_schedule.h index c97d8aad6..436a996a2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_schedule.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_schedule.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_structure_element.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_structure_element.h index 030bfdb52..6060067d5 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_structure_element.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_main_structure_element.h @@ -12,7 +12,7 @@ #include #include #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_mounting_point_asset.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_mounting_point_asset.h index 19ff220be..181718bce 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_mounting_point_asset.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_mounting_point_asset.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_special_area.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_special_area.h index ac72fef71..7d0f72458 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_special_area.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_special_area.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_structure_element.h b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_structure_element.h index 95955f915..84798397e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_structure_element.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/object_structure_element.h @@ -10,7 +10,7 @@ #pragma once #include "base.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_marker.h b/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_marker.h index ebdd68822..51ae0f144 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_marker.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_marker.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "mrk_db.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_snapshot.h b/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_snapshot.h index b219c7709..056103c7e 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_snapshot.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/MarkerManagement/object_snapshot.h @@ -11,7 +11,7 @@ #include #include "dds_handler.h" #include "mrk_db.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/dds_handler.h index 3ff60869b..8c4f2fe25 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/dds_handler.h @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/exercises_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/exercises_handler.h index 455009f3d..8281756fe 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/exercises_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/Messaging/exercises_handler.h @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/NotificationManagement/object_notification.h b/qt6-after/qt6-migrated-legatus/Lts/Services/NotificationManagement/object_notification.h index 462cae8ef..797351da7 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/NotificationManagement/object_notification.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/NotificationManagement/object_notification.h @@ -10,7 +10,7 @@ #include "dds_handler.h" //#include "nom_db.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcBaseDownload/handler_pdf_download.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/OcBaseDownload/handler_pdf_download.cpp index cdcf27a73..259f308fa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcBaseDownload/handler_pdf_download.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcBaseDownload/handler_pdf_download.cpp @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include #include "main_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/handler_oc_situation_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/handler_oc_situation_data.h index 4b7dd5058..31718dd37 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/handler_oc_situation_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/handler_oc_situation_data.h @@ -9,7 +9,7 @@ #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/main_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/main_handler.h index db9695873..91ee6f54f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/main_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationClient/main_handler.h @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_central_aes_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_central_aes_data.h index 11e542a2e..78c5d3dec 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_central_aes_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_central_aes_data.h @@ -16,7 +16,7 @@ #include #include -#include +#include #include "main_handler.h" #include "position_converter.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_situation_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_situation_data.h index 1c0af2c3b..8c72847c3 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_situation_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/handler_oc_situation_data.h @@ -17,7 +17,7 @@ #include #include -#include +#include #include "main_handler.h" #include "position_converter.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/main_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/main_handler.h index b85bacc27..85d405fe8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/main_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OcSituationServer/main_handler.h @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/handler_locked_topics.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/handler_locked_topics.cpp index 6129803ce..f6dce336d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/handler_locked_topics.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/handler_locked_topics.cpp @@ -11,7 +11,7 @@ #include "handler_operator.h" #include #include -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_access_control_level.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_access_control_level.h index 81fce3c03..69e8e9863 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_access_control_level.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_access_control_level.h @@ -6,7 +6,7 @@ */ #pragma once -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_group.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_group.h index a0375c711..14d996d80 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_group.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_group.h @@ -6,7 +6,7 @@ */ #pragma once -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_operator.h b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_operator.h index 762acc1e9..1a750012b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_operator.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/OperatorManagement/object_operator.h @@ -6,7 +6,7 @@ */ #pragma once -#include +#include #include // Generated diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ModuleTests/ppm_tests.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ModuleTests/ppm_tests.h index 138a1bc96..5a0d46513 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ModuleTests/ppm_tests.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ModuleTests/ppm_tests.h @@ -20,7 +20,7 @@ #pragma once -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.cpp index db826fc56..31f91bfd8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.cpp @@ -2,7 +2,7 @@ * @RDE_HEADER@ * The FiringUnitValidator regulates the rules for firing units * $Id: participant_dis_helper.h 37747 2017-12-08 08:07:01Z ehrlicher $ - * $HeadURL: svn://10.196.0.54/TDS/branches/product/features/24_vulcano/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h $ + * $HeadURL: svn://10.196.0.54/TDS/branches/product/features/24_vulcano/Lts/ParticipantManagement/Gui/Common/participant_dis_helper.h $ * $Author: ehrlicher $ * Created by Hannes Fritsche, ESZS, 2024-03-07 */ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.h index cfcfcc2f9..3c265692d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/firing_unit_validator.h @@ -2,7 +2,7 @@ * @RDE_HEADER@ * The FiringUnitValidator regulates the rules for firing units serverside * $Id: participant_dis_helper.h 37747 2017-12-08 08:07:01Z ehrlicher $ - * $HeadURL: svn://10.196.0.54/TDS/branches/product/features/24_vulcano/Lts/Plugins/ParticipantManagement/Gui/Common/participant_dis_helper.h $ + * $HeadURL: svn://10.196.0.54/TDS/branches/product/features/24_vulcano/Lts/ParticipantManagement/Gui/Common/participant_dis_helper.h $ * $Author: ehrlicher $ * Created by Hannes Fritsche, ESZS, 2024-03-07 */ @@ -11,7 +11,7 @@ #include #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/participant_handler_for_exercise.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/participant_handler_for_exercise.h index d22e24141..1278f3757 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/participant_handler_for_exercise.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/ParticipantHandling/participant_handler_for_exercise.h @@ -17,7 +17,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/PartyHandling/party.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/PartyHandling/party.h index a135f5ca5..ba665b24b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/PartyHandling/party.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/PartyHandling/party.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TargetHandling/object_target_information.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TargetHandling/object_target_information.h index 63c9a24d3..f8bfdab65 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TargetHandling/object_target_information.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TargetHandling/object_target_information.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TypeHandling/type_handler_exercise.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TypeHandling/type_handler_exercise.cpp index 14558d3eb..e543fe7b8 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TypeHandling/type_handler_exercise.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/TypeHandling/type_handler_exercise.cpp @@ -10,7 +10,7 @@ #include "main_handler.h" #include "convert_db_to_dds.h" -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/mission_plan_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/mission_plan_handler.cpp index 460497db9..d8dd5c4e9 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/mission_plan_handler.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/mission_plan_handler.cpp @@ -189,7 +189,7 @@ bool MissionPlanHandler::isUasInAutoMode(int participantId) return (uas.uasState() == ProjectDataManagement::UasState::Auto); } -// stolen from Lts/Plugins/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.cpp +// stolen from Lts/ParticipantManagement/Gui/ParticipantInfo/participant_info_dialog.cpp bool MissionPlanHandler::isUasCombatReady(int participantId) { m_mainHandler->ddsHandler()->dtc()->waitForHistoricalDataDynamicParticipantData(3000); diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/object_mission_plan.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/object_mission_plan.h index e91178ab2..e626d86aa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/object_mission_plan.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/object_mission_plan.h @@ -10,7 +10,7 @@ #include -#include +#include #include #include #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/uas.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/uas.h index 976a70a1c..b5f3532b2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/uas.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/UasHandling/uas.h @@ -8,7 +8,7 @@ #pragma once #include -#include +#include namespace ParticipantManagement { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/WebSocketInterface/data_manager.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/WebSocketInterface/data_manager.h index 5b9439cf4..96c505ee4 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/WebSocketInterface/data_manager.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/WebSocketInterface/data_manager.h @@ -10,7 +10,7 @@ #include #include -#include +#include #include "logger.h" namespace ParticipantManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/dds_handler.h index eba47e04f..60f7188fd 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ParticipantManagement/dds_handler.h @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/CMakeLists.txt index 0d1a8f024..88a067d36 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/CMakeLists.txt +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/CMakeLists.txt @@ -37,6 +37,7 @@ NGL_TARGET_INCLUDE_DIRECTORIES(svcPreCommon PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../ ${CMAKE_CURRENT_BINARY_DIR}/../ + ${CMAKE_CURRENT_BINARY_DIR} ) IF(BUILD_RTI) NGL_TARGET_LINK_LIBRARIES(svcPreCommon diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/object_presentation.h b/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/object_presentation.h index 2b7acbe46..7a99e63e6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/object_presentation.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/PresentationManagement/object_presentation.h @@ -10,7 +10,7 @@ #pragma once #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Analyzer/handler_dynamic_participant_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Analyzer/handler_dynamic_participant_data.h index 51e4d654e..8dc035234 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Analyzer/handler_dynamic_participant_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Analyzer/handler_dynamic_participant_data.h @@ -12,7 +12,7 @@ #include "rep_db.h" #include "logger.h" -#include +#include #include #ifdef GUEZ_MODE #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_data.h index 9c1f09526..018238c28 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_data.h @@ -14,7 +14,7 @@ #include "rep_db.h" #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_get_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_get_data.h index 62c452925..88fb195a2 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_get_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/handler_report_get_data.h @@ -12,7 +12,7 @@ #include "logger.h" #include "rep_db.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/object_report_info.h b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/object_report_info.h index f2958c5f0..12b42bec1 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/object_report_info.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ReportManagement/Generator/object_report_info.h @@ -9,7 +9,7 @@ #include #include "dds_handler.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests.cpp index f6aa57598..585524440 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include #include #include @@ -35,7 +35,7 @@ DataTopicTests::DataTopicTests() , m_dtcServiceInformation(nullptr) , m_dtcGroupInformation(nullptr) , m_mainThreadId(QThread::currentThreadId()) - , m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("UnitTests.DataTopicTests")) + .getNGLLogger("UnitTests.DataTopicTests")) { if (!DDS::QosProfile::setDefault()) ERROR_LOG() << "Error setting default QoS from xml-file "; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests_main.cpp b/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests_main.cpp index 578948281..d5dce6c4c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests_main.cpp +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/ServiceManagement/UnitTests/data_topic_tests_main.cpp @@ -10,7 +10,7 @@ #include "data_topic_tests_main.h" #include "data_topic_tests.h" -#include +#include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_dt_tests.h b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_dt_tests.h index 9754a88e7..c870c73b6 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_dt_tests.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_dt_tests.h @@ -30,7 +30,7 @@ #include #include -//#include +//#include namespace SituationReplay { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_ft_tests.h b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_ft_tests.h index 85ac55000..74df6a25d 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_ft_tests.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/ModuleTests/srp_ft_tests.h @@ -27,7 +27,7 @@ #include #include -#include +#include #include namespace SituationReplay diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/object_situation_replay.h b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/object_situation_replay.h index 3a143634d..fb3ebac7b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/object_situation_replay.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/SituationReplay/object_situation_replay.h @@ -11,7 +11,7 @@ #include #include "dds_handler.h" #include "db_reader.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/dds_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/dds_handler.h index 00eb4d05a..0ed3ac710 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/dds_handler.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/dds_handler.h @@ -18,7 +18,7 @@ #include #include #include -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_area.h b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_area.h index dfd6803d0..07780ce8c 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_area.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_area.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_target.h b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_target.h index a1be60e43..d2f5d7f95 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_target.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_shootback_target.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_target_area_assignment.h b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_target_area_assignment.h index 97bd526a4..1be4aa332 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_target_area_assignment.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/TargetManagement/object_target_area_assignment.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/VideoOverlayManagement/handler_participant_data.h b/qt6-after/qt6-migrated-legatus/Lts/Services/VideoOverlayManagement/handler_participant_data.h index 5654246de..9506a474f 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/VideoOverlayManagement/handler_participant_data.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/VideoOverlayManagement/handler_participant_data.h @@ -11,7 +11,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include #include #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/handler_types.h b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/handler_types.h index 4380ae918..4d5435acb 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/handler_types.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/handler_types.h @@ -9,7 +9,7 @@ #include -#include +#include #include "main_handler.h" #include "logger.h" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_equipment_type_wh.h b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_equipment_type_wh.h index 43529d8ab..f709727e0 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_equipment_type_wh.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_equipment_type_wh.h @@ -9,7 +9,7 @@ #include "logger.h" #include "main_handler.h" -#include +#include namespace WarehouseGuez { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_injury_model.h b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_injury_model.h index f4e7604cf..a4bcf86aa 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_injury_model.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/WarehouseGuez/object_injury_model.h @@ -9,7 +9,7 @@ #include "logger.h" #include "main_handler.h" -#include +#include namespace WarehouseGuez { diff --git a/qt6-after/qt6-migrated-legatus/Lts/Services/skeleton/stub/object_xxx.h b/qt6-after/qt6-migrated-legatus/Lts/Services/skeleton/stub/object_xxx.h index ff19f4a16..6953e965b 100755 --- a/qt6-after/qt6-migrated-legatus/Lts/Services/skeleton/stub/object_xxx.h +++ b/qt6-after/qt6-migrated-legatus/Lts/Services/skeleton/stub/object_xxx.h @@ -10,7 +10,7 @@ #include "dds_handler.h" #include "logger.h" -#include +#include // Generated #include diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt new file mode 100644 index 000000000..402db29d8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/CMakeLists.txt @@ -0,0 +1,12 @@ +# +# $Id$ +# $HeadURL$ +# $Author$ +# + +ADD_SUBDIRECTORY(SituationMap) +IF(BUILD_RTI) + ADD_SUBDIRECTORY(LtsDataView) +ENDIF() +# ADD_SUBDIRECTORY(LtsFileDialog) # Not yet migrated +# ADD_SUBDIRECTORY(LtsReportDisplay) # Not yet migrated \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt new file mode 100755 index 000000000..eaa035d26 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/CMakeLists.txt @@ -0,0 +1,61 @@ +# +# CMakeLists.txt for Data View +# +# $Id$ +# $HeadURL$ +# $Author$ +# Created by Mike Wille, SLSE, 2016-06-15 +# + +SET(ltsDataView_SRCS + lts_data_view_export.h + lts_data_view.h + lts_data_view.cpp + abstract_display_widget.h + abstract_display_widget.cpp + search_model.cpp + search_model.h + tree_view.cpp + tree_view.h + check_state_proxy_model.h + check_state_proxy_model.cpp + tree_view_delegate.cpp + tree_view_delegate.h + icon_view_delegate.cpp + icon_view_delegate.h + data_delegate.cpp + data_delegate.h + lts_columns_setting.cpp + lts_columns_setting.h +) + +NGL_WRAP_UI(ltsDataView_SRCS + lts_data_view.ui + lts_columns_setting.ui +) + +NGL_ADD_LIBRARY(WS LtsDataView SHARED ${ltsDataView_SRCS}) + +NGL_TARGET_LINK_LIBRARIES(LtsDataView + PRIVATE + LtsWidgets + LtsUtilsSettings + ngltools + PUBLIC + Qt6::Core + Qt6::Widgets +) +NGL_TARGET_INCLUDE_DIRECTORIES(LtsDataView + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/../ +) +NGL_INSTALL_TARGET(LtsDataView) + + +# Test-Executable +NGL_ADD_EXECUTABLE(WS NO_TRANSLATION LtsDataViewTest test.h test.cpp) +NGL_TARGET_LINK_LIBRARIES(LtsDataViewTest + Qt6::Widgets + LtsDataView + LtsWidgets +) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.cpp new file mode 100755 index 000000000..999a7238f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.cpp @@ -0,0 +1,29 @@ +/** + * @RDE_HEADER@ + * Abstract Display Widget is an Abstract class to create Custom Display Widgets for the Custom View + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-06-15 + */ + +#include "abstract_display_widget.h" +#include + +namespace LtsDataView +{ +AbstractDisplayWidget::AbstractDisplayWidget(QWidget *parent) + : QWidget(parent) +{ + setAutoFillBackground(true); +} + +QVariant AbstractDisplayWidget::rowData(const QModelIndex &idx, int column, int role) const +{ + const QModelIndex rowIdx(idx.column() == column ? idx : idx.model()->index(idx.row(), column)); + return idx.model()->data(rowIdx, role); +} + + +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.h new file mode 100755 index 000000000..84961067b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/abstract_display_widget.h @@ -0,0 +1,30 @@ +/** + * @RDE_HEADER@ + * Abstract Display Widget is an Abstract class to create Custom Display Widgets for the Custom View + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-06-15 + */ +#pragma once + +#include "lts_data_view_export.h" + +#include +class QModelIndex; + +namespace LtsDataView +{ +class LTSDATAVIEW_EXPORT AbstractDisplayWidget : public QWidget +{ + Q_OBJECT + +public: + explicit AbstractDisplayWidget(QWidget *parent = nullptr); + virtual bool init(const QModelIndex &idx) = 0; + +protected: + QVariant rowData(const QModelIndex &idx, int column, int role = Qt::DisplayRole) const; +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.cpp new file mode 100755 index 000000000..80108b195 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.cpp @@ -0,0 +1,118 @@ +/** + * @RDE_HEADER@ + * Implementation of CheckStateProxyModel + * $Id$ + * $HeadURL$ + * $Author$ + * Created by hjl/Christian Froebel, NLE, 2019-05-10 + */ + +#include "check_state_proxy_model.h" + +namespace LtsDataView +{ +Qt::ItemFlags CheckStateProxyModel::flags(const QModelIndex &index) const +{ + if (!index.isValid()) + return sourceModel()->flags(index); // delegate to source model for further processing if necessary + + // Sets only the checkbox nodes on user checkable, + // checkbox leaves must be handled in source model. + QModelIndex sourceIndex = mapToSource(index); + Qt::ItemFlags fl = sourceModel()->flags(sourceIndex); + if (index.column() == 0) + return fl | Qt::ItemIsUserCheckable; + return fl; +} + + +QVariant CheckStateProxyModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + QModelIndex sourceIndex = mapToSource(index); + + // delegate everything except CheckStateRole to source model + if (role != Qt::CheckStateRole) + return sourceModel()->data(sourceIndex, role); + + // delegate a leaf too with CheckStateRole to source model + if (isLeaf(index)) + return sourceModel()->data(sourceIndex, role); + + // delegate to source model for further processing of further columns if necessary + if (index.column() != 0) + return sourceModel()->data(sourceIndex, role); + + // sets the node checkboxes and decoration depending on the entries in the tree structure + int checkedCount = 0; + int childCount = rowCount(index); + for (int childRow = 0; childRow < childCount; ++childRow) + { + QModelIndex childIndex = this->index(childRow, 0, index); + Qt::CheckState checkState = data(childIndex, Qt::CheckStateRole).value(); + if (checkState == Qt::PartiallyChecked) + return Qt::PartiallyChecked; + if (checkState == Qt::Checked) + ++checkedCount; + } + if (checkedCount == childCount) + return Qt::Checked; + else if (checkedCount == 0) + return Qt::Unchecked; + else + return Qt::PartiallyChecked; +} + + +bool CheckStateProxyModel::setData(const QModelIndex &index, const QVariant &value, int role) +{ + if (!index.isValid()) + return false; + + QModelIndex sourceIndex = mapToSource(index); + + // delegate to source model for further processing of further columns if necessary + if (index.column() != 0) + return sourceModel()->setData(sourceIndex, value, role); + + // delegate everything except CheckStateRole to source mode + if (role != Qt::CheckStateRole) + return sourceModel()->setData(sourceIndex, value, role); + + if (isLeaf(index)) + { + // delegate a leaf to source model + sourceModel()->setData(sourceIndex, value, role); + + // update parents recursively here + QModelIndex idx = index.parent(); + do + { + emit dataChanged(idx, idx, {Qt::CheckStateRole}); + idx = idx.parent(); + } + while (idx.isValid()); + return true; + } + + // update underlying children recursively (Additional nodes with leaves may also exist) + int childCount = rowCount(index); + for (int childRow = 0; childRow < childCount; ++childRow) + { + QModelIndex childIndex = this->index(childRow, 0, index); + setData(childIndex, value, Qt::CheckStateRole); + } + return true; +} + + +bool CheckStateProxyModel::isLeaf(const QModelIndex &index) const +{ + QModelIndex sourceIndex = mapToSource(index); + return sourceModel()->flags(sourceIndex).testFlag(Qt::ItemIsUserCheckable); +} + + +} // namespace InfrastructureManagement diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.h new file mode 100755 index 000000000..6e6ffde56 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/check_state_proxy_model.h @@ -0,0 +1,60 @@ +/** + * @RDE_HEADER@ + * The model is used to handle CheckState Boxes in an LtsDataView (QTreeModel). + * Only the nodes of a TreeView are handled in this model. Leaves are forwarded to the transferred model and must be edited there. + * $Id$ + * $HeadURL$ + * $Author$ + * Created by hjl/Christian Froebel, NLE, 2019-05-10 + */ + +#pragma once + +#include + +#include "lts_data_view_export.h" + +namespace LtsDataView +{ + +class LTSDATAVIEW_EXPORT CheckStateProxyModel : public QIdentityProxyModel +{ +public: + using QIdentityProxyModel::QIdentityProxyModel; + + /** + * Handles the 'ItemIsUserCheckable' flags + * @param[in] sourceModel index + * + */ + Qt::ItemFlags flags(const QModelIndex &index) const override; + + /** + * Handles the representation of data + * @param[in] sourceModel index + * @param[in] role role to which the data relates + * + */ + QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + + /** + * Handles the storage of data + * @param[in] index index + * @param[in] value value to be set + * @param[in] role role to which the data relates + * + */ + bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; + +private: + + /** + * Returns true if the item with the given index is an leaf + * @param[in] index item index whose information is requested + * will be internally mapped to source model data + */ + bool isLeaf(const QModelIndex &index) const; + +}; // class CheckStateProxyModel +} // namespace LtsDataView + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.cpp new file mode 100755 index 000000000..229f53560 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.cpp @@ -0,0 +1,31 @@ +/** + * @RDE_HEADER@ + * Renders complex types from model data to text for views + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, NLE, 2020-09-09 + */ + +#include "data_delegate.h" + +#include + +#include + + +namespace LtsDataView +{ +DataDelegate::DataDelegate(QObject *parent) + : QStyledItemDelegate(parent) +{} + + +QString DataDelegate::displayText(const QVariant &value, const QLocale &locale) const +{ + if (value.type() == QVariant::Type::DateTime) + return DTG::toString(value.toDateTime()); + return QStyledItemDelegate::displayText(value, locale); +} +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.h new file mode 100755 index 000000000..3b969b69a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/data_delegate.h @@ -0,0 +1,24 @@ +#pragma once +/** + * @RDE_HEADER@ + * Renders complex types from model data to text for views + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, NLE, 2020-09-09 + */ + +#include + + +namespace LtsDataView +{ +class DataDelegate : public QStyledItemDelegate +{ + Q_OBJECT +public: + DataDelegate(QObject *parent); + QString displayText(const QVariant &value, const QLocale &locale) const override; +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.cpp new file mode 100755 index 000000000..49df99a3c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.cpp @@ -0,0 +1,78 @@ +#include "icon_view_delegate.h" + +#include +#include +#include +#include +#include + + +namespace LtsDataView +{ +static constexpr int s_shadowRadius = 22; + +void IconViewDelegate::setDisplayWidgetCreator(const std::function &customDisplayWidgetCreator) +{ + m_customDisplayWidgetCreator = customDisplayWidgetCreator; + + QScopedPointer dw(m_customDisplayWidgetCreator()); + if (!dw) + { + qWarning() << "IconViewDelegate::setDisplayWidgetCreator: delegate is not a base of AbstractDisplayWidget!"; + Q_ASSERT(false); + return; + } + + m_displayWidgetSize = dw->size() + QSize(s_shadowRadius * 2, s_shadowRadius * 2); +} + + +QSize IconViewDelegate::sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const +{ + return m_displayWidgetSize; +} + +void IconViewDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + QScopedPointer dw(m_customDisplayWidgetCreator()); + + if (!dw) + { + qWarning() << "IconViewDelegate::paint: delegate is not a base of AbstractDisplayWidget!"; + Q_ASSERT(false); + return; + } + + if (!dw->init(index)) + { + qWarning() << "IconViewDelegate::paint: delegate could not create ui"; + return; + } + + const auto dpr = dw->devicePixelRatioF(); + QPixmap p(dw->size() * dpr); + p.setDevicePixelRatio(dpr); + QPainter myPainter(&p); + dw->render(&myPainter); + myPainter.end(); + + // drop shadow + QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect(); + shadowEffect->setBlurRadius(s_shadowRadius); + shadowEffect->setOffset(0, 0); // center (shadow on all sides) + + if (option.state & QStyle::State_Selected) + shadowEffect->setColor(dw->palette().light().color()); + else + shadowEffect->setColor(dw->palette().shadow().color()); + + // draw pixmap & shadow + QGraphicsPixmapItem *item = new QGraphicsPixmapItem(p); + item->setGraphicsEffect(shadowEffect); + + // TODO: avoid creating a QGraphicsScene by using QGraphicsItem::paint() + QGraphicsScene scene; + scene.addItem(item); + scene.render(painter, option.rect, QRectF(-s_shadowRadius, -s_shadowRadius, option.rect.width(), option.rect.height())); +} +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.h new file mode 100755 index 000000000..b39ec29c6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/icon_view_delegate.h @@ -0,0 +1,26 @@ +#pragma once + +#include "abstract_display_widget.h" + +#include + +namespace LtsDataView +{ +class IconViewDelegate final : public QStyledItemDelegate +{ + Q_OBJECT +public: + using QStyledItemDelegate::QStyledItemDelegate; + void setDisplayWidgetCreator(const std::function &customDisplayWidgetCreator); + + QSize sizeHint(const QStyleOptionViewItem &option, + const QModelIndex &index) const; + void paint(QPainter *painter, + const QStyleOptionViewItem &option, + const QModelIndex &index) const; + +private: + std::function m_customDisplayWidgetCreator; + QSize m_displayWidgetSize; +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.cpp new file mode 100755 index 000000000..a6f52a2fd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.cpp @@ -0,0 +1,231 @@ +/** + * @RDE_HEADER@ + * LtsColumnsSettingWidget Organise table columns + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Steve Kemayou, ESZS, 2025-03-19 + */ + + +#include "lts_columns_setting.h" +#include "ui_lts_columns_setting.h" + +#include +namespace LtsDataView +{ +LtsColumnsSettingWidget::LtsColumnsSettingWidget(const QVector &columnInfoVec, QWidget *parent) + : LtsWidgets::LtsFramelessDialog(parent) + , m_ui(new Ui::LtsColumnsSetting) +{ + m_ui->setupUi(this); + + m_model = new ColumnOrganiserModel(this); + m_model->setModelData(columnInfoVec); + m_ui->tableView->setModel(m_model); + + for(const auto &ci : columnInfoVec) + { + if (ci.debugOnly){ + qDebug()<<">>>[LtsColumnsSettingWidgets] column to hide: id: "<tableView->hideRow(ci.logicalIndex); + } + } + connect(m_ui->applyBtn, &QPushButton::clicked, this, &LtsColumnsSettingWidget::onApplyClicked); + connect(m_ui->cancelBtn, &QPushButton::clicked, this, &LtsColumnsSettingWidget::onAbortClicked); + connect(m_ui->resetBtn, &QPushButton::clicked, this, &LtsColumnsSettingWidget::onResetClicked); +} + +LtsColumnsSettingWidget::~LtsColumnsSettingWidget() +{ + delete m_ui; +} + +void LtsColumnsSettingWidget::onResetClicked() +{ + emit columnsResetted(); + accept(); +} + +/*! + * \brief LtsColumnsSettingWidget::onApplyClicked + * send columns settings + */ +void LtsColumnsSettingWidget::onApplyClicked() +{ + QVector colInfoVec; + const int rowCount = m_ui->tableView->model()->rowCount(); + colInfoVec.reserve(rowCount); + for(int row = 0; row < rowCount; ++row) + { + const ColumnOrganiserInfo ci = m_ui->tableView->model()->data(m_model->index(row,0),Qt::UserRole).value(); + colInfoVec.push_back(ci); + } + emit columnVisibilityChanged(colInfoVec); + accept(); +} + +/*! + * \brief LtsColumnsSettingWidget::onAbortClicked + */ +void LtsColumnsSettingWidget::onAbortClicked() +{ + reject(); +} + +/// TABLE MODEL FOR COLUMN SETTINGS + +/*! + * \brief ColumnOrganiserModel::ColumnOrganiserModel + * \param parent + */ +ColumnOrganiserModel::ColumnOrganiserModel(QObject *parent) + :QAbstractTableModel(parent) +{ + beginResetModel(); + m_vecData.clear(); + endResetModel(); +} + +/*! + * \brief ColumnOrganiserModel::setModelData + * \param infos + */ +void ColumnOrganiserModel::setModelData(const QVector &infos) +{ + for(const auto &data : infos) + insertRow(data); +} + +/*! + * \brief ColumnOrganiserModel::insertRow + * \param info + */ +void ColumnOrganiserModel::insertRow(const ColumnOrganiserInfo &info) +{ + beginInsertRows(QModelIndex(), m_vecData.size(), m_vecData.size()); + m_vecData.append(info); + endInsertRows(); +} + +/*! + * \brief ColumnOrganiserModel::columnCount + * \param parent + * \return + */ +int ColumnOrganiserModel::columnCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent) + return 1; // list of Column header as rows with on column +} + +/*! + * \brief ColumnOrganiserModel::rowCount + * \param parent + * \return + */ +int ColumnOrganiserModel::rowCount(const QModelIndex &parent) const +{ + Q_UNUSED(parent) + return m_vecData.count(); +} + +/*! + * \brief ColumnOrganiserModel::data + * \param index + * \param role + * \return + */ +QVariant ColumnOrganiserModel::data(const QModelIndex &index, int role) const +{ + if ((role != Qt::DisplayRole && + role != Qt::DecorationRole && + role != Qt::EditRole && + role != Qt::CheckStateRole && + role != Qt::UserRole) || !index.isValid() || index.row() >= m_vecData.size()) + return QVariant(); + + const ColumnOrganiserInfo ci = m_vecData.at(index.row()); + + if (role == Qt::CheckStateRole) + { + return ci.show; + } + + if (role == Qt::DisplayRole) + return ci.name; + + if (role == Qt::UserRole) + return QVariant::fromValue(ci); + + return QVariant(); +} + +/*! + * \brief ColumnOrganiserModel::setData + * \param index + * \param value + * \param role + * \return + */ +bool ColumnOrganiserModel::setData(const QModelIndex &index, const QVariant &value, int role) +{ + Q_UNUSED(value) + if (role != Qt::EditRole && role != Qt::CheckStateRole) + return false; + + ColumnOrganiserInfo &ci = m_vecData[index.row()]; + + if (role == Qt::CheckStateRole) + { + ci.show = !ci.show; + return true; + } + + switch (index.column()) + { + case 0: + return false; + } + + emit dataChanged(index, index, {Qt::DisplayRole, Qt::EditRole}); + return true; +} + +/*! + * \brief ColumnOrganiserModel::flags + * \param index + * \return + */ +Qt::ItemFlags ColumnOrganiserModel::flags(const QModelIndex &index) const +{ + auto f = QAbstractTableModel::flags(index); + if (!index.isValid()) + return f; + + if (index.column() == 0) + { + f.setFlag(Qt::ItemIsUserCheckable); + } + return f; +} + +/*! + * \brief ColumnOrganiserModel::headerData + * \param section + * \param orientation + * \param role + * \return + */ +QVariant ColumnOrganiserModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation == Qt::Horizontal + && role == Qt::DisplayRole) + { + if (section == 0) + return tr("Column Visibility"); + } + return QAbstractTableModel::headerData(section, orientation, role); +} + +} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.h new file mode 100755 index 000000000..58e1f73e5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.h @@ -0,0 +1,84 @@ +/** + * @RDE_HEADER@ + * LtsColumnsSetting Organise table columns + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Steve Kemayou, ESZS, 2025-03-19 + */ + +#pragma once + +#include + +#include "LtsWidgets/lts_frameless_dialog.h" + +#include +#include +#include + +namespace Ui { +class LtsColumnsSetting; +} +namespace LtsDataView +{ +struct ColumnOrganiserInfo +{ + int logicalIndex; // logicalIndex + QString name; + bool show; + bool debugOnly = false; // column is only displayed in debug mode + bool hide() const {return !show;} +}; + +class ColumnOrganiserModel; + +class LTSDATAVIEW_EXPORT LtsColumnsSettingWidget : public LtsWidgets::LtsFramelessDialog +{ + Q_OBJECT + +public: + explicit LtsColumnsSettingWidget(const QVector &columnInfoVec, QWidget *parent = nullptr); + ~LtsColumnsSettingWidget(); + +signals: + void columnVisibilityChanged(const QVector &data); + void columnsResetted(); + +private slots: + void onResetClicked(); + void onApplyClicked(); + void onAbortClicked(); + + +private: + Ui::LtsColumnsSetting *m_ui; + + ColumnOrganiserModel *m_model; +}; + +class ColumnOrganiserModel final : public QAbstractTableModel +{ + Q_OBJECT +public: + explicit ColumnOrganiserModel(QObject *parent = nullptr); + ~ ColumnOrganiserModel(){} + + void setModelData(const QVector &infos); +protected: + void insertRow(const ColumnOrganiserInfo &info); + int columnCount(const QModelIndex &parent = QModelIndex())const override; + int rowCount(const QModelIndex &parent = QModelIndex() ) const override; + QVariant data (const QModelIndex &index, int role = Qt::DisplayRole)const override; + bool setData(const QModelIndex &index, const QVariant &value, int role) override; + Qt::ItemFlags flags(const QModelIndex &index) const override; + QVariant headerData(int section, Qt::Orientation orientation, int role) const override final; + +private: + + QVector m_vecData; +}; + +} // namespace LtsDataView + +Q_DECLARE_METATYPE(LtsDataView::ColumnOrganiserInfo) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.ui b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.ui new file mode 100755 index 000000000..cb1dc628c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_columns_setting.ui @@ -0,0 +1,71 @@ + + + LtsColumnsSetting + + + + 0 + 0 + 400 + 300 + + + + Form + + + + + + QAbstractItemView::SingleSelection + + + QAbstractItemView::SelectRows + + + true + + + false + + + + + + + Qt::Horizontal + + + + 121 + 20 + + + + + + + + Reset + + + + + + + Apply + + + + + + + Cancel + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.cpp new file mode 100755 index 000000000..3e9af3675 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.cpp @@ -0,0 +1,1323 @@ +/** + * @RDE_HEADER@ + * LtsDataView is the exported View, which contains and manages a Custom View and a Table View + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-06-15 + */ + +#include "lts_data_view.h" +#include "ui_lts_data_view.h" +#include "search_model.h" +#include "abstract_display_widget.h" +#include "tree_view.h" +#include "tree_view_delegate.h" +#include "icon_view_delegate.h" +#include "data_delegate.h" + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/// get the list of visual index as they are display +namespace LtsDataView +{ +static const QString s_columSettingSuffix = QStringLiteral("_ColSetting"); +static const QString s_colSettingIndexStr = QStringLiteral("index"); +static const QString s_colSettingVisiStr = QStringLiteral("visible"); +static const QString s_ColumnOrganiserSettingStr = QStringLiteral("ColumnOrganiserSetting"); + + +#include +LtsDataView::LtsDataView(QWidget *parent) + : QWidget(parent) + , m_ui(new Ui::LtsDataView) + , m_columnFilterProxy(nullptr) + , m_searchModel(new SearchModel(this)) + , m_bOwnProxy(false) +{ + m_ui->setupUi(this); + + m_ui->tableView->setAlternatingRowColors(true); + m_ui->tableView->setAllColumnsShowFocus(true); + + m_ui->tbColumnOrganiser->setVisible(false); + m_ui->tbColumnOrganiser->setEnabled(false); +#ifndef LTS_DEBUG + m_ui->lblRows->setHidden(true); + // m_ui->tbCsvExport->hide(); +#endif + + m_ui->searchView->setItemDelegate(new TreeViewDelegate(this)); + m_ui->tableView->setItemDelegate(new DataDelegate(this)); + + connect(m_ui->tbCustom, &QPushButton::clicked, + this, &LtsDataView::LtsDataView::selectCustomView); + + connect(m_ui->tbTable, &QPushButton::clicked, + this, &LtsDataView::LtsDataView::selectTableView); + + connect(m_ui->tableView, &TreeView::signalCopyToClipBoard, + this, &LtsDataView::LtsDataView::slotCopyToClipboard, Qt::QueuedConnection); // event should pass before this slot can be entered + + connect(m_ui->tbCopy, &QPushButton::clicked, + this, &LtsDataView::LtsDataView::slotCopyToClipboard); + + connect(m_ui->tbCsvExport, &QPushButton::clicked, + this, &LtsDataView::LtsDataView::slotCsvExport); + + connect(m_ui->tbColumnOrganiser, &QPushButton::clicked, + this, &LtsDataView::LtsDataView::slotColumnOrganiserDialog); + +#ifdef TABLET_MODE + const QList scrollWidgets = findChildren(); + for (QWidget *widget : scrollWidgets) + { + QVariant isConst = widget->property("const"); + if (isConst.isValid() && isConst.toBool()) + continue; + addTouchScroll(widget); + } +#endif + + selectTableView(); +} + + +LtsDataView::~LtsDataView() +{ + delete m_ui; +} + + +void LtsDataView::setModel(QAbstractItemModel *model, const std::function &customDisplayWidgetCreator) +{ + Q_ASSERT(model); + + if (!customDisplayWidgetCreator) // no custom widgets? pretend to be a pure table view by hiding the ability to swap between views + { + m_ui->tbCustom->setEnabled(false); // disable custom view + m_ui->tbCustom->hide(); + m_ui->tbTable->hide(); + m_ui->line->hide(); + selectTableView(); + } + else + { + IconViewDelegate *delegate = new IconViewDelegate(this); + delegate->setDisplayWidgetCreator(customDisplayWidgetCreator); + m_ui->customView->setItemDelegate(delegate); // does not take ownership of delegate ... + } + + LtsWidgets::LtsColumnFilterProxyModel *proxy = qobject_cast(model); + if (m_bOwnProxy) + delete m_columnFilterProxy; + if (proxy) + { + m_columnFilterProxy = proxy; + m_bOwnProxy = false; + } + else + { + Q_ASSERT_X(!qobject_cast(model), + __FUNCTION__, + "Don't pass plain QSortFilterProxyModel to LtsDataView::setModel - it will not work as expected. Derive from LtsColumnFilterProxyModel instead"); + m_columnFilterProxy = new LtsWidgets::LtsColumnFilterProxyModel(this); + m_columnFilterProxy->setSourceModel(model); + m_bOwnProxy = true; + } + m_searchModel->setSourceModel(model); + + connect(m_searchModel, &SearchModel::stringFilterForColumnChanged, + m_columnFilterProxy, &LtsWidgets::LtsColumnFilterProxyModel::onSetColumnStringFilter); + connect(m_searchModel, &SearchModel::dataFilterForColumnChanged, + m_columnFilterProxy, &LtsWidgets::LtsColumnFilterProxyModel::onSetColumnDataFilter); + + m_ui->searchView->setModel(m_searchModel); + m_ui->tableView->setModel(m_columnFilterProxy); + m_ui->customView->setModel(m_columnFilterProxy); + m_ui->searchView->show(); + + + // Main Model + connect(m_columnFilterProxy, &QAbstractItemModel::rowsInserted, + this, &LtsDataView::slotRowCountChanged); + connect(m_columnFilterProxy, &QAbstractItemModel::rowsRemoved, + this, &LtsDataView::slotRowCountChanged); + connect(m_columnFilterProxy, &QAbstractItemModel::modelReset, + this, &LtsDataView::slotRowCountChanged); + connect(m_columnFilterProxy->sourceModel(), &QAbstractItemModel::rowsInserted, + this, &LtsDataView::slotRowCountChanged); + connect(m_columnFilterProxy->sourceModel(), &QAbstractItemModel::rowsRemoved, + this, &LtsDataView::slotRowCountChanged); + connect(m_columnFilterProxy->sourceModel(), &QAbstractItemModel::modelReset, + this, &LtsDataView::slotRowCountChanged); + + // Selection Changed + // for example needed by OperatorDialog::enaDisa : + connect(m_ui->customView->selectionModel(), &QItemSelectionModel::selectionChanged, + this, &LtsDataView::signalSelectionChanged); + connect(m_ui->tableView->selectionModel(), &QItemSelectionModel::selectionChanged, + this, &LtsDataView::signalSelectionChanged); + // : for example needed by OperatorDialog::enaDisa + connect(m_ui->customView->selectionModel(), &QItemSelectionModel::selectionChanged, + this, [this](const QItemSelection &s, const QItemSelection &d) { emit selectionChanged(mapSelectionToSource(s), mapSelectionToSource(d)); }); + connect(m_ui->tableView->selectionModel(), &QItemSelectionModel::selectionChanged, + this, [this](const QItemSelection &s, const QItemSelection &d) { emit selectionChanged(mapSelectionToSource(s), mapSelectionToSource(d)); }); + + // Activated + connect(m_ui->customView, &QAbstractItemView::activated, + this, [this](const QModelIndex &idx) { emit activated(mapToSource(idx)); }); + connect(m_ui->tableView, &QAbstractItemView::activated, + this, [this](const QModelIndex &idx) { emit activated(mapToSource(idx)); }); + + + // Entered (requires MouseTracking) + m_ui->customView->setMouseTracking(true); + connect(m_ui->customView, &QAbstractItemView::entered, + this, [this](const QModelIndex &index) { emit signalEntered(mapToSource(index)); }); + m_ui->tableView->setMouseTracking(true); + connect(m_ui->tableView, &QAbstractItemView::entered, + this, [this](const QModelIndex &index) { emit signalEntered(mapToSource(index)); }); + + + // Clicked + connect(m_ui->customView, &QAbstractItemView::clicked, + this, [this](const QModelIndex &idx) { emit clicked(mapToSource(idx)); }); + connect(m_ui->tableView, &QAbstractItemView::clicked, + this, [this](const QModelIndex &idx) { emit clicked(mapToSource(idx)); }); + + // Double Clicked + connect(m_ui->customView, &QAbstractItemView::doubleClicked, + this, &LtsDataView::signalDoubleClicked); + connect(m_ui->tableView, &QAbstractItemView::doubleClicked, + this, &LtsDataView::signalDoubleClicked); + + connect(m_ui->customView, &QAbstractItemView::doubleClicked, + this, [this](const QModelIndex &idx) { emit doubleClicked(mapToSource(idx)); }); + connect(m_ui->tableView, &QAbstractItemView::doubleClicked, + this, [this](const QModelIndex &idx) { emit doubleClicked(mapToSource(idx)); }); + + // Search View + connect(m_ui->searchView->header(), &QHeaderView::sortIndicatorChanged, + this, &LtsDataView::slotSetSortIndicator); + connect(m_searchModel, &SearchModel::signalFilterChanged, + this, &LtsDataView::slotRowCountChanged); + connect(m_searchModel, &SearchModel::signalFilterChanged, + this, [this](){ emit filterChanged(); }); + connect(m_ui->searchView->header(), &QHeaderView::sectionResized, + this, &LtsDataView::slotSectionResized); + connect(m_ui->searchView->header(), &QHeaderView::sectionMoved, + this, &LtsDataView::slotHeaderMoved); + + connect(m_ui->searchView->header(), &QHeaderView::sectionHandleDoubleClicked, + this, &LtsDataView::slotResizeColumn, Qt::QueuedConnection); // wait until the header did a resize by header text + + + // Horizontal Scrollbar + connect(m_ui->searchView->horizontalScrollBar(), &QScrollBar::rangeChanged, + this, &LtsDataView::slotSetHorizontalRange, Qt::QueuedConnection); // queued to make sure pageStep is up-to-date + connect(m_ui->searchView->horizontalScrollBar(), &QScrollBar::sliderMoved, + this, &LtsDataView::slotSetHorizontalValue); + connect(m_ui->searchView->horizontalScrollBar(), &QScrollBar::valueChanged, + this, &LtsDataView::slotSetHorizontalValue); + + connect(m_ui->horizontalScrollBar, &QScrollBar::sliderMoved, + m_ui->searchView->horizontalScrollBar(), &QScrollBar::setValue); + connect(m_ui->horizontalScrollBar, &QScrollBar::sliderMoved, + m_ui->tableView->horizontalScrollBar(), &QScrollBar::setValue); + connect(m_ui->horizontalScrollBar, &QScrollBar::valueChanged, + m_ui->searchView->horizontalScrollBar(), &QScrollBar::setValue); // when wheelEvent'ing on the scrollbar + connect(m_ui->horizontalScrollBar, &QScrollBar::valueChanged, + m_ui->tableView->horizontalScrollBar(), &QScrollBar::setValue); // when wheelEvent'ing on the scrollbar + + connect(m_ui->tableView->horizontalScrollBar(), &QScrollBar::rangeChanged, + this, &LtsDataView::slotSetHorizontalRange, Qt::QueuedConnection); // queued to make sure pageStep is up-to-date + connect(m_ui->tableView->horizontalScrollBar(), &QScrollBar::sliderMoved, + this, &LtsDataView::slotSetHorizontalValue); + connect(m_ui->tableView->horizontalScrollBar(), &QScrollBar::valueChanged, + this, &LtsDataView::slotSetHorizontalValue); // when wheelEvent'ing on the scrollbar + // custom view has no horizontal scroll bar + + + // Vertical Scrollbar + connect(m_ui->customView->verticalScrollBar(), &QScrollBar::rangeChanged, + this, &LtsDataView::slotSetVerticalRange, Qt::QueuedConnection); // queued to make sure pageStep is up-to-date + connect(m_ui->customView->verticalScrollBar(), &QScrollBar::sliderMoved, + this, &LtsDataView::slotSetVerticalValue); + connect(m_ui->customView->verticalScrollBar(), &QScrollBar::valueChanged, + this, &LtsDataView::slotSetVerticalValue); // custom view uses setValue on wheelEvent, listen to that + + connect(m_ui->tableView->verticalScrollBar(), &QScrollBar::rangeChanged, + this, &LtsDataView::slotSetVerticalRange, Qt::QueuedConnection); // queued to make sure pageStep is up-to-date + connect(m_ui->tableView->verticalScrollBar(), &QScrollBar::sliderMoved, + this, &LtsDataView::slotSetVerticalValue); + connect(m_ui->tableView->verticalScrollBar(), &QScrollBar::valueChanged, + this, &LtsDataView::slotSetVerticalValue); // when wheelEvent'ing on the scrollbar + + connect(m_ui->verticalScrollBar, &QScrollBar::valueChanged, + m_ui->tableView->verticalScrollBar(), &QScrollBar::setValue); + connect(m_ui->verticalScrollBar, &QScrollBar::valueChanged, + m_ui->customView->verticalScrollBar(), &QScrollBar::setValue); + // search view has no vertical scroll bar + + // for context menue: (but contextPolicy has to be set by user...) + QTreeView *treeView = m_ui->tableView; + connect(treeView, &QListView::customContextMenuRequested, + this, &LtsDataView::onCustomContextMenuRequested, Qt::UniqueConnection); + connect(m_ui->customView, &QListView::customContextMenuRequested, + this, &LtsDataView::onCustomContextMenuRequested, Qt::UniqueConnection); + + // check if a column has a combobox search + for (int c = 0; c < model->columnCount(); ++c) + { + const QModelIndex idx = m_searchModel->index(0, c, QModelIndex()); + const QVariant v = model->headerData(c, Qt::Horizontal, LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + if (!v.isNull()) + { + m_searchModel->setData(idx, false, Qt::DecorationRole); + m_searchModel->setData(idx, TreeViewDelegate::noFilterString(), Qt::DisplayRole); + } + } + + // set minimim size for this data view to display custom widgets properly + // TODO: ! + // AbstractDisplayWidget *dummy = customDisplayWidgetCreator(); + // setMinimumSize(dummy->minimumWidth() + 40 + 100, dummy->minimumHeight() + 40 + 100); // FIXME: margin? + + slotRowCountChanged(); // show row count + + // hide h-scrollbar if not needed + if (m_ui->searchView->horizontalScrollBar()->maximum() == 0) + m_ui->horizontalScrollBar->hide(); + + setSortIndicator(0, Qt::AscendingOrder); + + resizeHeadersByContent(); + if (m_autoResizeToConent) + syncSearchHeaderAndTableContentColumnSize(); + + m_DebugModeColIds.clear(); +} + +QAbstractItemModel *LtsDataView::sourceModel() const +{ + return m_columnFilterProxy ? m_columnFilterProxy->sourceModel() : nullptr; +} + +LtsWidgets::LtsColumnFilterProxyModel *LtsDataView::proxyModel() const +{ + return m_columnFilterProxy; +} + +QItemSelectionModel *LtsDataView::selectionModel() const +{ + return m_ui->tableView->selectionModel(); +} + +SearchModel *LtsDataView::searchModel() const +{ + return m_searchModel; +} + + + +QTreeView *LtsDataView::treeView() +{ + return m_ui->tableView; +} + +const QTreeView *LtsDataView::treeView() const +{ + return m_ui->tableView; +} + +QTreeView *LtsDataView::searchView() +{ + return m_ui->searchView; +} + +const QTreeView *LtsDataView::searchView() const +{ + return m_ui->searchView; +} + +QListView *LtsDataView::getCustomView() +{ + return m_ui->customView; +} + +QWidget *LtsDataView::customWidget() const +{ + QLayout *hbl = m_ui->customWidget->layout(); + if (hbl) + { + for (int i = 0; i < hbl->count(); ++i) + { + if (hbl->itemAt(i)->widget()) + return hbl->itemAt(i)->widget(); + } + } + return nullptr; +} + +void LtsDataView::setCustomWidget(QWidget *customWidget) +{ + QLayout *hbl = m_ui->customWidget->layout(); + if (hbl) + { + while (hbl->count() > 0) + delete hbl->takeAt(0)->widget(); + } + delete hbl; + + hbl = new QHBoxLayout(m_ui->customWidget); + hbl->setMargin(0); + hbl->addWidget(customWidget); + m_ui->customWidget->setLayout(hbl); + update(); // TODO: noetig? macht doch qt automatisch bei layout aenderungen? +} + + + +QModelIndexList LtsDataView::selectedRows(int column) const +{ + if (m_ui->stackedWidget->currentIndex() == TABLE) + { + if (m_ui->tableView->selectionModel()) + return mapToSource(m_ui->tableView->selectionModel()->selectedRows(column)); + } + else + { + Q_ASSERT(column == 0); + if (m_ui->customView->selectionModel()) + return mapToSource(m_ui->customView->selectionModel()->selectedIndexes()); + } + return {}; +} + +void LtsDataView::selectRow(const QModelIndex &idxSource) +{ + QModelIndex idx = m_bOwnProxy ? m_columnFilterProxy->mapFromSource(idxSource) : idxSource; + QItemSelectionModel *pSelection = m_ui->tableView->selectionModel(); + if (idx.isValid() && pSelection) + pSelection->select(idx, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows); +} + +void LtsDataView::clearSelection() +{ + if (m_ui->tableView) + m_ui->tableView->clearSelection(); + if (m_ui->customView) + m_ui->customView->clearSelection(); +} + +void LtsDataView::setSelectionMode(QAbstractItemView::SelectionMode selectionMode) +{ + m_ui->tableView->setSelectionMode(selectionMode); + m_ui->customView->setSelectionMode(selectionMode); +} + +QAbstractItemView::SelectionMode LtsDataView::selectionMode() const +{ + return m_ui->tableView->selectionMode(); +} + +QModelIndex LtsDataView::currentIndex() const +{ + return mapToSource(currentView()->currentIndex()); +} + +void LtsDataView::setCurrentIndex(const QModelIndex &idxSource) +{ + const QModelIndex &idx = mapFromSource(idxSource); + QAbstractItemView *view = currentView(); + view->setCurrentIndex(idx); + view->scrollTo(idx, QTreeView::ScrollHint::PositionAtCenter); +} + +void LtsDataView::scrollTo(const QModelIndex &idxSource) +{ + QModelIndex idx = m_bOwnProxy ? m_columnFilterProxy->mapFromSource(idxSource) : idxSource; + if (idx.isValid()) + m_ui->tableView->scrollTo(idx, QAbstractItemView::PositionAtCenter); +} + + + +void LtsDataView::moveSection(int from, int to) +{ + m_ui->searchView->header()->moveSection(from, to); +} + +void LtsDataView::seamless() +{ + // TODO: FIXME: quick hack + m_ui->tbCopy->setEnabled(false); + m_ui->tbCsvExport->setEnabled(false); + m_ui->tbCustom->setEnabled(false); + m_ui->tbTable->setEnabled(false); + delete m_ui->horizontalLayout; // does not delete its indirect children + m_ui->horizontalLayout = nullptr; +} + +void LtsDataView::setViewHeaderMovable(bool state) +{ + m_ui->searchView->header()->setSectionsMovable(state); +} + +/*! + * \brief LtsDataView::saveTableSettings + * \param defaultSetting: if user want to save default setting of column + */ +void LtsDataView::saveTableSettings(bool defaultSetting) +{ + //qWarning()<<"########### [saveTableSettings]..."; + QJsonArray jsArr; + int colCount = m_ui->tableView->model()->columnCount(); + for(int i=0; itableView->header()->logicalIndex(i); // if true save col default order reset visibility + bool visible = defaultSetting ? true : !m_ui->searchView->isColumnHidden(logicalIndex); + + if (m_DebugModeColIds.contains(logicalIndex)) + visible = false; // + + QJsonObject column; + column[s_colSettingIndexStr] = logicalIndex; + column[s_colSettingVisiStr] = visible; + jsArr.append(column); + } + + QJsonObject obj; + obj.insert(m_tableObjIdentifier, jsArr); + //qWarning()<<">>>[SAVE] Setting jsObj: -> "<setValue(columnOrganiserGroup(), identifier, QVariant::fromValue(obj)); +} + +bool LtsDataView::restoreTableSettings() +{ + //qCritical()<<"########### [restoreTableSettings]..."; + + LtsUtils::OperatorSettings* opSettings = LtsUtils::OperatorSettings::getInstance(); + QJsonObject dataObj = opSettings->value(columnOrganiserGroup(), getOperatorColIdentifier()).toJsonObject(); + if (dataObj.isEmpty()) + { + qCritical()<<">>> [restoreTableSettings] Object EMPTY!!"; + return false; + } + QJsonArray jsArr = dataObj.value(m_tableObjIdentifier).toArray(); + qWarning()<<">>> [restoreTableSettings] jsData: "<>> [restoreTableSettings] json array EMPTY!!"; + return false; + } + + int colIndex =0; + for(const QJsonValue &value: jsArr) + { + QJsonObject column = value.toObject(); + int index = column[s_colSettingIndexStr].toInt(); + bool visible = column[s_colSettingVisiStr].toBool(); + + if (m_DebugModeColIds.contains(index)) + visible = false; // hide debug columns + + //qWarning()<<"[restore]-> index: "<searchView->header()->visualIndex(index)<<" visi: "<searchView->header()->moveSection(m_ui->searchView->header()->visualIndex(index), colIndex++); + m_ui->searchView->setColumnHidden(index, !visible); + } + + return true; +} + +/*! + * \brief LtsDataView::setColumnViewFromSetting + * This Method will is Call to set Column Table settings from what was saved in json + */ +void LtsDataView::setColumnViewFromSetting() +{ + qWarning()<<"######### setColumnViewFromSetting ... "; + m_userChangedColumnPos = false; // on internal move section avoid saving column setting + + bool brestore = restoreTableSettings(); + if (!brestore) + qCritical()<<" [setColumnViewFromSetting] couldn't restore table settings"; + + m_userChangedColumnPos = true; +} + +QString LtsDataView::getOperatorColIdentifier() const +{ + return m_tableObjIdentifier + s_columSettingSuffix; +} + +QString LtsDataView::columnOrganiserGroup() const +{ + return s_ColumnOrganiserSettingStr; +} + +/*! + * \brief LtsDataView::getColumnOrganiserSetting + * \return get vector of struct from column jsondata (struct: id, visibility,..) + */ +QVector LtsDataView::getColumnOrganiserSetting() +{ + const QString identifier = m_tableObjIdentifier + s_columSettingSuffix; + LtsUtils::OperatorSettings* opSettings = LtsUtils::OperatorSettings::getInstance(); + QJsonObject dataObj = opSettings->value(columnOrganiserGroup(), identifier).toJsonObject(); + QJsonArray jsArr = dataObj.value(m_tableObjIdentifier).toArray(); + QVector vecInfo; + vecInfo.reserve(jsArr.count()); + for(const QJsonValue &value: jsArr) + { + ColumnOrganiserInfo ci; + QJsonObject column = value.toObject(); + ci.logicalIndex = column[s_colSettingIndexStr].toInt(); + ci.show = column[s_colSettingVisiStr].toBool(); + vecInfo.push_back(ci); + } + return vecInfo; +} + + +/*! + * \brief LtsDataView::setColumnsOrganiserEnabled + * \param tableIdentifier: unique name for table using column Settings + * \param enable : set button for column Setting Widget visible + */ +void LtsDataView::setColumnsOrganiserEnabled(const QString &tableIdentifier, bool enable) +{ + qWarning()<<"############## [setColumnsOrganiserEnabled]..."; + m_tableObjIdentifier = tableIdentifier; + m_ui->tbColumnOrganiser->setVisible(enable); + m_ui->tbColumnOrganiser->setEnabled(enable); + + if (!restoreTableSettings()) + saveTableSettings(); + + m_userChangedColumnPos = enable; +} + +/*! + * \brief LtsDataView::slotColumnOrganiserDialog + */ +void LtsDataView::slotColumnOrganiserDialog() +{ + qWarning()<<"############# [slotColumnOrganiserDialog]..."; + if (!m_ui->tbColumnOrganiser->isEnabled()) + return; + + auto vecInfo = getColumnOrganiserSetting(); + + if(vecInfo.isEmpty()) + { + LtsWidgets::LtsMessageDialog::showMessage(this, tr("Couldn't start Column Organiser Dialog"), tr("Column Organiser")); + return; + } + + const int colCount = m_columnFilterProxy->columnCount(); + /// set Column names for Dialog Widget + for( auto &ci : vecInfo) + { + if (ci.logicalIndex > colCount) + continue; + + ci.name = m_columnFilterProxy->headerData(ci.logicalIndex, Qt::Horizontal).toString(); + + // hide columns displayed only in debug mode + // because column is marked for debug, user will not be able to hide or show this column + if (m_DebugModeColIds.contains(ci.logicalIndex)) + { + ci.show = false; + ci.debugOnly = true; + } + } + + LtsColumnsSettingWidget *dialog = new LtsColumnsSettingWidget(vecInfo, this); + //LtsColumnOrganiser *dialog = new LtsColumnOrganiser(vecInfo, this); + + connect(dialog, &LtsColumnsSettingWidget::columnVisibilityChanged, this, &LtsDataView::updateColumnsVisibility); + connect(dialog, &LtsColumnsSettingWidget::columnsResetted, this, &LtsDataView::slotSetColumnsDefaultOrder); + + dialog->setModal(true); + dialog->show(); +} + + + + +void LtsDataView::setRootIsDecorated(bool isDecorated) +{ + if (m_ui && m_ui->tableView) + m_ui->tableView->setRootIsDecorated(isDecorated); +} + +bool LtsDataView::rootIsDecorated() const +{ + if (m_ui && m_ui->tableView) + return m_ui->tableView->rootIsDecorated(); + return false; +} + +void LtsDataView::setAlternatingRowColors(bool enable) +{ + m_ui->tableView->setAlternatingRowColors(enable); +} + +bool LtsDataView::alternatingRowColors() const +{ + return m_ui->tableView->alternatingRowColors(); +} + + + +void LtsDataView::setColumnCountVisible(bool bVisible) +{ + m_ui->lblRows->setVisible(bVisible); + m_ui->lbRows->setVisible(bVisible); +} + +bool LtsDataView::showColumnCount() const +{ + return m_ui->lblRows->isVisible(); +} + +void LtsDataView::setToolButtonsVisible(bool bVisible) +{ + m_ui->tbCsvExport->setVisible(bVisible); + m_ui->tbCopy->setVisible(bVisible); + m_ui->tbTable->setVisible(bVisible); + m_ui->tbCustom->setVisible(bVisible); + m_ui->line->setVisible(bVisible); +} + +bool LtsDataView::toolButtonsVisible() const +{ + return m_ui->tbCsvExport->isVisible() && + m_ui->tbCopy->isVisible() && + m_ui->tbTable->isVisible() && + m_ui->tbCustom->isVisible(); +} + +void LtsDataView::setAllColumnsShowFocus(bool enable) +{ + m_ui->tableView->setAllColumnsShowFocus(enable); +} + +bool LtsDataView::allColumnsShowFocus() const +{ + return m_ui->tableView->allColumnsShowFocus(); +} + +void LtsDataView::hideColumn(int column, bool debugMode) +{ + if (debugMode) + m_DebugModeColIds.insert(column); // used in setting column order and visibility + + setColumnHidden(column, true); +} + +void LtsDataView::showColumn(int column) +{ + setColumnHidden(column, false); +} + +bool LtsDataView::isColumnHidden(int column) const +{ + return m_ui->searchView->isColumnHidden(column); +} + +void LtsDataView::setColumnHidden(int column, bool hide) +{ + m_ui->searchView->setColumnHidden(column, hide); + m_ui->tableView->setColumnHidden(column, hide); +} + + + +void LtsDataView::setAutoResizeToContent(bool enable) +{ + m_autoResizeToConent = enable; +} + +bool LtsDataView::autoResizeToContent() const +{ + return m_autoResizeToConent; +} + +void LtsDataView::resizeSection(int logicalIndex, int size) +{ + m_ui->searchView->header()->resizeSection(logicalIndex, size); +} + +void LtsDataView::resizeHeadersByContent() +{ + for (int i = 0; i < m_ui->tableView->header()->count(); i++) + slotResizeColumn(i); +} + +void LtsDataView::resizeColumnsToContent() +{ + if (!m_columnFilterProxy) + return; + // Sync von Header und Table erfolgt mit Aufruf von syncSearchHeaderAndTableContentColumnSize() nachdem das Modell initialisiert wurde. + const int colCount = m_columnFilterProxy->columnCount(); + for (int col = 0; col < colCount; ++col) + m_ui->tableView->header()->setSectionResizeMode(col, QHeaderView::ResizeToContents); +} + +void LtsDataView::syncSearchHeaderAndTableContentColumnSize() +{ + m_ui->searchView->header()->resizeSections(QHeaderView::ResizeToContents); + const int colCount = m_columnFilterProxy->columnCount(); + for (int col = 0; col < colCount; ++col) + slotResizeColumn(col); +} + +void LtsDataView::setRootIndex(const QModelIndex &srcIndex) +{ + m_ui->searchView->setRootIndex((srcIndex)); + m_ui->tableView->setRootIndex(m_columnFilterProxy->mapFromSource(srcIndex)); + m_ui->customView->setRootIndex(m_columnFilterProxy->mapFromSource(srcIndex)); +} + + + +void LtsDataView::setSortIndicator(int logicalIndex, Qt::SortOrder order) +{ + m_ui->searchView->header()->setSortIndicator(logicalIndex, order); +} + +void LtsDataView::setSortIndicatorShown(bool show) +{ + m_ui->searchView->header()->setSortIndicatorShown(show); +} + + + +Qt::ContextMenuPolicy LtsDataView::contextMenuPolicyPerView(LtsDataView::Page page) const +{ + if (!m_ui) + return Qt::NoContextMenu; + + switch (page) + { + case TABLE: + if (m_ui->tableView) + return m_ui->tableView->contextMenuPolicy(); + break; + + case CUSTOM: + if (m_ui->customView) + return m_ui->customView->contextMenuPolicy(); + } + return Qt::NoContextMenu; +} + +void LtsDataView::setContextMenuPolicyPerView(LtsDataView::Page page, Qt::ContextMenuPolicy policy) +{ + if (!m_ui) + return; + + switch (page) + { + case TABLE: + if (m_ui->tableView) + m_ui->tableView->setContextMenuPolicy(policy); + break; + case CUSTOM: + if (m_ui->customView) + m_ui->customView->setContextMenuPolicy(policy); + break; + } +} + + + +QModelIndex LtsDataView::mapToSource(const QModelIndex &mi) const +{ + return m_columnFilterProxy ? m_columnFilterProxy->mapToSource(mi) : mi; +} + +QModelIndex LtsDataView::mapFromSource(const QModelIndex &mi) const +{ + return m_columnFilterProxy ? m_columnFilterProxy->mapFromSource(mi) : mi; +} + +QModelIndexList LtsDataView::mapToSource(const QModelIndexList &mil) const +{ + QModelIndexList sourced; + if (!m_columnFilterProxy) + return sourced; + sourced.reserve(mil.size()); + for (const auto &mi : mil) + sourced.append(mapToSource(mi)); + + return sourced; +} + +QItemSelection LtsDataView::mapSelectionToSource(const QItemSelection &is) const +{ + return m_columnFilterProxy ? m_columnFilterProxy->mapSelectionToSource(is) : is; +} + + + +bool LtsDataView::setInitialSearchContent(int section, const QVariant &filterData) +{ + if (!m_searchModel || !m_columnFilterProxy) + { + Q_ASSERT(false); + return false; + } + const QVariant headerData = m_columnFilterProxy->headerData(section, Qt::Horizontal, LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + const LtsWidgets::ComboboxFilterContent cfc(LtsWidgets::ComboboxFilterContent::fromVariant(headerData)); + if (!cfc.isValid()) + { + const QModelIndex index = m_searchModel->index(0, section, QModelIndex()); + // assume it's a text search + m_searchModel->setData(index, filterData, Qt::DisplayRole); + m_searchModel->setData(index, filterData, Qt::EditRole); + return false; + } + for (const auto &d : cfc.data) + { + if (d.data == filterData) + { + const QModelIndex index = m_searchModel->index(0, section, QModelIndex()); + m_searchModel->setData(index, d.text, Qt::DisplayRole); + m_searchModel->setData(index, d.data, LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + return true; + } + } + return false; +} + +void LtsDataView::setIconSize(const QSize &size) +{ + m_ui->tableView->setIconSize(size); +} + + + +QByteArray LtsDataView::saveState() const +{ + return m_ui->searchView->header()->saveState(); +} + +bool LtsDataView::restoreState(const QByteArray &headerState) +{ + bool ok = m_ui->searchView->header()->restoreState(headerState); + if (ok) + ok = m_ui->tableView->header()->restoreState(headerState); + return ok; +} + + + +QString LtsDataView::createCsv() const +{ + if (!m_columnFilterProxy) + return QString(); + + const QAbstractItemView *itemView = currentView(); + const QModelIndexList selection = itemView->selectionModel()->selectedRows(); + + // create csv: + int cols = m_columnFilterProxy->columnCount(); + QString csv; + QStringList csvLine; + + for (auto i = selection.constBegin(); i != selection.constEnd(); ++i) + { + int row = (*i).row(); + + csvLine.clear(); + for (int k = 0; k < cols; k++) + if (m_ui->stackedWidget->currentIndex() != TABLE || !m_ui->tableView->isColumnHidden(k)) + csvLine.append(m_columnFilterProxy->data(m_columnFilterProxy->index(row, k)).toString()); + + csv += csvLine.join(QLatin1Char(';')); + csv += QStringLiteral("\n"); // FIXME: windows? + } + + return csv; +} + +void LtsDataView::addTouchScroll(QWidget *widget) +{ + if (!widget) + return; + widget->setAttribute(Qt::WA_AcceptTouchEvents); + + { + QScrollArea *sca = qobject_cast(widget); + if (sca) + { + QScroller::grabGesture(sca->viewport(), QScroller::LeftMouseButtonGesture); + QScroller::grabGesture(sca, QScroller::LeftMouseButtonGesture); + return; + } + } + + { + QAbstractItemView *aiv = qobject_cast(widget); + if (aiv) + { + QScroller::grabGesture(aiv->viewport(), QScroller::LeftMouseButtonGesture); + QScroller::grabGesture(aiv, QScroller::LeftMouseButtonGesture); + aiv->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); + aiv->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + return; + } + } +} + +QAbstractItemView *LtsDataView::currentView() const +{ + if (m_ui->stackedWidget->currentIndex() == TABLE) + return m_ui->tableView; + return m_ui->customView; +} + + + +void LtsDataView::keyPressEvent(QKeyEvent *event) // CustomView events land here +{ + if (QGuiApplication::queryKeyboardModifiers() == Qt::ControlModifier + && event->key() == Qt::Key_C) + slotCopyToClipboard(); + + // Enter: Enter on numpad + if (event->key() == Qt::Key_Return || event->key() == Qt::Key_Enter) + emit signalEnterPressed(); + + QWidget::keyPressEvent(event); +} + + + +void LtsDataView::selectTableView() +{ + selectView(TABLE); +} + +void LtsDataView::selectCustomView() +{ + selectView(CUSTOM); +} + +void LtsDataView::selectView(Page page) +{ + m_ui->tbTable->setChecked(page == TABLE); + m_ui->tbCustom->setChecked(page == CUSTOM); + m_ui->stackedWidget->setCurrentIndex(page); + slotSetVerticalRange(); + slotSetVerticalValue(m_ui->customView->verticalScrollBar()->value()); +} + +void LtsDataView::slotCopyToClipboard() +{ + QApplication::clipboard()->setText(createCsv()); // finally copy to clipboard +} + +void LtsDataView::collapseAll() +{ + m_ui->tableView->collapseAll(); +} + +void LtsDataView::expandAll() +{ + m_ui->tableView->expandAll(); +} + +void LtsDataView::expand(const QModelIndex &index) +{ + m_ui->tableView->expand(index); +} + +void LtsDataView::setSortingEnabled(bool enable) +{ + m_ui->searchView->setSortingEnabled(enable); + m_ui->tableView->setSortingEnabled(enable); +} + + + +void LtsDataView::slotSetSortIndicator(int logicalIndex, Qt::SortOrder order) +{ + m_ui->tableView->header()->setSortIndicator(logicalIndex, order); + // TODO: needed since custom view rebuild?: + m_ui->customView->update(); + emit sortOrderChanged(logicalIndex, order); +} + +void LtsDataView::slotRowCountChanged() +{ + if (m_columnFilterProxy && m_columnFilterProxy->sourceModel()) + m_ui->lbRows->setText(tr("%1 of %2") + .arg(m_columnFilterProxy->rowCount()) + .arg(m_columnFilterProxy->sourceModel()->rowCount())); + + // customview: sometimes the gui is not updated if model is cleared: + // (Example: clear JumpPointModel by selecting a workspace WITHOUT JumpPoints) + // TODO: needed since custom view rebuild?: + if (m_ui->customView && + m_columnFilterProxy && + m_columnFilterProxy->sourceModel() && + m_columnFilterProxy->sourceModel()->rowCount() == 0) + m_ui->customView->update(); +} + +void LtsDataView::slotSetHorizontalRange(int min, int max) +{ + m_ui->searchView->horizontalScrollBar()->hide(); // always hide! + if (!min && !max) // no min, no max = not visible + m_ui->horizontalScrollBar->hide(); + else + m_ui->horizontalScrollBar->show(); + + //qWarning() << "hori: min" << min << "max" << max; + + m_ui->horizontalScrollBar->setRange(min, max); + m_ui->horizontalScrollBar->setPageStep(m_ui->searchView->horizontalScrollBar()->pageStep()); +} + +void LtsDataView::updateColumnsVisibility(const QVector &data) +{ + const int colCount = m_columnFilterProxy->columnCount(); + for(const auto &ci : data) + { + if(ci.logicalIndex >= colCount || ci.logicalIndex < 0) + continue; + + + m_ui->searchView->setColumnHidden(ci.logicalIndex, ci.hide()); + } + + // save setting + saveTableSettings(); +} + +void LtsDataView::slotSetColumnsDefaultOrder() +{ + saveTableSettings(true); + m_userChangedColumnPos = false; // save is already done so avoid saving while restoring data + restoreTableSettings(); + m_userChangedColumnPos = true; +} + +void LtsDataView::slotSetHorizontalValue(int val) +{ + m_ui->horizontalScrollBar->setValue(val); +} + +void LtsDataView::slotSetVerticalRange(int , int ) +{ + // when custom view gets new data (dds data topic), table view and custom view send new ranges, only take the range of the active tab in stacked widget + m_ui->tableView->verticalScrollBar()->hide(); // always hide! + m_ui->customView->verticalScrollBar()->hide(); // always hide! + + QScrollBar *whichScrollBar = m_ui->tableView->verticalScrollBar(); + + if (m_ui->stackedWidget->currentIndex() == CUSTOM) + whichScrollBar = m_ui->customView->verticalScrollBar(); + + int min = whichScrollBar->minimum(); + int max = whichScrollBar->maximum(); + int pagestep = whichScrollBar->pageStep(); + + if (!min && !max) // no min, no max = not visible + m_ui->verticalScrollBar->hide(); + else + m_ui->verticalScrollBar->show(); + + // dont know which scrollbar it is + m_ui->verticalScrollBar->setRange(min, max); + m_ui->verticalScrollBar->setPageStep(pagestep); +} + +void LtsDataView::slotSetVerticalValue(int val) +{ + QScrollBar *caller = qobject_cast(QObject::sender()); + if (caller && caller->isVisible()) + m_ui->verticalScrollBar->setVisible(caller->isVisible()); + + m_ui->verticalScrollBar->setValue(val); +} + +void LtsDataView::slotSectionResized(int index, int oldSize, int newSize) +{ + if (newSize == 0) + { + m_ui->tableView->setColumnHidden(index, true); + return; + } + if (oldSize == 0) + m_ui->tableView->setColumnHidden(index, false); + m_ui->tableView->setColumnWidth(index, newSize); +} + +void LtsDataView::slotHeaderMoved(int logicalColumn, int oldColumn, int newColumn) +{ + Q_UNUSED(logicalColumn); + m_ui->tableView->header()->moveSection(oldColumn, newColumn); + + if (m_userChangedColumnPos) + { + qWarning()<<">>>> [updateColumnsVisibility]"; + saveTableSettings(); + } +} + +void LtsDataView::slotCsvExport() // TODO: maybe save to dds (office/filemanagement) instead of hd? +{ + if (!m_columnFilterProxy) + return; + + QFileDialog dialog(this); // save dialog + //dialog.setFileMode(QFileDialog::ExistingFile); // single file selection + dialog.setNameFilter(tr("CSV File (*.csv)")); + dialog.setAcceptMode(QFileDialog::AcceptSave); + + if (!dialog.exec()) + return; + const QStringList fileNames = dialog.selectedFiles(); + if (fileNames.isEmpty()) + return; + + QFile file; + file.setFileName(fileNames.first()); + + if (!file.open(QFile::ReadWrite)) + { + LtsWidgets::LtsMessageDialog::showMessage(this, tr("File '%1' is not accessible").arg(fileNames.at(0)), tr("CSV Export")); + return; + } + + QHeaderView* hdr = m_ui->tableView->header(); + QMap colsHeader; // + + // create header csv + const int cols = m_columnFilterProxy->columnCount(); + QStringList colsList; + colsList.reserve(cols); + for (int i = 0; i < cols; ++i) + { + if (m_ui->stackedWidget->currentIndex() != TABLE || !m_ui->tableView->isColumnHidden(i)) + { + int visualIndex = hdr->visualIndex(i); + colsHeader[visualIndex] = i; + //colsList.append(m_columnFilterProxy->headerData(i, Qt::Horizontal).toString()); + } + } + + for (const int logicalIndex : qAsConst(colsHeader)) + colsList.append(m_columnFilterProxy->headerData(logicalIndex, Qt::Horizontal).toString()); + + //qCritical() << "slotCsvExport: header colsList = " << colsList; + + const QString columnCsv = colsList.join(QLatin1Char(';')); + file.write(columnCsv.toLocal8Bit()); // write header + file.write("\n"); + + // write csv body + //file.write(createCsv().toStdString().c_str()); + + // create body csv (with all rows) + // TODO: threaded? as this can take a while + const int rows = m_columnFilterProxy->rowCount(); + QStringList rowsList; + rowsList.reserve(rows); + for (int row = 0; row < rows; ++row) + { + colsList.clear(); + for (const int logicalIndex : qAsConst(colsHeader)) + colsList.append(m_columnFilterProxy->data(m_columnFilterProxy->index(row, logicalIndex)).toString()); + // for (int col = 0; col < cols; col++) + // if (m_ui->stackedWidget->currentIndex() != TABLE || !m_ui->tableView->isColumnHidden(col)) + // colsList.append(m_columnFilterProxy->data(m_columnFilterProxy->index(row, col)).toString()); + + //qCritical() << "slotCsvExport: row = "<< row << ", colsList = " << colsList; + rowsList.append(colsList.join(QLatin1Char(';'))); + } + + const QString csvBody = rowsList.join(QLatin1Char('\n')); // TODO: windows? + + file.write(csvBody.toLocal8Bit()); + + file.close(); + + LtsWidgets::LtsMessageDialog::showMessage(this, tr("CSV Export was successful"), tr("CSV Export")); +} + +void LtsDataView::slotResizeColumn(int columnIndex) +{ + m_ui->tableView->resizeColumnToContents(columnIndex); + + QHeaderView *header = m_ui->searchView->header(); + int minimumWidth = header->sectionSize(columnIndex); + int contentWidth = m_ui->tableView->columnWidth(columnIndex); + + if (contentWidth > minimumWidth) + header->resizeSection(columnIndex, contentWidth); + else + m_ui->tableView->header()->resizeSection(columnIndex, minimumWidth); +} + +void LtsDataView::onCustomContextMenuRequested(const QPoint &pos) +{ + if (!m_ui) + return; + QModelIndex mi; + QPoint globalPos; + if (m_ui->stackedWidget->currentIndex() == CUSTOM) + { + if (m_ui->customView) + { + mi = m_ui->customView->indexAt(pos); + globalPos = m_ui->customView->mapToGlobal(pos); + } else if (m_ui->tableView) + { + mi = m_ui->tableView->indexAt(pos); + globalPos = m_ui->tableView->mapToGlobal(pos); + } + } else if (m_ui->stackedWidget->currentIndex() == TABLE) + { + if (m_ui->tableView) + { + mi = m_ui->tableView->indexAt(pos); + globalPos = m_ui->tableView->mapToGlobal(pos); + } + } + + emit signalContextMenuRequested(globalPos, mapToSource(mi)); +} + +//void LtsDataView::setDelegate(std::function delegateFunction) +//{ +// m_ui->customView->setDelegate(delegateFunction); +//} + +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.h new file mode 100755 index 000000000..3368df04d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.h @@ -0,0 +1,225 @@ +/** + * @RDE_HEADER@ + * LtsDataView is the exported View, which contains and manages a Custom View and a Table View + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-06-15 + */ +#pragma once + + +#include +#include + +#include +#include +#include +#include + + +class QListView; +class QTreeView; + +namespace Ui +{ +class LtsDataView; +} +namespace LtsWidgets +{ +class LtsColumnFilterProxyModel; +struct ColumnOrganiserInfo; +} + +// TODO: doxy doku + +namespace LtsDataView +{ +class AbstractDisplayWidget; +class SearchModel; + + +class SearchLineEdit final : public QLineEdit +{ + Q_OBJECT +public: + explicit SearchLineEdit(QWidget *parent) + : QLineEdit(parent) + { + setProperty("isSearchLineEdit", true); + } +}; + + +class LTSDATAVIEW_EXPORT LtsDataView : public QWidget +{ + Q_OBJECT + + Q_PROPERTY(bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated) + Q_PROPERTY(bool showColumnCount READ showColumnCount WRITE setColumnCountVisible) + Q_PROPERTY(bool toolButtonsVisible READ toolButtonsVisible WRITE setToolButtonsVisible) + Q_PROPERTY(bool alternatingRowColors READ alternatingRowColors WRITE setAlternatingRowColors) + Q_PROPERTY(bool allColumnsShowFocus READ allColumnsShowFocus WRITE setAllColumnsShowFocus) + Q_PROPERTY(bool autoResizeToContent READ autoResizeToContent WRITE setAutoResizeToContent) + Q_PROPERTY(QAbstractItemView::SelectionMode selectionMode READ selectionMode WRITE setSelectionMode) + +public: + enum Page + { + TABLE = 0, + CUSTOM = 1, + }; + + explicit LtsDataView(QWidget *parent = nullptr); + ~LtsDataView(); + + /** once you set the model without a ADW, the view cannot switch back to double-view mode! + * + */ + void setModel(QAbstractItemModel *model, const std::function &customDisplayWidgetCreator = nullptr); + QAbstractItemModel *sourceModel() const; + LtsWidgets::LtsColumnFilterProxyModel *proxyModel() const; + QItemSelectionModel *selectionModel() const; + SearchModel *searchModel() const; + + QTreeView *treeView(); + const QTreeView *treeView() const; + QTreeView *searchView(); + const QTreeView *searchView() const; + QListView *getCustomView(); + QWidget *customWidget() const; + void setCustomWidget(QWidget *customWidget); // not visible in seamless mode + + QModelIndexList selectedRows(int column = 0) const; // TODO: returns indexes instead of rows if in custom view ... change naming? + void selectRow(const QModelIndex &idxSource); + void clearSelection(); + void setSelectionMode(QAbstractItemView::SelectionMode selectionMode); + QAbstractItemView::SelectionMode selectionMode() const; + QModelIndex currentIndex() const; + void setCurrentIndex(const QModelIndex &idx); // also makes sure that the current index is visible (QAIV::scrollTo()) + void scrollTo(const QModelIndex &idxSource); + + void moveSection(int from, int to); + void seamless(); + + void setViewHeaderMovable(bool state); + void moveSections(const QMap &list); /// logicalIndex (key) visualIndex(value) + + void saveTableSettings(bool defaultSetting = false);/// if defaultSetting true, the default order of the table will be restore and save + bool restoreTableSettings(); + QString getOperatorColIdentifier() const; + QVector getColumnOrganiserSetting(); + QString columnOrganiserGroup() const; + void setColumnViewFromSetting(); + void setColumnsOrganiserEnabled(const QString &tableIdentifier, bool enable = false); + + void setRootIsDecorated(bool isDecorated); + bool rootIsDecorated() const; + void setAlternatingRowColors(bool enable); + bool alternatingRowColors() const; + + void setColumnCountVisible(bool bVisible); + bool showColumnCount() const; + void setToolButtonsVisible(bool bVisible); + bool toolButtonsVisible() const; + void setAllColumnsShowFocus(bool enable); + bool allColumnsShowFocus() const; + void hideColumn(int column, bool debugMode = false); + void showColumn(int column); + bool isColumnHidden(int column) const; + void setColumnHidden(int column, bool hide); + + void setAutoResizeToContent(bool enable); + bool autoResizeToContent() const; + void resizeSection(int logicalIndex, int size); + void resizeHeadersByContent(); + void resizeColumnsToContent(); + void syncSearchHeaderAndTableContentColumnSize(); + void setRootIndex(const QModelIndex &srcIndex); + + /** + * @brief See QHeaderview::setSortIndicator + */ + void setSortIndicator(int logicalIndex, Qt::SortOrder order); + void setSortIndicatorShown(bool show = true); + + Qt::ContextMenuPolicy contextMenuPolicyPerView(Page page) const; + void setContextMenuPolicyPerView(Page page, Qt::ContextMenuPolicy policy); + + QModelIndex mapFromSource(const QModelIndex &mi) const; + QModelIndex mapToSource(const QModelIndex &mi) const; + QModelIndexList mapToSource(const QModelIndexList &mil) const; + QItemSelection mapSelectionToSource(const QItemSelection &is) const; + + bool setInitialSearchContent(int section, const QVariant &filterData); + void setIconSize(const QSize &size); + + QByteArray saveState() const; + bool restoreState(const QByteArray &headerState); + +private: + Ui::LtsDataView *m_ui; + LtsWidgets::LtsColumnFilterProxyModel *m_columnFilterProxy; + SearchModel *m_searchModel; + bool m_bOwnProxy; + bool m_autoResizeToConent{true}; + QString m_tableObjIdentifier; // identifier for column Organiser + bool m_userChangedColumnPos = false; + QSet m_DebugModeColIds; /// column which are only visible in debug mode + + QString createCsv() const; + void addTouchScroll(QWidget *widget); + QAbstractItemView *currentView() const; + +protected: + void keyPressEvent(QKeyEvent *event) override; + +public slots: + void selectTableView(); + void selectCustomView(); + void selectView(Page page); + void slotCopyToClipboard(); + void collapseAll(); + void expandAll(); + void expand(const QModelIndex &index); + void setSortingEnabled(bool enable); + void slotSetHorizontalRange(int, int); + void updateColumnsVisibility(const QVector &data); + void slotSetColumnsDefaultOrder(); +private slots: + void slotSetSortIndicator(int logicalIndex, Qt::SortOrder order); + void slotRowCountChanged(); + void slotSetHorizontalValue(int); + void slotSetVerticalRange(int x = 0, int y = 0); + void slotSetVerticalValue(int); + void slotSectionResized(int, int, int); + void slotHeaderMoved(int, int, int); + void slotCsvExport(); + void slotResizeColumn(int columnIndex); + void onCustomContextMenuRequested(const QPoint &pos); + void slotColumnOrganiserDialog(); + + +signals: + void signalEnterPressed(); + void signalEntered(const QModelIndex &index); + + // These are only emitted from the TableView + void clicked(const QModelIndex &index); + void doubleClicked(const QModelIndex &index); + void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected); + void activated(const QModelIndex &index); + + // These are emitted from both + void signalSelectionChanged(); + void signalDoubleClicked(); + // signalContextMenuRequested requires setContextMenuPolicyPerView to be set + void signalContextMenuRequested(const QPoint &globalPos, const QModelIndex &indexSrc); + + // custom signals (@Filip) + void filterChanged(); + void sortOrderChanged(const int &column, const Qt::SortOrder &order); + +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.ui b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.ui new file mode 100755 index 000000000..ab0e3ff86 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view.ui @@ -0,0 +1,367 @@ + + + LtsDataView + + + + 0 + 0 + 556 + 350 + + + + Form + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + Rows: + + + + + + + 0 + + + + + + + Qt::Horizontal + + + + 40 + 0 + + + + + + + + + + + Save selected line(s) as csv to a selected file with headers + + + Column Setting + + + + + + + Save selected line(s) as csv to a selected file with headers + + + CSV Export + + + + + + + Copy selected line(s) as csv to clipboard without headers + + + Copy + + + + + + + Qt::Vertical + + + + + + + Table + + + true + + + true + + + + + + + Custom + + + true + + + + + + + + + 0 + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + true + + + 16 + + + QAbstractItemView::CurrentChanged|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::SelectedClicked + + + false + + + QAbstractItemView::NoSelection + + + QAbstractItemView::SelectItems + + + false + + + true + + + true + + + true + + + + + + + + 0 + 255 + + + + 1 + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 0 + + + + QFrame::NoFrame + + + 0 + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + false + + + true + + + false + + + + + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAlwaysOff + + + QAbstractItemView::NoEditTriggers + + + false + + + QAbstractItemView::DragDrop + + + QAbstractItemView::ScrollPerPixel + + + QListView::Free + + + QListView::LeftToRight + + + 0 + + + QListView::IconMode + + + + + + + + + + + + + 0 + + + Qt::Vertical + + + + + + + 0 + + + Qt::Horizontal + + + + + + + + + + + LtsDataView::TreeView + QTreeView +
tree_view.h
+
+
+ + tableView + searchView + tbCsvExport + tbCopy + tbTable + tbCustom + + + +
diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view_export.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view_export.h new file mode 100755 index 000000000..ca123113c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/lts_data_view_export.h @@ -0,0 +1,22 @@ +/** + * Export definitions + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include + +#ifndef LTSDATAVIEW_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define LTSDATAVIEW_EXPORT +# else +# if defined(MAKE_LTSDATAVIEW_LIB) +# define LTSDATAVIEW_EXPORT Q_DECL_EXPORT +# else +# define LTSDATAVIEW_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.cpp new file mode 100755 index 000000000..fde9e8e12 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.cpp @@ -0,0 +1,156 @@ +/** + * @RDE_HEADER@ + * Search Model for TableViews (has the ability to give the user a row for searching data) + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Mike Wille, SLSE, 2016-03-14 + */ + +#include "search_model.h" + +#include +#include +#include +#include +#include + +namespace LtsDataView +{ +SearchModel::SearchModel(QObject *parent) + : QAbstractItemModel(parent) + , m_searchIcon(QIcon(QStringLiteral("icon:show.svg"))) +{ +} + +int SearchModel::columnCount(const QModelIndex &parent) const +{ + if (parent.isValid()) return 0; + if (!m_sourceModel) return 0; + // no parent here - the given model index has nothing to do with the source model + return m_sourceModel->columnCount(QModelIndex()); +} + + +int SearchModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) return 0; + if (!m_sourceModel) return 0; + return 1; // the search row +} + + +QVariant SearchModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) + return QVariant(); + + switch (role) + { + case Qt::DisplayRole: // Text + return m_displayData.value(index.column()); + case Qt::EditRole: // Editor Text + return m_columnFilters.value(index.column()); + case Qt::TextColorRole: // Text-Color + if (!m_columnFilters.contains(index.column())) + return QGuiApplication::palette().color(QPalette::Disabled, QPalette::ButtonText); + break; + case Qt::DecorationRole: + return m_hideDecorationColumns.contains(index.column()) ? QVariant() : m_searchIcon; + case Qt::BackgroundRole: + return QGuiApplication::palette().color(QPalette::Disabled, QPalette::AlternateBase); + case LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole: + return m_comboBoxData.value(index.column()); + default: + break; + } + + return QVariant(); +} + + +QVariant SearchModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (orientation == Qt::Horizontal && role == Qt::FontRole) + { + QFont boldFont; + boldFont.setBold(true); + return boldFont; + } + + return m_sourceModel ? m_sourceModel->headerData(section, orientation, role) : QVariant(); +} + + +bool SearchModel::setData(const QModelIndex &index, const QVariant &value, int role) +{ + if (!m_sourceModel || !index.isValid()) + return false; + + if (role == Qt::EditRole) // add / replace column filter when edited and in search row (row 0) + { + if (value.isNull()) + m_columnFilters.remove(index.column()); + else + m_columnFilters[index.column()] = value; + emit stringFilterForColumnChanged(value.toString(), index.column()); + emit signalFilterChanged(); // must be called at last + emit dataChanged(index, index, {role}); + return true; // done! (report a change, so that text keeps showing on search row) + } + if (role == Qt::DisplayRole) + { + if (value.isNull()) + m_displayData.remove(index.column()); + else + m_displayData[index.column()] = value; + emit dataChanged(index, index, {role}); + return true; + } + if (role == LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole) + { + if (value.isNull()) + m_comboBoxData.remove(index.column()); + else + m_comboBoxData[index.column()] = value; + emit dataFilterForColumnChanged(value, index.column()); + emit signalFilterChanged(); // must be called at last + emit dataChanged(index, index, {role}); + return true; + } + if (role == Qt::DecorationRole) + { + if (value.isNull()) + m_hideDecorationColumns.remove(index.column()); + else + m_hideDecorationColumns.insert(index.column()); + emit dataChanged(index, index, {role}); + } + + return false; +} + + +void SearchModel::setSourceModel(QAbstractItemModel* sourceModel) +{ + m_sourceModel = sourceModel; + m_columnFilters.clear(); + + emit dataChanged(QModelIndex(), QModelIndex()); // update view +} + + +Qt::ItemFlags SearchModel::flags(const QModelIndex &index) const +{ + Q_UNUSED(index); + return Qt::ItemIsEnabled | Qt::ItemIsEditable | Qt::ItemIsSelectable; +} + + +QModelIndex SearchModel::index(int row, int column, const QModelIndex &parent) const +{ + if (parent.isValid()) + return QModelIndex(); + return createIndex(row, column); +} +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.h new file mode 100755 index 000000000..c15165922 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/search_model.h @@ -0,0 +1,53 @@ +/** + * @RDE_HEADER@ + * Search Model for TableViews (has the ability to give the user a row for searching data) + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Mike Wille, SLSE, 2016-03-14 + */ + +#pragma once + +#include + +#include +#include +#include +#include + + +namespace LtsDataView +{ +class LTSDATAVIEW_EXPORT SearchModel final : public QAbstractItemModel +{ + Q_OBJECT +public: + explicit SearchModel(QObject *parent = nullptr); + + void setSourceModel(QAbstractItemModel* sourceModel); + QAbstractItemModel *sourceModel() const { return m_sourceModel; } + + QVariant data(const QModelIndex &index, int role) const override final; + QVariant headerData(int section, Qt::Orientation orientation, int role) const override final; + int columnCount(const QModelIndex &parent = QModelIndex()) const override final; + int rowCount(const QModelIndex &parent) const override final; + bool setData(const QModelIndex &index, const QVariant &value, int role) override final; + Qt::ItemFlags flags(const QModelIndex &index) const override final; + QModelIndex index(int row, int column, const QModelIndex &parent) const override final; + QModelIndex parent(const QModelIndex &child) const override final { (void)child; return QModelIndex(); } + +signals: + void stringFilterForColumnChanged(const QString &newFilterString, int column); + void dataFilterForColumnChanged(const QVariant &newFilterData, int column); + void signalFilterChanged(); + +private: + QVariant m_searchIcon; + QPointer m_sourceModel; + QHash m_columnFilters; + QHash m_displayData; + QHash m_comboBoxData; + QSet m_hideDecorationColumns; +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp new file mode 100755 index 000000000..06944a90e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.cpp @@ -0,0 +1,103 @@ +/** + * @RDE_HEADER@ + * Test for LtsDataView and their AbstractDisplayWidgets + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Mike Wille, SLSE, 2016-03-14 + */ + +#include "test.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + + +Disp::Disp() + : LtsDataView::AbstractDisplayWidget(nullptr) + , m_label(new QLabel(this)) +{ + +} + + +bool Disp::init(const QModelIndex &idx) +{ + if (!idx.isValid()) + return false; + + m_label->setText(rowData(idx, 0).toString()); + return true; +} + + +int main(int argc, char **argv) +{ + QApplication app(argc,argv); + + int rows = 20; + int cols = 7; + + QElapsedTimer et; + et.start(); + qWarning() << "creating" << rows << "items"; + qWarning() << "wait.."; + + LtsDataView::LtsDataView *view = new LtsDataView::LtsDataView(); + + QStandardItemModel model; + + for (int r = 0; r < rows; r++) + { + for (int c = 0; c < cols; c++) + { + QStandardItem *item = new QStandardItem(QStringLiteral("Item %1/%2").arg(r).arg(c)); + model.setItem(r,c,item); + } + } + + view->setModel(&model, [](){ return new Disp(); }); + view->show(); + +#ifdef TABLET_MODE + auto widget = view; + if (widget) + { + widget->setAttribute(Qt::WA_AcceptTouchEvents); + + { + QScrollArea *sca = qobject_cast(widget); + if (sca) + { + qWarning() << widget << "is scroll area"; + QScroller::grabGesture(sca->viewport(), QScroller::LeftMouseButtonGesture); + QScroller::grabGesture(sca, QScroller::LeftMouseButtonGesture); + } + else + { + QAbstractItemView *aiv = qobject_cast(widget); + if (aiv) + { + qWarning() << widget << "is abst. item view"; + QScroller::grabGesture(aiv->viewport(), QScroller::LeftMouseButtonGesture); + QScroller::grabGesture(aiv, QScroller::LeftMouseButtonGesture); + aiv->setHorizontalScrollMode(QAbstractItemView::ScrollPerPixel); + aiv->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); + } + } + } + } +#endif + + qWarning() << "took" << et.elapsed() << "ms"; + + return app.exec(); +} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.h new file mode 100755 index 000000000..8be4e5202 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/test.h @@ -0,0 +1,28 @@ +/** + * @RDE_HEADER@ + * Search Model for TableViews (has the ability to give the user a row for searching data) + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Mike Wille, SLSE, 2016-03-14 + */ + +#pragma once + +#include "abstract_display_widget.h" + + +class QLabel; + + +class Disp : public LtsDataView::AbstractDisplayWidget +{ + Q_OBJECT + +public: + Disp(); + bool init(const QModelIndex &idx) override; + +private: + QLabel *m_label; +}; diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.cpp new file mode 100755 index 000000000..220f9b271 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.cpp @@ -0,0 +1,82 @@ +/** + * @RDE_HEADER@ + * A QTreeView with some events catched + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-10-07 + */ + +#include "tree_view.h" + +#include +#include + +namespace LtsDataView +{ + +// needed until QTBUG-78726 is fixed +void TreeView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, + const QVector &roles) +{ + QTreeView::dataChanged(topLeft, bottomRight, roles); + if (!m_toolTipPos.isNull() && (roles.isEmpty() || roles.contains(Qt::ToolTipRole))) + { + if (viewport()->mapToGlobal(m_toolTipPos) != QCursor::pos()) + { + m_toolTipPos = QPoint(); + return; + } + const QModelIndex index = indexAt(m_toolTipPos); + if (index.row() >= topLeft.row() && index.row() <= bottomRight.row() && + index.column() >= topLeft.column() && index.column() <= bottomRight.column()) + { + + QHelpEvent he(QEvent::ToolTip, m_toolTipPos, viewport()->mapToGlobal(m_toolTipPos)); + QTreeView::viewportEvent(&he); + m_toolTipPos = QPoint(); + } + } +} + +void TreeView::keyPressEvent(QKeyEvent *event) +{ + if (QGuiApplication::keyboardModifiers() == Qt::ControlModifier + && event->key() == Qt::Key_C) + emit signalCopyToClipBoard(); // queue ! + + QTreeView::keyPressEvent(event); +} + +bool TreeView::edit(const QModelIndex &index, EditTrigger trigger, QEvent *event) +{ + + if (trigger == QAbstractItemView::NoEditTriggers) + { + const QMouseEvent *me = dynamic_cast(event); + if (me && me->buttons().testFlag(Qt::LeftButton)) + trigger = QAbstractItemView::AllEditTriggers; + } + return QTreeView::edit(index, trigger, event); +} + +// needed until QTBUG-78726 is fixed +bool TreeView::viewportEvent(QEvent *event) +{ + bool ret = QTreeView::viewportEvent(event); + if (event->type() == QEvent::ToolTip) + { + if (!ret) + { + QHelpEvent *he = static_cast(event); + m_toolTipPos = he->pos(); + } + else + m_toolTipPos = QPoint(); + } + return ret; +} + + +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.h new file mode 100755 index 000000000..f20490895 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view.h @@ -0,0 +1,37 @@ +/** + * @RDE_HEADER@ + * A QTreeView with some events catched + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Mike Wille, SLSE, 2016-10-07 + */ + +#pragma once + +#include + + +namespace LtsDataView +{ +class TreeView final : public QTreeView +{ + Q_OBJECT + +public: + using QTreeView::QTreeView; + + void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, + const QVector &roles) override; +protected: + void keyPressEvent(QKeyEvent *event) override; + bool edit(const QModelIndex &index, EditTrigger trigger, QEvent *event) override; + bool viewportEvent(QEvent *event) override; + +signals: + void signalCopyToClipBoard(); +private: + QPoint m_toolTipPos; +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.cpp new file mode 100755 index 000000000..6bc51fe24 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.cpp @@ -0,0 +1,152 @@ +#include "lts_data_view.h" +#include "tree_view_delegate.h" +#include "search_model.h" + +#include +#include +#include +//#include + +namespace LtsDataView +{ +TreeViewDelegate::ComboBoxData TreeViewDelegate::comboBoxData(const QModelIndex &index) +{ + const SearchModel *sm = qobject_cast(index.model()); + if (!sm) + return {}; + const QAbstractItemModel *aim = sm->sourceModel(); + if (!aim) + return {}; + const QVariant val = aim->headerData(index.column(), Qt::Horizontal, LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + return LtsWidgets::ComboboxFilterContent::fromVariant(val); +} + + +void TreeViewDelegate::paint(QPainter *painter, + const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + const ComboBoxData cbd = comboBoxData(index); + if (!cbd.isValid()) + return QStyledItemDelegate::paint(painter, option, index); + + const QWidget *const widget = option.widget; + QStyle* const style = widget ? widget->style() : QApplication::style(); + QStyleOptionComboBox cbOption; + cbOption.rect = option.rect; + cbOption.direction = option.direction; + const auto currentData = index.data(LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + for (const auto &content : cbd.data) + { + if (content.data == currentData) + { + cbOption.currentIcon = content.icon; + break; + } + } + cbOption.currentText = index.data(Qt::DisplayRole).toString(); + cbOption.fontMetrics = option.fontMetrics; + const int iconWidth = style->pixelMetric(QStyle::PM_SmallIconSize, nullptr, widget); + cbOption.iconSize = QSize(iconWidth, iconWidth); + cbOption.palette = option.palette; + cbOption.state = option.state; + cbOption.styleObject = option.styleObject; + style->drawComplexControl(QStyle::CC_ComboBox, &cbOption, painter, widget); + style->drawControl(QStyle::CE_ComboBoxLabel, &cbOption, painter, widget); +} + + +QWidget *TreeViewDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, + const QModelIndex &index) const +{ + Q_UNUSED(option); + + const ComboBoxData cbd = comboBoxData(index); + if (cbd.isValid()) + { + QComboBox *cbx = new QComboBox(parent); + for (const auto &content : cbd.data) + cbx->addItem(content.icon, content.text, content.data); + if (cbd.sortItems) + cbx->model()->sort(0); + cbx->insertItem(0, noFilterString()); + connect(cbx, QOverload::of(&QComboBox::currentIndexChanged), + this, &TreeViewDelegate::slotFinished); + QTimer::singleShot(0, cbx, &QComboBox::showPopup); + return cbx; + } + else + { +#ifdef TABLET_MODE + //qWarning() << "TABLET MODE !!!!!!!!"; + // no line edit as it crashes + return nullptr; +#else + //qWarning() << "****NO**** TABLET MODE !!!!!!!!!!!!!!!!"; + SearchLineEdit *edit = new SearchLineEdit(parent); + edit->setFrame(false); + connect(edit, &SearchLineEdit::editingFinished, + this, &TreeViewDelegate::slotFinished); + return edit; +#endif + } +} + + +void TreeViewDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, + const QModelIndex &index) const +{ + const ComboBoxData cbd = comboBoxData(index); + if (cbd.isValid()) + { + QComboBox *cbx = qobject_cast(editor); + if (cbx) + { + // save the current data since it may change within setData() due to dataChanged() signals + const QString curTxt = cbx->currentText(); + const QVariant curData = cbx->currentData(); + model->setData(index, curData, LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + model->setData(index, curTxt, Qt::DisplayRole); + } + } + else + { + SearchLineEdit *edit = qobject_cast(editor); + if (edit) + { + model->setData(index, edit->text(), Qt::DisplayRole); + model->setData(index, edit->text(), Qt::EditRole); + } + } +} + +void TreeViewDelegate::slotFinished() +{ + QWidget *w = qobject_cast(sender()); + if (!w) + return; + + emit commitData(w); + emit closeEditor(w); +} + +void TreeViewDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const +{ + const ComboBoxData cbd = comboBoxData(index); + if (cbd.isValid()) + { + QComboBox *cbx = qobject_cast(editor); + if (cbx) + { + const auto currentData = index.data(LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole); + cbx->setCurrentIndex(cbx->findData(currentData)); + } + } + else + { + SearchLineEdit *edit = qobject_cast(editor); + if (edit) + edit->setText(index.data().toString()); + } +} + +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.h new file mode 100755 index 000000000..48b6722de --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/LtsDataView/tree_view_delegate.h @@ -0,0 +1,33 @@ +#pragma once + +#include + +#include +#include + + +namespace LtsDataView +{ +class TreeViewDelegate final : public QStyledItemDelegate // needed to tell the QLineEdit to be as compact as possible while editing +{ + Q_OBJECT +public: + using ComboBoxData = LtsWidgets::ComboboxFilterContent; + using QStyledItemDelegate::QStyledItemDelegate; + + void paint(QPainter *painter, + const QStyleOptionViewItem &option, const QModelIndex &index) const override; + QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, + const QModelIndex &index) const override; + void setEditorData(QWidget *editor, const QModelIndex &index) const override; + void setModelData(QWidget *editor, QAbstractItemModel *model, + const QModelIndex &index) const override; + + static QString noFilterString() { return tr(""); } +private: + static ComboBoxData comboBoxData(const QModelIndex &index); + +private slots: + void slotFinished(); +}; +} // namespace LtsDataView diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt new file mode 100755 index 000000000..37878e443 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/CMakeLists.txt @@ -0,0 +1,35 @@ +# +# $Id$ +# $Author$ +# +# Minimal CMakeLists.txt for Qt6 migration - only Symbology subdirectory +# Full migration pending + +# Only migrate Symbology for now +ADD_SUBDIRECTORY(Common) +ADD_SUBDIRECTORY(SymbologyXML) +ADD_SUBDIRECTORY(Symbology) + +# Remaining subdirectories not yet migrated: +# ADD_SUBDIRECTORY(ElevationMap) +# ADD_SUBDIRECTORY(SymbologyGui) +# ADD_SUBDIRECTORY(SymbologyXML) +# ADD_SUBDIRECTORY(MapObjectsImpl) +# ADD_SUBDIRECTORY(SideBar) +# ADD_SUBDIRECTORY(FunctionDialog) +# ADD_SUBDIRECTORY(GeometryModel) +# ADD_SUBDIRECTORY(Portal) +# ADD_SUBDIRECTORY(GraphicalObjects) +# ADD_SUBDIRECTORY(Map) +# ADD_SUBDIRECTORY(MapImpl) +# ADD_SUBDIRECTORY(MapObjects) +# ADD_SUBDIRECTORY(Rubberbands) +# ADD_SUBDIRECTORY(Utils) +# ADD_SUBDIRECTORY(MathUtils) +# ADD_SUBDIRECTORY(LayerAggregation) +# ADD_SUBDIRECTORY(LocalSrv) +# ADD_SUBDIRECTORY(Tests) +# ADD_SUBDIRECTORY(EvalApps) +# ADD_SUBDIRECTORY(UnitTests) +# ADD_SUBDIRECTORY(UnitTestsGeoModel) +# ADD_SUBDIRECTORY(ModuleTests) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/CMakeLists.txt new file mode 100755 index 000000000..1002da576 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/CMakeLists.txt @@ -0,0 +1,44 @@ +# +# $Id$ +# $HeadURL$ +# $Author$ +# + +# LIBRARY + +SET(Common_SRCS + id_handler.cpp + referenced.cpp + resource_path.cpp + situation_map_logging.cpp +) + +SET (Common_HDRS + exception.h + id_handler.h + ref_pointer.h + referenced.h + resource_path.h + situation_map_common_export.h + situation_map_logging.h + simple_value.h +) + +SOURCE_GROUP(Common FILES ${Common_SRCS} ${Common_HDRS}) + +NGL_ADD_LIBRARY(WS AAR HLA SV situationMapCommon SHARED ${Common_SRCS} ${Common_HDRS}) +NGL_TARGET_LINK_LIBRARIES(situationMapCommon + PRIVATE + ngltools + PUBLIC + NGLLogger + Qt6::Core +) + +NGL_TARGET_INCLUDE_DIRECTORIES(situationMapCommon + INTERFACE + ${CMAKE_CURRENT_SOURCE_DIR}/.. +) + + +NGL_INSTALL_TARGET(situationMapCommon) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/exception.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/exception.h new file mode 100755 index 000000000..c8adf12a6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/exception.h @@ -0,0 +1,93 @@ +/** +** +** @RDE_HEADER@ +** Implementation of Splines +** $Id$ +** $HeadURL$ +** $Author$ +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Joerg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** 19.06.2012, JT : Urversion for use in VIntel project +** 12.08.2015, JT : adapted to SituationMap +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + + +#include + +namespace SituationMap +{ +/** + \class Exception exception.h + \brief Basisklasse for Exception-Handling + + The class Exception defines a very simple exception handler, that will be able to return + a string message when an exception is thrown +*/ + +class Exception +{ +public: + + Exception() + : _message(QLatin1String("Error")) + {} + + Exception(const Exception &) = default; + + explicit Exception(const QString &msg) + : _message(msg) + {} + + + // explicit is not used here because + // throw SituationMap::Exception(__FILE__, __LINE__, "Message" ); + // will become more complicated + + Exception(const char *Source + , unsigned int lineNo + , const char *msg) + : Exception(QLatin1String(Source), lineNo, QLatin1String(msg)) + {} + + Exception(const char *Source + , unsigned int lineNo + , const QString &msg) + : Exception(QLatin1String(Source), lineNo, msg) + {} + + Exception(const QString &Source + , unsigned int lineNo + , const QString &msg) + : _message(QStringLiteral("\"%1\" in %2 at %3").arg(msg, Source).arg(lineNo)) + {} + + ~Exception() = default; + Exception &operator = (const Exception &e) = default; + + + QString getMessage() const { return _message; } //!< returns a specific error message as QString + +protected: + + QString _message; + +}; + +} // namespace SituationMap diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.cpp new file mode 100755 index 000000000..403716e7f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.cpp @@ -0,0 +1,346 @@ +/** +** +** @RDE_HEADER@ +** Simple Id Handler +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** ??.??.1994, JT : First edition for use with Tcl/Tk in START Feature Editor fe +** 16.08.2004, JT : Refactoring for use in Geo-Map Library GeISiR +** 11.05.2015, JT : Refactoring for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#include "id_handler.h" + +#include + +#include +#include "referenced.h" + + +namespace SituationMap +{ +const IdHandler::UniqueId IdHandler::BadId = static_cast(-1); + + +bool IdHandler::isIdValid(const UniqueId &id) { return id != BadId; } + + +IdHandler::IdHandler(unsigned int maxItems, unsigned int blockS) + : _blockSize(blockS) + , _maxIds(maxItems) + , _freeIds(maxItems) + , _firstFree(BadId) + , _lastAlloc(BadId) + , _notify(getLogger("IdHandler")) + , _idVector() +{ +} // IdHandler::IdHandler + + +IdHandler::~IdHandler() +{ + if (!_idVector.isEmpty()) + { + if (_lastAlloc != BadId) + { + for (UniqueId i = 0; i <= _lastAlloc; ++i) + _idVector[i] = nullptr; + } + _maxIds = 0; + _freeIds = 0; + _firstFree = BadId; + _lastAlloc = BadId; + } +} // IdHandler::~IdHandler + + +bool IdHandler::initMemHandler() +{ + if (_idVector.empty()) + { + _idVector.resize(_maxIds); + _freeIds = _maxIds; + _firstFree = 0; + _lastAlloc = BadId; + return false; + } + return true; +} // IdHandler::initMemHandler + + +void IdHandler::lookForNextFreeId() +{ + ++_firstFree; + + while (_firstFree < _lastAlloc) + { + if (!_idVector[_firstFree]) break; + ++_firstFree; + } + if (_firstFree >= _lastAlloc) _firstFree = _maxIds; + +} //IdHandler::lookForNextFreeId + + +bool IdHandler::valid() const +{ + return ((static_cast(_idVector.size()) == _maxIds) && (_firstFree != BadId)); +} // IdHandler::valid + + +unsigned int IdHandler::countReservedIds() const { return _maxIds; } +unsigned int IdHandler::countUsedIds() const { return _maxIds - _freeIds; } +unsigned int IdHandler::countFreeIds() const { return _freeIds; } + +bool IdHandler::resize(quint32 maxItems) +{ + if (initMemHandler()) + { + if (maxItems > static_cast(_idVector.size())) + { + _freeIds += maxItems - _maxIds; + _maxIds = maxItems; + _idVector.resize(_maxIds); + } + } + return (static_cast(_idVector.size()) == _maxIds); +} // IdHandler::resize + + +IdHandler::UniqueId IdHandler::createId(AccessableId *idPtr) +{ + initMemHandler(); + + UniqueId id((_lastAlloc == BadId) ? 0 : _lastAlloc + 1); + + if (id < _maxIds) + { + _idVector[id] = idPtr; + _lastAlloc = id; + if (_firstFree == id) ++_firstFree; + } + else + { + if (_firstFree >= _maxIds) + { + resize(_maxIds + _blockSize); + + if (id < _maxIds) + { + _idVector[id] = idPtr; + _lastAlloc = id; + if (_firstFree == id) + ++_firstFree; + } + else + { + ERROR_LOG(_notify) + << LOGFUNCTION + << QStringLiteral("Id table overflow, object <%1> of type <%2>, reserved Ids %3") + .arg(reinterpret_cast(idPtr), 0, 16) + .arg(QLatin1String(typeid(idPtr).name())) + .arg(_maxIds); + + return BadId; + } + } + else + { + id = _firstFree; + _idVector[id] = idPtr; + + lookForNextFreeId(); + } + } + _freeIds--; + return (id); +} // IdHandler::createId + + +bool IdHandler::reserveId(UniqueId id, AccessableId *idPtr) +{ + initMemHandler(); + + if (!valid()) + { + ERROR_LOG(_notify) + << LOGFUNCTION + << QStringLiteral("IdHandler is not initialzed, object <%1> of type <%2> ") + .arg(reinterpret_cast(idPtr), 0, 16) + .arg(QLatin1String(typeid(idPtr).name())); + + return false; + } + + if (id == BadId) + { + ERROR_LOG(_notify) + << LOGFUNCTION + << " Requested id is bad id <" << id << ">"; + + return false; + } + + if (id >= _maxIds) + { + if (!resize((((id + 1) / _blockSize) + 1) * _blockSize)) + { + ERROR_LOG(_notify) + << LOGFUNCTION + << QStringLiteral("Requested id is to large, id <%1> object <%2> of type <%3>.") + .arg(id) + .arg(reinterpret_cast(idPtr), 0, 16) + .arg(QLatin1String(typeid(idPtr).name())); + + return false; + } + } + if (_idVector[id]) + { + ERROR_LOG(_notify) + << LOGFUNCTION + << QStringLiteral("Requested id is already in use, object <%1> of type <%2>.") + .arg(reinterpret_cast(idPtr), 0, 16) + .arg(QLatin1String(typeid(idPtr).name())); + + return false; + } + + _idVector[id] = idPtr; + + if ((_lastAlloc == BadId) || (id > _lastAlloc)) _lastAlloc = id; + if (id == _firstFree) + { + ++_firstFree; + lookForNextFreeId(); + } + _freeIds--; + return true; +} // IdHandler::reserveId + + +bool IdHandler::freeId(UniqueId id) +{ + if (valid() && (_lastAlloc != BadId) && (id != BadId)) + { + if (id <= _lastAlloc) + { + if (_idVector[id]) + { + _idVector[id] = nullptr; + if (id < _firstFree) _firstFree = id; + if (id == _lastAlloc) + { + /* --------------------------------------------------------- + * Last allocated id is now free. Search new lastAlloc ... + * ---------------------------------------------------------- */ + if (_lastAlloc > 0) + { + --_lastAlloc; + + while (!_idVector[_lastAlloc]) + { + if (_lastAlloc < 1) + { + _lastAlloc = BadId; + break; + } + else --_lastAlloc; + } // while + } + else _lastAlloc = BadId; + } + _freeIds++; + return true; + } + } + else + { + ERROR_LOG(_notify) + << LOGFUNCTION + << "Id is not in use, id <" << id << ">"; + } + } + else + { + if (id != BadId) + { + ERROR_LOG(_notify) + << LOGFUNCTION + << "IdHandler is not initialzed."; + } + else + { + ERROR_LOG(_notify) + << LOGFUNCTION + << "Bad id, id <" << id << ">"; + } + } + return false; +} // IdHandler::freeId + + +IdHandler::AccessableId *IdHandler::accessId(UniqueId id) const +{ + if (valid()) + { + if ((id != BadId) && (id <= _lastAlloc)) + return _idVector[id].get(); + else + { + ERROR_LOG(_notify) + << LOGFUNCTION + << "Bad id or id is not in use, id <" << id << ">"; +#ifdef UseDebugBreaks +#ifdef WIN32 +#ifdef _DEBUG + __asm int 3 +#endif +#endif +#endif + } + } + else + { + ERROR_LOG(_notify) + << LOGFUNCTION + << "IdHandler is not initialzed"; + } + return nullptr; +} // IdHandler::accessId + + +bool IdHandler::isIdInUse(UniqueId id) const +{ + if (valid()) + { + if ((id != BadId) && (id <= _lastAlloc)) + return (_idVector[id].get() != nullptr); + } + return false; +} // IdHandler::isIdInUse + + +} // SituationMap + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.h new file mode 100755 index 000000000..30e99abfc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/id_handler.h @@ -0,0 +1,120 @@ +/** +** +** @RDE_HEADER@ +** Simple Id Handler +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** ??.??.1994, JT : First edition for use with Tcl/Tk in START Feature Editor fe +** 16.08.2004, JT : Refactoring for use in Geo-Map Library GeISiR +** 11.05.2015, JT : Refactoring for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + +//#include +#include "referenced.h" +#include "ref_pointer.h" +#include "situation_map_logging.h" + +#include "situation_map_common_export.h" +#include + +namespace SituationMap +{ + +/** + @class IdHandler id_handler.h + @brief Simple IdHandler to map id's to data pointers + + IdHandler is a class to manage integer ids and map them to data pointers. The IdHandler stores + the data pointer in a vector container. The index of the data pointer in this vector is used as + id value. If the vector gets out of size new vector elements will be added automaticaly. This + will be done blockwises. The initial size of the vector and the block size can be set as + parameter of IdHandler ctor. The default values are 10000 for the initial vector size and 1000 + for the block size. +*/ +class SITUATIONMAPCOMMON_EXPORT IdHandler +{ +public: + + using AccessableId = Referenced; + using UniqueId = quint32; // see UniqueMapId @ situation_map_types.h + + static const UniqueId BadId; + + static bool isIdValid(const UniqueId &id); //!< Checks if the \c id is not a BadId + + IdHandler(const IdHandler &) = delete; + IdHandler &operator = (const IdHandler &) = delete; + + /** + @brief Construction of IdHandler + + Initialize IdHandler instances. The vector container to store data pointers is + reserved with \c maxItems. If the vector gets out of size new vector elements + will be added automaticaly + + @param maxItems Initial size of the vector container to store the data pointer. + @param blockS Block size is used when the vector container will be extended. + */ + IdHandler(unsigned int maxItems = 10000, unsigned int blockS = 1000); + + /** + @brief Destruction of IdHandler + */ + virtual ~IdHandler(); + + bool valid() const; //!< Checks if IdHandler is valid + + quint32 countReservedIds() const; //!< Returns count of reserved ids. + quint32 countUsedIds() const; //!< Returns count of used ids. + quint32 countFreeIds() const; //!< Returnes count of free ids + + bool resize(quint32 maxItems); //!< Resize idMem to store now maxItems ids. Returns true on success. + + UniqueId createId(AccessableId *); //!< Create new \c id and returns this new id. + bool reserveId(UniqueId id, AccessableId *); //!< Reserve \c id if the id is unused. Returns true if \c id is not already in use and reservation of \c id is successful elsewise false. + bool freeId(UniqueId id); //!< Frees \c id. Returns true on success elsewise false. + + AccessableId *accessId(UniqueId id) const; //!< Returns pointer to object for \c id. Returns pointer on success elsewise \c nullptr. + bool isIdInUse(UniqueId id) const; //!< Checks if a id is already in use. + +protected: + + quint32 _blockSize; + quint32 _maxIds; + quint32 _freeIds; + UniqueId _firstFree; + UniqueId _lastAlloc; + LOGGER_T _notify; + + mutable QVector> _idVector; + +private: + + bool initMemHandler(); + void lookForNextFreeId(); + +}; /* IdHandler */ + +} /* SituationMap */ + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/ref_pointer.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/ref_pointer.h new file mode 100755 index 000000000..9f6de2694 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/ref_pointer.h @@ -0,0 +1,226 @@ +/** +** +** @RDE_HEADER@ +** Base class for reference counted objects +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Umgebung: Intel-PC +** Software-Umgebung: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Pgrm-Sprache ....: C++ 11 +** +** HIER/SACHN ......: P: -- ---- - --- QE +** +** Version .........: $Revision$ +** ----------------------------------------------------------------------------------------------- +** +** Autor ...........: Nikolaus Hanekamp, SEDG, Tel. 2906 +** +** ----------------------------------------------------------------------------------------------- +** +** Notizen .........: +** +** 18.08.2004, NH : Urversion +** 13.05.2015, JT : Refactoring for use with Qt5, ArcGIS 10.2.5 +** adding methodes according to std::share_ptr like reset +** +** ----------------------------------------------------------------------------------------------- +** +** Copyright (C) 2004 Rheinmetall Defence Electronics GmbH, D-28309 BREMEN +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + +#include "referenced.h" + + +namespace SituationMap +{ + +/** + @class RefPointer ref_pointer.h + @brief Smart pointer for handling referenced counted objects + + Simple class template to implement reference counted pointers or smart pointers. The RefPointer class controls the + reference counter of the object \c T the pointer points to. The class \c T have to be derived from class \c Referenced, + where the reference counter member variable is located. In case of this reference counter gets zero delete will be called + automatically. + + @see Referenced + +*/ +template class RefPointer +{ + +public: + + using ElementType = T; + + /** + @name Construction and Destruction + @{ + */ + RefPointer() : RefPointer(nullptr) {} + RefPointer(const RefPointer &rp) : RefPointer(rp._ptr) {} + + explicit RefPointer(ElementType *t) + : _ptr(t) + { + static_assert(std::is_base_of::value + , "Class of template SituationMap::RefPointer have to be derived from class SituationMap::Referenced"); + + if (_ptr) _ptr->ref(); + } /* RefPointer */ + + ~RefPointer() + { + if (_ptr) _ptr->unref(); + _ptr = nullptr; + } /* ~RefPointer */ + + /** @} */ + + /** + Checks if pointer is valid. + */ + explicit inline operator bool() const { return (_ptr != nullptr); } + + /** + @name Casting + @{ + */ + /** + To create reference pointer from a derived class directly this contructor template can be used. + How to use it is shown in the following example: + + \code + + RefPointer objPtr = getAbstractMapObject(); + + RefPointer participantObj( objPtr ); + if (participantObj != NULL) + { + ... + } + + \endcode + + Alternatively it is posible to create \b participantObj from example above as follows: + + \code + + RefPointer participantObj = RefPointer(dynamic_cast(objPtr.get())); + + \endcode + */ + + template explicit RefPointer(RefPointer assignPtr) + { + _ptr = dynamic_cast(assignPtr.get()); + if (_ptr) _ptr->ref(); + } + + + template explicit RefPointer(Y *assignPtr) + { + _ptr = dynamic_cast(assignPtr); + if (_ptr) _ptr->ref(); + } + + /** @} */ + + + inline RefPointer &operator = (const RefPointer &rp) + { + if (_ptr == rp._ptr) return *this; + T *tmp_ptr = _ptr; + _ptr = rp._ptr; + if (_ptr) _ptr->ref(); + // unref second to prevent any deletion of any object which might + // be referenced by the other object. i.e rp is child of the + // original _ptr. + if (tmp_ptr) tmp_ptr->unref(); + return *this; + } + + inline RefPointer &operator = (ElementType *ptr) + { + if (_ptr == ptr) return *this; + T *tmp_ptr = _ptr; + _ptr = ptr; + if (_ptr) _ptr->ref(); + // unref second to prevent any deletion of any object which might + // be referenced by the other object. i.e rp is child of the + // original _ptr. + if (tmp_ptr) tmp_ptr->unref(); + return *this; + } + + inline void reset() { *this = nullptr; } + inline void reset(T *ptr) { *this = ptr; } + + /** + @name Comparison Operators + Compares the pointer element \c _ptr with other pointers. + @{ + */ + inline bool operator == (const RefPointer &rp) const { return (_ptr == rp._ptr); } + inline bool operator != (const RefPointer &rp) const { return (_ptr != rp._ptr); } + inline bool operator < (const RefPointer &rp) const { return (_ptr < rp._ptr); } + inline bool operator > (const RefPointer &rp) const { return (_ptr > rp._ptr); } + + inline bool operator == (const ElementType *ptr) const { return (_ptr == ptr); } + inline bool operator != (const ElementType *ptr) const { return (_ptr != ptr); } + inline bool operator < (const ElementType *ptr) const { return (_ptr < ptr); } + inline bool operator > (const ElementType *ptr) const { return (_ptr > ptr); } + /** @} */ + + /** + @name Access Operators + Get access to the pointer or the object it points to. + @{ + */ + inline ElementType &operator*() { return *_ptr; } + inline const ElementType &operator*() const { return *_ptr; } + + inline ElementType *operator->() { return _ptr; } + inline const ElementType *operator->() const { return _ptr; } + + inline ElementType *get() { return _ptr; } + inline const ElementType *get() const { return _ptr; } + /** @} */ + + /** + @name Checks if the pointer is valid. + @{ + */ + inline bool valid() const { return _ptr != nullptr; } + inline bool operator!() const { return _ptr == nullptr; } + /** @} */ + + /** + * @name Control Over Object Pointer + * Take control over the object pointed to by RefPointer, unreference but do not delete even if ref count goes to 0, + * return the pointer to the object. + * Note, do not use this unless you are 100% sure your code handles the deletion of the object correctly, and + * only use when absolutely required. + @{ + */ + inline ElementType *take() { return release();} + inline ElementType *release() { T *tmp = _ptr; if (_ptr) _ptr->unref_nodelete(); _ptr = nullptr; return tmp;} + /** @} */ + +private: + + ElementType *_ptr; +}; + +} // SituationMap + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.cpp new file mode 100755 index 000000000..d6f869238 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.cpp @@ -0,0 +1,76 @@ +/** +** +** @RDE_HEADER@ +** Base class for reference counted objects +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Umgebung: Intel-PC +** Software-Umgebung: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Pgrm-Sprache ....: C++ 11 +** +** HIER/SACHN ......: P: -- ---- - --- QE +** +** Version .........: $Revision$ +** ----------------------------------------------------------------------------------------------- +** +** Autor ...........: Nikolaus Hanekamp, SEDG, Tel. 2906 +** Joerg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notizen .........: +** +** 18.08.2004, NH : Urversion +** 13.05.2015, JT : Refactoring for use with Qt5, ArcGIS 10.2.5 +** +** ----------------------------------------------------------------------------------------------- +*/ + + +#include "referenced.h" + +#include + +#include +#include + + +namespace SituationMap +{ + +std::shared_ptr & s_deleteHandler() +{ + static std::shared_ptr deleteHandler(nullptr); + return deleteHandler; +} // std::shared_ptr & s_deleteHandler() + + +void Referenced::setDeleteHandler(DeleteHandler *handler) +{ + s_deleteHandler().reset(handler); +} // Referenced::setDeleteHandler + + +DeleteHandler *Referenced::getDeleteHandler() { return s_deleteHandler().get(); } + + +Referenced::~Referenced() +{ + if (_refCount > 0) + { + qCritical() << "Deleting still referenced object < " << QString::number((qint64)this, 0, 16) << ">" + << "of type <" << typeid(this).name() << ">" + << "refCnt: <" << _refCount; + + } +} // Referenced::~Referenced + +} // end of namespace SituationMap + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.h new file mode 100755 index 000000000..1d2a5c0a2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/referenced.h @@ -0,0 +1,157 @@ +/** +** +** @RDE_HEADER@ +** Base class for reference counted objects +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Umgebung: Intel-PC +** Software-Umgebung: Linux, Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Pgrm-Sprache ....: C++ 11 +** +** HIER/SACHN ......: P: -- ---- - --- QE +** +** Version .........: $Revision$ +** ----------------------------------------------------------------------------------------------- +** +** Autor ...........: Nikolaus Hanekamp, SEDG, Tel. 2906 +** Joerg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notizen .........: +** +** 18.08.2004, NH : Urversion +** 13.05.2015, JT : Refactoring for use with Qt5, ArcGIS 10.2.5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + +#include "situation_map_common_export.h" + +namespace SituationMap +{ + +// forward declar, declared after Refenced below. +class DeleteHandler; + +/** + @class Referenced referenced.h + @brief Base class for referenced counted object classes + Base class from providing referencing counted objects. Objects from type "Referenced" should + be used in combination with the class "RefPointer" for memory handling. In this case calling + delete direcly for those objects will result in an error at runtime. Unfortunately there is + no way to check this at compile time - to declare delete operator protected does not work. + + @sa RefPointer +*/ +class SITUATIONMAPCOMMON_EXPORT Referenced +{ +public: + + /** + @name Construction + @{ + */ + Referenced() { _refCount = 0; } + Referenced(const Referenced &) { _refCount = 0; } + /** @} */ + + /** + Assign operator has to do nothing because is is permitted to change _refCount during assignment operation. + */ + inline Referenced &operator = (const Referenced &) { return *this; } + + friend class DeleteHandler; + + /** Set a DeleteHandler to which deletion of all referenced counted objects + * will be delegated to.*/ + static void setDeleteHandler(DeleteHandler *handler); + + /** Get a DeleteHandler.*/ + static DeleteHandler *getDeleteHandler(); + + + /** Increment the reference count by one, indicating that + this object has another pointer which is referencing it.*/ + inline void ref() const { ++_refCount; } + + /** Decrement the reference count by one, indicating that + a pointer to this object is referencing it. If the + reference count goes to zero, it is assumed that this object + is no longer referenced and is automatically deleted.*/ + inline void unref() const; + + /** Decrement the reference count by one, indicating that + a pointer to this object is referencing it. However, do + not delete it, even if ref count goes to 0. Warning, unref_nodelete() + should only be called if the user knows exactly who will + be resonsible for, one should prefer unref() over unref_nodelete() + as the later can lead to memory leaks.*/ + inline void unref_nodelete() const { --_refCount; } + + /** Return the number pointers currently referencing this object. */ + inline int referenceCount() const { return _refCount; } + +protected: + + /** + Declaration of destructor is protected because only methode unref() or the delete + handler itself are allowed to destroy referenced objects. + */ + virtual ~Referenced(); + mutable int _refCount; + +}; + + +/** Class for override the default delete behavior so that users can implement their own object + * deletion schemes. This might be done to help implement protection of multiple threads from deleting + * objects unintentionally. + * Note, the DeleteHandler cannot itself be reference counted, otherwise it + * would be responsible for deleting itself! + * An static auto_ptr<> is used internally in Referenced.cpp to manage the + * DeleteHandler's memory.*/ +class SITUATIONMAPCOMMON_EXPORT DeleteHandler +{ +public: + + DeleteHandler() = default; + virtual ~DeleteHandler() = default; + + /** Flush any cache of objects that need to be deleted by doing an actual delete.*/ + virtual void flush() {} + + static inline void doDelete(const Referenced *object) { delete object; } + + /** Request the deletion of an object. + * Depending on users implementation of DeleteHandler, the delete of the object may occur + * straight away or be delayed until doDelete is called. + * The default implementation does a delete straight away.*/ + virtual void requestDelete(const Referenced *object) { doDelete(object); } + +}; /* DeleteHandler */ + + +inline void Referenced::unref() const +{ + --_refCount; + if (_refCount == 0) + { + if (getDeleteHandler()) getDeleteHandler()->requestDelete(this); + else delete this; + } + else if (_refCount < 0) + throw 2325; +} /* Referenced::unref */ + +} // SituationMap + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.cpp new file mode 100755 index 000000000..3ca0ac273 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.cpp @@ -0,0 +1,51 @@ +/** + * @RDE_HEADER@ + * Helper function to get the resource path + * $Id$ + * $HeadURL$ + * $Author$ + */ + + +#include "resource_path.h" + + +#include // for NGL::directories + + +// Qt +#include +#include + + +//---------------------------------------------------------------------------- +namespace SituationMap +{ + + +QString getResourcePath() +{ + const QString resDir = NGL::directory(NGL::FileType::ConfigFile, QLatin1String("resources")); + if (!resDir.isEmpty()) + return resDir; + + QVector pathsToSearch; + + // for old systems +#ifdef Q_OS_WIN + pathsToSearch += QLatin1String("C:/ExtFw/resources/"); +#else + pathsToSearch += QLatin1String("/usr/share/arcgis/resources"); +#endif + + for (const QString &path : qAsConst(pathsToSearch)) + { + if (QDir(path).exists()) + return path + QLatin1Char('/'); + } + return QString(); +} + + +} // namespace SituationMap + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.h new file mode 100755 index 000000000..42437abc5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/resource_path.h @@ -0,0 +1,24 @@ +/** + * @RDE_HEADER@ + * Helper function to get the resource path + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include "situation_map_common_export.h" + +// Qt +#include + + +//---------------------------------------------------------------------------- +namespace SituationMap +{ + +QString SITUATIONMAPCOMMON_EXPORT getResourcePath(); + +} // namespace SituationMap + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/simple_value.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/simple_value.h new file mode 100755 index 000000000..6aa4f53f2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/simple_value.h @@ -0,0 +1,96 @@ +/** + * @RDE_HEADER@ + * Helper class for storing a simple value and an implizit changed flag + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +// Qt + +#include + +//---------------------------------------------------------------------------- +namespace SituationMap +{ + + +/*! \class SimpleValue + \brief Simple storing fo values + */ +template class SimpleValue +{ +protected: + TYPE m_value = TYPE(); // '{}' to initialize the member (and avoid unconditional jumps@valgrind) + bool m_changed = true; + +public: + SimpleValue() = default; + // cppcheck-suppress noExplicitConstructor + SimpleValue(const TYPE &value) // should not be declared explicit to avoid additional writing stuff to cast values + : m_value(value) + {} + + SimpleValue &operator=(const TYPE &newValue) + { + if (this->m_value != newValue) + { + this->m_value = newValue; + m_changed = true; + } + return *this; + } + + const TYPE &operator()() const + { + return this->m_value; + } + + const TYPE &value() const + { + return this->m_value; + } + + TYPE &refValue() + { + m_changed = true; + return this->m_value; + } + + const TYPE &refValue() const + { + return this->m_value; + } + + + bool changed() const + { + return m_changed; + } + + void reset() + { + m_changed = false; + } + + void setChanged() + { + m_changed = true; + } + + + friend std::ostream &operator<<(std::ostream &stream, + const SimpleValue &simpleVal) + { + stream << simpleVal.value(); + return stream; + } + +}; + + + +} // namespace SituationMap + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_common_export.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_common_export.h new file mode 100755 index 000000000..88046ec6d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_common_export.h @@ -0,0 +1,21 @@ +/** + * Export definitions + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef SITUATIONMAPCOMMON_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define SITUATIONMAPCOMMON_EXPORT +# else +# if defined(MAKE_SITUATIONMAPCOMMON_LIB) +# define SITUATIONMAPCOMMON_EXPORT Q_DECL_EXPORT +# else +# define SITUATIONMAPCOMMON_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.cpp new file mode 100755 index 000000000..37a7cc7ab --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.cpp @@ -0,0 +1,51 @@ +/** + * @RDE_HEADER@ + * Logging within SituationMap + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "situation_map_logging.h" +#include +#include +namespace SituationMap +{ + +LOGGER_T getLogger(const char *name, int id) +{ + static const QLatin1String prefix("SituationMap."); + std::string loggerName; + const size_t len = strlen(name); + loggerName.reserve(prefix.size() + len); + loggerName.append(prefix.data(), prefix.size()); + loggerName.append(name, len); + + if (id > 0) + { + std::stringstream loggerStream; + loggerStream << loggerName << "." << id; + loggerName = loggerStream.str(); + } + + try + { + return NGL::NGLLoggerBootstrap::getNGLRootLogger(). + getNGLLogger(loggerName); + } + catch (const std::exception &ex) + { + fprintf(stderr, "Error retrieving logger: %s", ex.what()); + abort(); + } +} + +} // namespace SituationMap + +std::ostream &operator<< (std::ostream &stream, + const QUuid &value) +{ + stream << "QUuid(" << value.toString() << ")"; + return stream; +} + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.h new file mode 100755 index 000000000..b036517ca --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Common/situation_map_logging.h @@ -0,0 +1,38 @@ +/** + * @RDE_HEADER@ + * Logging within SituationMap + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include +#include "situation_map_common_export.h" + +class QUuid; + +namespace SituationMap +{ + +using LOGGER_T = NGL::INGLLogger&; + +// export for executables within 'Tests' +LOGGER_T SITUATIONMAPCOMMON_EXPORT getLogger(const char *name, int id = -1); +} // namespace SituationMap + +SITUATIONMAPCOMMON_EXPORT std::ostream &operator<< (std::ostream &stream, + const QUuid &value); + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/CMakeLists.txt new file mode 100755 index 000000000..a8aafc248 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/CMakeLists.txt @@ -0,0 +1,120 @@ +# +# $Id$ +# $HeadURL$ +# $Author$ +# + +# LIBRARY + +SET(Symbology_SRCS + sidc_codec.cpp + + symbol_dictionary.cpp + property_result.cpp + symbol_data_to_render.cpp + symbol_result.cpp + symbol_properties.cpp + sidc_definitions.cpp + sidc_builder_base.cpp + sidc_builder.cpp +# sidc2525_delta.cpp +) +SET(Symbology_HDRS + advanced_symbology_export.h + bulk_renderer.h + symbology_type.h + symbol_dictionary_types.h + symbol_dictionary.h + property_result.h + symbol_data_to_render.h + symbol_result.h + symbol_properties.h + sidc_codec.h + sidc_definitions.h + sidc_builder_base.h + sidc_builder.h +# sidc2525_delta.h + result_watcher.h +) + +SET(SymbologyImpl_SRCS + ../SymbologyImpl/advanced_symbology_logging.cpp + ../SymbologyImpl/symbol_extension_renderer.cpp + ../SymbologyImpl/symbol_dictionary_impl.cpp + ../SymbologyImpl/esri_dictionary_processor.cpp + ../SymbologyImpl/esri_dictionary_processor_mil2525d.cpp + ../SymbologyImpl/esri_dictionary_processor_app6.cpp + ../SymbologyImpl/esri_dictionary_processor_app6d.cpp + ../SymbologyImpl/base_symbol_model.cpp +) +SET(SymbologyImpl_HDRS + ../SymbologyImpl/advanced_symbology_logging.h + ../SymbologyImpl/symbol_extension_renderer.h + ../SymbologyImpl/symbol_dictionary_impl.h + ../SymbologyImpl/esri_dictionary_processor.h + ../SymbologyImpl/esri_dictionary_processor_mil2525d.h + ../SymbologyImpl/esri_dictionary_processor_app6.h + ../SymbologyImpl/esri_dictionary_processor_app6d.h + ../SymbologyImpl/base_symbol_model.h +) + +QT6_ADD_RESOURCES(Symbology_SRCS ../SymbologyImpl/Resources/symbols.qrc) + +SOURCE_GROUP(Symbology FILES ${Symbology_SRCS} ${Symbology_HDRS} ${SymbologyImpl_SRCS} ${SymbologyImpl_HDRS}) + +NGL_ADD_LIBRARY(WS advancedSymbology SHARED ${Symbology_SRCS} ${Symbology_HDRS} ${SymbologyImpl_SRCS} ${SymbologyImpl_HDRS}) + +NGL_TARGET_INCLUDE_DIRECTORIES(advancedSymbology + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/.. +) + +NGL_TARGET_LINK_LIBRARIES(advancedSymbology + PRIVATE + # ArcGIS::ArcGIS - not available in Qt6 migration + Qt6::Concurrent + ngltools # DTG + situationMapCommon + LtsDataView + LtsSessionData + LtsUtilsCoreHeaderOnly + + PUBLIC + advancedSymbologyXML + NGLLogger + Qt6::Core + Qt6::Widgets +) + + +IF(BUILD_TESTING AND BUILD_SITMAP_UNIT_TESTS AND TARGET situationMapCommon) + + NGL_ADD_LIBRARY(WS NO_TRANSLATION advancedSymbology_static STATIC ${Symbology_SRCS} ${Symbology_HDRS} ${SymbologyImpl_SRCS} ${SymbologyImpl_HDRS}) + NGL_TARGET_COMPILE_DEFINITIONS(advancedSymbology_static PUBLIC "ADVANCED_SYMBOLOGY_EXPORT=") + + NGL_TARGET_INCLUDE_DIRECTORIES(advancedSymbology_static + PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/.. +# INTERFACE +# ${CMAKE_CURRENT_SOURCE_DIR} + ) + NGL_TARGET_LINK_LIBRARIES(advancedSymbology_static + PRIVATE + NGLLogger + # ArcGIS::ArcGIS - not available in Qt6 migration + Qt6::Concurrent + PUBLIC + advancedSymbologyXML + Qt6::Core + Qt6::Widgets + + LtsDataView + LtsSessionData + LtsUtilsCoreHeaderOnly + + ) + +ENDIF() + +NGL_INSTALL_TARGET(advancedSymbology) + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/advanced_symbology_export.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/advanced_symbology_export.h new file mode 100755 index 000000000..b545fe9c4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/advanced_symbology_export.h @@ -0,0 +1,21 @@ +/** + * Export definitions + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef ADVANCED_SYMBOLOGY_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define ADVANCED_SYMBOLOGY_EXPORT +# else +# if defined(MAKE_ADVANCEDSYMBOLOGY_LIB) +# define ADVANCED_SYMBOLOGY_EXPORT Q_DECL_EXPORT +# else +# define ADVANCED_SYMBOLOGY_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/bulk_renderer.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/bulk_renderer.h new file mode 100755 index 000000000..fecb4b4b5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/bulk_renderer.h @@ -0,0 +1,225 @@ +/** + * @RDE_HEADER@ + * BulkRenderer + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "symbol_dictionary.h" +#include "symbol_result.h" + + +// Qt +#include +#include +#include + + +// Forward + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +//---------------------------------------------------------------------------- +class ADVANCED_SYMBOLOGY_EXPORT BulkRendererBase : public QObject +{ + Q_OBJECT +public: + BulkRendererBase() = default; + virtual ~BulkRendererBase() = default; + +public Q_SLOTS: + void onSingleResultReady() + { + ++m_resultReadyCounter; + if (m_resultReadyCounter >= m_requestCount) + emit resultsReady(); + } + +Q_SIGNALS: + /// Signal emits when all results are ready + void resultsReady(); + +protected: + uint m_resultReadyCounter = 0; + uint m_requestCount = 0; +}; + +//---------------------------------------------------------------------------- +template +class BulkRenderer : public BulkRendererBase +{ +public: + using RequestResult = QPair>; + using RequestResultVector = QVector; + + explicit BulkRenderer(SymbologyType symbologyType) + : m_symbologyType(symbologyType) + {} + virtual ~BulkRenderer() = default; + + + void addRequest(const INPUT_TYPE &request) + { + m_requestResultVector.append(RequestResult(request, QSharedPointer(new AdvancedSymbology::SymbolResultWatcher(this)))); + } + + int size() { return m_requestResultVector.size(); } + + virtual void run() = 0; + + void cancel() + { + for (RequestResult &requestResult : m_requestResultVector) + { + QSharedPointer watcher = requestResult.second; + if (watcher) + watcher->cancel(); + } // for + } + + void reset() + { + // will destroy the associated SymbolResults if the shdPtr has last reference. + // In that case waitForFinished will be called. + m_requestResultVector.clear(); + + // to be complete: + m_resultReadyCounter = 0; + m_requestCount = 0; + } + + const RequestResultVector &results() const + { + return m_requestResultVector; + } + + QSharedPointer getResult(const INPUT_TYPE &request) + { + for (const RequestResult &requestResult : m_requestResultVector) + { + if (requestResult.first == request) + return requestResult.second; + } + return nullptr; + } + + +protected: + void setupWatcher() + { + m_resultReadyCounter = 0; + m_requestCount = m_requestResultVector.size(); + + // start every single render request: + for (RequestResult &requestResult : m_requestResultVector) + { +// requestResult.second = +// QSharedPointer (new SymbolResultWatcher()); + connect(requestResult.second.data(), &SymbolResultWatcher::resultReady, + this, &BulkRendererBase::onSingleResultReady, Qt::QueuedConnection); + } // for + } + +protected: + SymbologyType m_symbologyType = SymbologyType::None; + RequestResultVector m_requestResultVector; +}; + + + +//---------------------------------------------------------------------------- +class ADVANCED_SYMBOLOGY_EXPORT BulkRendererFindImage : public BulkRenderer +{ +public: + explicit BulkRendererFindImage(SymbologyType symbologyType) + : BulkRenderer(symbologyType) + {} + + virtual ~BulkRendererFindImage() = default; + + void run() override + { + setupWatcher(); + + const SymbolDictionary &dict = SymbolDictionary::dictionary(m_symbologyType); + + // start every single render request: + for (RequestResult &requestResult : m_requestResultVector) + { + // 1st + const SymbolDataToRender &input = requestResult.first; + + // 2nd + QSharedPointer watcher = requestResult.second; + if (watcher) + watcher->setSymbolResult(dict.findImage(input)); + } // for + } +}; + +//---------------------------------------------------------------------------- +class ADVANCED_SYMBOLOGY_EXPORT BulkRendererFindBaseSymbol : public BulkRenderer +{ +public: + explicit BulkRendererFindBaseSymbol(SymbologyType symbologyType) + : BulkRenderer(symbologyType) + {} + + virtual ~BulkRendererFindBaseSymbol() = default; + + void run() override + { + setupWatcher(); + + const SymbolDictionary &dict = SymbolDictionary::dictionary(m_symbologyType); + + // start every single render request: + for (RequestResult &requestResult : m_requestResultVector) + { + // 1st + const QString &input = requestResult.first; + + // 2nd + QSharedPointer watcher = requestResult.second; + if (watcher) + watcher->setSymbolResult(dict.findBaseSymbol(input)); + } // for + } +}; + +//---------------------------------------------------------------------------- +class ADVANCED_SYMBOLOGY_EXPORT BulkRendererFindPreview : public BulkRenderer +{ +public: + explicit BulkRendererFindPreview(SymbologyType symbologyType) + : BulkRenderer(symbologyType) + {} + + void run() override + { + setupWatcher(); + + const SymbolDictionary &dict = SymbolDictionary::dictionary(m_symbologyType); + + // start every single render request: + for (RequestResult &requestResult : m_requestResultVector) + { + // 1st + const QString &input = requestResult.first; + + // 2nd + QSharedPointer watcher = requestResult.second; + if (watcher) + watcher->setSymbolResult(dict.findPreview(input)); + } // for + } +}; + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.cpp new file mode 100755 index 000000000..09f9be5ba --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.cpp @@ -0,0 +1,129 @@ +/** + * @RDE_HEADER@ + * Class PropertyResult + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "property_result.h" + + +// Qt +#include + + +namespace AdvancedSymbology +{ + +class PropertyResult::Private +{ +public: + Private() = default; + ~Private() = default; + + // Input data: + + // process data: + QUuid m_taskIdFindSymbol; // of esriDict::findSymbol + + // Result data: + bool m_resultReady = false; + SymbolPropertyList m_symbolPropertyList; + + + // For debugging: + static unsigned long m_counter; +}; + +unsigned long PropertyResult::Private::m_counter = 0; + + +PropertyResult::PropertyResult() + : QObject() + , d(new Private) + , m_logger(getLogger("PropertyResult")) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter; + ++d->m_counter; + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << d->m_counter; +} + +PropertyResult::~PropertyResult() +{ + LOGGER_T m_logger = getLogger("PropertyResult"); + TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter; + --d->m_counter; + delete d; + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << Private::m_counter; +} + + +void PropertyResult::fireResultReady() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // (this bool don`t has to be reset. + // a new request will return a new instance of this class...) + d->m_resultReady = true; + + emit resultReadyInternal(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + + +void PropertyResult::setTaskId(const QUuid &uuid) +{ + d->m_taskIdFindSymbol = uuid; +} + +const QUuid &PropertyResult::taskId() const +{ + return d->m_taskIdFindSymbol; +} + + +void PropertyResult::setProperties(const SymbolPropertyList &properties) +{ + d->m_symbolPropertyList = properties; +} + + +bool PropertyResult::isResultReady() const +{ + return d->m_resultReady; +} + +SymbolPropertyList PropertyResult::properties() const +{ + return d->m_symbolPropertyList; +} + + +//------------------------------------------------------------------------------ +// PropertyResultWatcher +//------------------------------------------------------------------------------ + +PropertyResultWatcher::PropertyResultWatcher(QObject *parent) + : BaseClass(parent) + , m_logger(getLogger("PropertyResultWatcher")) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +QSharedPointer PropertyResultWatcher::propertyResult() const +{ + return BaseClass::result(); +} + +void PropertyResultWatcher::setPropertyResult(const QSharedPointer &propertyResult) +{ + BaseClass::setResult(propertyResult); +} + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.h new file mode 100755 index 000000000..8c2ae1de1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/property_result.h @@ -0,0 +1,137 @@ +/** + * @RDE_HEADER@ + * Class PropertyResult + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include "symbol_properties.h" +#include "result_watcher.h" +#include + + +// Qt +#include + + +// forward +class QUuid; + +//---------------------------------------------------------------------------- +/** + * Store PropertyResult + */ +namespace AdvancedSymbology +{ + +using SymbolPropertyList = QList; + +/** + * @brief The PropertyResult class + */ + +/** + * @brief The PropertyResult class mainly contains a SymbolPropertyList. + * It´s based on the future pattern. So the real result can only be retrieved if + * the asynchron operation has finished (and the result is ready). + * To standardize this you should use a propper watcher: PropertyResultWatcher. + * + * \sa \ref secResultWatcherExample + */ +class ADVANCED_SYMBOLOGY_EXPORT PropertyResult : public QObject +{ + Q_OBJECT + + /*! \name Construction, Destruction */ + //@{ +public: + ///< Constructor + explicit PropertyResult(); + + ///< Destructor + virtual ~PropertyResult(); + //@} + + /*! \name Data regarding requested */ + //@{ + //@} + + /*! \name Data regarding processing*/ + //@{ + /** + * @brief taskId internal taskId + * @return internal taskId + */ + const QUuid &taskId() const; + + /*! \name Data regarding result*/ + //@{ + /** + * @brief Get SymbolPropertyList + * @return SymbolPropertyList + */ + SymbolPropertyList properties() const; + //@} + + +Q_SIGNALS: + /// This signal is for internal usage only. Use PropertyResultWatcher! + void resultReadyInternal(); + +protected: + friend class SymbolDictionaryImpl; + void fireResultReady(); + + friend class ResultWatcher; + bool isResultReady() const; + + void setTaskId(const QUuid &uuid); + void setProperties(const SymbolPropertyList &properties); + +private: + class Private; + /** + * The private d->pointer to not break BC when changing internals of this class + */ + Private *d = nullptr; + + LOGGER_T m_logger; ///< Interface of the Logging-Facility +}; + + +//------------------------------------------------------------------------------ + +/** + * @brief The PropertyResultWatcher class takes one PropertyResult using setPropertyResult. + * If the background operation has finished, the signal resultReady is emitted exactly one time. + * + * \sa \ref secResultWatcherExample + */ +class ADVANCED_SYMBOLOGY_EXPORT PropertyResultWatcher : public ResultWatcher +{ + Q_OBJECT + + using BaseClass = ResultWatcher; + +public: + ///< Constructor + explicit PropertyResultWatcher(QObject *parent = nullptr); + ///< Destructor + ~PropertyResultWatcher() = default; + + QSharedPointer propertyResult() const; + void setPropertyResult(const QSharedPointer &propertyResult); + + +protected: + LOGGER_T m_logger; ///< Interface of the Logging-Facility +}; + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/result_watcher.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/result_watcher.h new file mode 100755 index 000000000..87faf3709 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/result_watcher.h @@ -0,0 +1,170 @@ +/** + * @RDE_HEADER@ + * Class ResultWatcherBase, ResultWatcher + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include + +// Qt +#include + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +//---------------------------------------------------------------------------- +// - ResultWatcherBase (containing the Q_OBJECT for signal/slot) +// - ResultWatcher (containing template) +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// ResultWatcherBase (containing the Q_OBJECT for signal/slot) +//---------------------------------------------------------------------------- +/** + * @brief The ResultWatcherBase class is a simple base class of ResultWatcher + * and contain the signal resultReady, since a template class can`t. + */ +class ADVANCED_SYMBOLOGY_EXPORT ResultWatcherBase : public QObject +{ + Q_OBJECT + +public: + ///< Constructor + explicit ResultWatcherBase(QObject *parent = nullptr) + : QObject(parent) + {} + + ///< Destructor + ~ResultWatcherBase() = default; + + +Q_SIGNALS: + /// Signal emits when result is ready + void resultReady(); + +protected Q_SLOTS: + void onResultReadyInternal() + { + // to avoid emitting signal twice: + + if (! m_alreadyEmitted) + emit resultReady(); + m_alreadyEmitted = true; + } + +protected: + bool m_alreadyEmitted = false; +}; + + +//---------------------------------------------------------------------------- +// ResultWatcher (containing template) +//---------------------------------------------------------------------------- + +/** + * @brief The ResultWatcher class takes a result and will emit resultReady exactly one time. + * + * \section secResultWatcherExample Using the ResultWatcher + * Here is an example of using the ResultWatcher + * + * \code + * AdvancedSymbology::SymbolDictionary &dict = AdvancedSymbology::SymbolDictionary::dictionary(AdvancedSymbology::MIL2525D); + * + * AdvancedSymbology::SymbolResultWatcher symbolResultWatcher; + * + * // FIRST connect: + * connect(&symbolResultWatcher, &AdvancedSymbology::SymbolResultWatcher::resultReady, this, [](){ + * + * QSharedPointer symResult = symbolResultWatcher.symbolResult(); + * if (! symResult) + * return; // should NEVER happen! (Which object should have triggered the signal???) + * + * if (this->m_targetObject) + * { + * this->m_targetObject->setImage(symResult->symbolImage().image()); + * } + * }); + * + * // SECOND setResult (starting the asynchronous operation) + * symbolResultWatcher.setSymbolResult( dict.findSymbol("mySidc") ); + * \endcode + * + * There is an convenience class: SymbolResultWatcherComboxBox + * + * @note + * Template classes can not contain signals why this is moved to the base class ResultWatcherBase. + * + */ +template +class ResultWatcher : public ResultWatcherBase +{ +public: + ///< Constructor + explicit ResultWatcher(QObject *parent = nullptr) + : ResultWatcherBase(parent) + {} + + ///< Destructor + virtual ~ResultWatcher() = default; + + bool resultIsValid() const + { + return ! m_result.isNull(); + } + + void cancel() + { + m_result.clear(); + } + +protected: + QSharedPointer result() const + { + return m_result; + } + + void setResult(const QSharedPointer &result) + { + // 2017-11-13, N.Thoden : + // With rev 36928 the SymbolResult of two identical request (identical SymbolDataToRender) + // will shared ONE SymbolResult! + // This szenario happens while showing a snapshot. + // So we have to disconnect explicitly: + + // make sure, that we won`t be called by the 'old' object: + // so disconnect: + if (m_result) + m_result->disconnect(this); + // : 2017-11-13, N.Thoden + + + m_result = result; + m_alreadyEmitted = false; + + if (m_result) + { + // Handle race condition: + + // 1. connect + connect(m_result.data(), &RESULT_TYPE::resultReadyInternal, this, &ResultWatcher::onResultReadyInternal); + + // 2. maybe result was ready before? + if (m_result->isResultReady()) + onResultReadyInternal(); + } + } + + QSharedPointer m_result; +}; + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.cpp new file mode 100755 index 000000000..15454e08e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.cpp @@ -0,0 +1,479 @@ +/** + * @RDE_HEADER@ + * Class SidcBuilder + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "sidc_builder.h" +#include "sidc_codec.h" + + +// 1234567890 +qint32 AdvancedSymbology::SidcBuilder::_smallest = 1000000000; +qint32 AdvancedSymbology::SidcBuilder::_specialPartA = 1001980000; +qint32 AdvancedSymbology::SidcBuilder::_invalidPartB = 1000000000; +qint32 AdvancedSymbology::SidcBuilder::_retiredPartB = 1100000000; + + + +namespace AdvancedSymbology +{ + +//----------------------------------------------------------------------------- +// SidcBuilder +//----------------------------------------------------------------------------- +SidcBuilder::SidcBuilder(AdvancedSymbology::SymbolDictionary *symbolDictionary) + : SidcBuilderBase(symbolDictionary, "SidcBuilder") +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + init(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void SidcBuilder::init() +{ + m_first10_mil2525D = QString::number(_specialPartA); + m_second10_mil2525D = QString::number(_invalidPartB); + initAmplifier(); +} + +void SidcBuilder::initAmplifier() +{ + m_amplifierGroup = AmplifierGroup::Unknown; + + m_e_BrigadeAndBelow = EchelonBrigadeAndBelow::Unknown; + m_e_DivisionAndAbove = EchelonDivisionAndAbove::Unknown; + + m_e_MobilityOnLand = MobilityOnLand::Unknown; + m_e_MobilityOnSnow = MobilityOnSnow::Unknown; + m_e_MobilityOnWater = MobilityOnWater::Unknown; + + m_e_NavalTowedArray = NavalTowedArray::Unknown; +} + + + + +SidcDefinitions::StandardIdentity SidcBuilder::standardIdentity() const +{ + StandardIdentity si; + si.context = context(); + si.identity = identity(); + return si; +} + +void SidcBuilder::setStandardIdentity(const SidcDefinitions::StandardIdentity &standardIdentity) +{ + setContext(standardIdentity.context); + setIdentity(standardIdentity.identity); +} + +SidcDefinitions::Context SidcBuilder::context() const +{ + return static_cast(QStringRef(&m_first10_mil2525D, 2, 1).toInt()); +} +void SidcBuilder::setContext(SidcDefinitions::Context context) +{ + m_first10_mil2525D.replace(2, 1, QString::number((int)context)); +} +SidcDefinitions::Identity SidcBuilder::identity() const +{ + return static_cast(QStringRef(&m_first10_mil2525D, 3, 1).toInt()); +} + +void SidcBuilder::setIdentity(SidcDefinitions::Identity identity) +{ + m_first10_mil2525D.replace(3, 1, QString::number((int)identity)); +} + +bool SidcBuilder::isIdentityAssumed() const +{ + const SidcDefinitions::Identity identityValue = identity(); + + switch (identityValue) { + case SidcDefinitions::Identity::Pending: + return true; + case SidcDefinitions::Identity::AssumedFriend: + return true; + case SidcDefinitions::Identity::SuspectJoker: + return true; + break; + default: + // empty + break; + } + return false; +} + +SidcDefinitions::SymbolSet SidcBuilder::symbolSet() const +{ + SymbolSet sset = static_cast(QStringRef(&m_first10_mil2525D, 4, 2).toString().toInt()); + return sset; +} +void SidcBuilder::setSymbolSet(const SymbolSet &symbolSet) +{ + m_first10_mil2525D.replace(4, 2, QStringLiteral("%1").arg((int)symbolSet, 2, 10, QLatin1Char('0'))); +} + + +SidcDefinitions::Status SidcBuilder::status() const +{ + Status status = static_cast(QStringRef(&m_first10_mil2525D, 6, 1).toInt()); + return status; +} + +void SidcBuilder::setStatus(const Status &status) +{ + m_first10_mil2525D.replace(6, 1, QString::number((int)status)); +} + + +QString SidcBuilder::symbolEntityCode() const +{ + SymbologyType symbologyType = m_symbolDictionary->symbologyType(); + switch (symbologyType) + { + case SymbologyType::APP6B : return SidcCodec::decodeRawSidc(concreteSidcToBaseSymbolCode(SidcCodec::encodeComplete(symbologyType,m_app6bRawSidc))); + case SymbologyType::APP6D : return m_second10_mil2525D.left(6); + case SymbologyType::MIL2525C : return QString(); + case SymbologyType::MIL2525D : return m_second10_mil2525D.left(6); + case SymbologyType::None : return QString(); + } + return QString(); +} + + +void SidcBuilder::setSymbolEntityCode(const QString &entityCode) +{ + if (entityCode.size() == 6) m_second10_mil2525D.replace(0, 6, entityCode); +} + + +SidcDefinitions::HQTFDummy SidcBuilder::hqTfFd() const +{ + HQTFDummy hdtffd = static_cast(QStringRef(&m_first10_mil2525D, 7, 1).toInt()); + return hdtffd; +} + +uint SidcBuilder::hqTfFd_UInt() const +{ + return static_cast(hqTfFd()); +} + +void SidcBuilder::setHqTfFd(const HQTFDummy &hqTfFd) +{ + m_first10_mil2525D.replace(7, 1, QString::number((int)hqTfFd)); +} + +bool SidcBuilder::headquarters() const +{ + bool headquarters; + bool taskForce; + bool feintDummy; + SidcDefinitions::HQTFDummyConverter::toBool(hqTfFd(), headquarters, taskForce, feintDummy); + return headquarters; +} + +bool SidcBuilder::taskForce() const +{ + bool headquarters; + bool taskForce; + bool feintDummy; + SidcDefinitions::HQTFDummyConverter::toBool(hqTfFd(), headquarters, taskForce, feintDummy); + return taskForce; +} + +bool SidcBuilder::feintDummy() const +{ + bool headquarters; + bool taskForce; + bool feintDummy; + SidcDefinitions::HQTFDummyConverter::toBool(hqTfFd(), headquarters, taskForce, feintDummy); + return feintDummy; +} + + +SidcDefinitions::AmplifierGroup SidcBuilder::amplifierGroup() const +{ + AmplifierGroup amplifierGroup = static_cast(QStringRef(&m_first10_mil2525D, 8, 1).toInt()); + return amplifierGroup; +} +void SidcBuilder::setAmplifierGroup(const AmplifierGroup &lifierGroup) +{ + m_first10_mil2525D.replace(8, 1, QString::number((int)amplifierGroup)); +} + +unsigned int SidcBuilder::amplifier2ndDigit() const +{ + return QStringRef(&m_first10_mil2525D, 9, 1).toUInt(); +} // unsigned int SidcBuilder::amplifier2ndDigit() const + + +void SidcBuilder::setAmplifier2ndDigit(unsigned int amplifierSecondDigit) +{ + if (amplifierSecondDigit > 9) return; // ToDo error message + m_first10_mil2525D.replace(9, 1, QString::number(amplifierSecondDigit)); +} + +unsigned int SidcBuilder::sectorModifier1Digit() +{ + return QStringRef(&m_second10_mil2525D, 6, 2).toUInt(); +} // unsigned int SidcBuilder::sectorModifier1Digit() + + +unsigned int SidcBuilder::sectorModifier2Digit() +{ + return QStringRef(&m_second10_mil2525D, 8, 2).toUInt(); +} // unsigned int SidcBuilder::sectorModifier2Digit() + + +void SidcBuilder::setSectorModifier1Digit(unsigned int digit) +{ + if (digit > 99) return; // ToDo error message + m_second10_mil2525D.replace(6, 2, QStringLiteral("%1").arg(digit, 2, 10, QLatin1Char('0'))); +} // void SidcBuilder::setSectorModifier1Digit( unsigned int ) + + +void SidcBuilder::setSectorModifier2Digit(unsigned int digit) +{ + if (digit > 99) return; // ToDo error message + m_second10_mil2525D.replace(8, 2, QStringLiteral("%1").arg(digit, 2, 10, QLatin1Char('0'))); +} // void SidcBuilder::setSectorModifier2Digit( unsigned int digit ) + + + + + +QString SidcBuilder::toRawSidc() const +{ + if (!m_symbolDictionary) + return QString(); + switch (m_symbolDictionary->symbologyType()) + { + case SymbologyType::APP6B : return m_app6bRawSidc; + case SymbologyType::APP6D : return m_first10_mil2525D + m_second10_mil2525D; + case SymbologyType::MIL2525C : return QString(); + case SymbologyType::MIL2525D : return m_first10_mil2525D + m_second10_mil2525D; + case SymbologyType::None : return QString(); + } + return QString(); +} + + +QString SidcBuilder::toSidc() const +{ + if (!m_symbolDictionary) + return QString(); + const QString &rawSidc = toRawSidc(); + + return (rawSidc.isEmpty()) ? QString() : SidcCodec::encodeComplete(m_symbolDictionary->symbologyType(), rawSidc); +} // QString SidcBuilder::toSidc() const + + +bool SidcBuilder::initFromSymbologyType(SymbologyType symbologyType, const QString &sidc) +{ + QString rawSidc(sidc); + + if (SidcCodec::isEncoded(sidc)) + { + SymbologyType sidcSymbolType = SidcCodec::decodeSymbologyType(sidc); + SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(sidc); + + rawSidc = SidcCodec::decodeRawSidc(sidc); + + if (symbologyType != sidcSymbolType) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << sidc << "'" + << ", wrong symbology type"; + return false; + } + + if (SidcCodec::SidcType::Complete != sidcType) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidcMIL2525D='" << sidc << "'" + << ", wrong sidc type"; + return false; + } + } + + // check size + if (rawSidc.size() != 20) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << sidc << "'" + << ", size failed"; + return false; + } + + // check version + if (QStringRef(&rawSidc, 0, 2) != QLatin1String("10")) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << sidc << "'" + << ", wrong version"; + return false; + } + + init(); + + m_first10_mil2525D = rawSidc.mid( 0, 10); + m_second10_mil2525D = rawSidc.mid(10, 10); + + DEBUG_LOG(m_logger) << LOGFUNCTION + << " m_first10='" << m_first10_mil2525D << "'" + << " m_second10='" << m_second10_mil2525D << "'"; + + return true; +} + + +bool SidcBuilder::initFromSymbologyTypeBaseSymbolCode(SymbologyType symbologyType, const QString &baseSymbolCode) +{ + QString rawBaseSymbolCode(baseSymbolCode); + + if (SidcCodec::isEncoded(baseSymbolCode)) + { + if (SidcCodec::decodeSymbologyType(baseSymbolCode) != symbologyType) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << baseSymbolCode << "'" + << ", wrong symbology type"; + return false; + } + + if (SidcCodec::decodeSidcType(baseSymbolCode) != SidcCodec::SidcType::Base) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << baseSymbolCode << "'" + << ", wrong sidc type"; + return false; + } + + rawBaseSymbolCode = SidcCodec::decodeRawSidc(baseSymbolCode); + } + + // check size + if (rawBaseSymbolCode.size() != 8) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " baseSymbolCode='" << baseSymbolCode << "'" + << ", size failed"; + return false; + } + + init(); + + // set SymbolSet: + SymbolSet sSet = static_cast(QStringRef(&rawBaseSymbolCode, 0, 2).toInt()); + this->setSymbolSet(sSet); + + // set Entity: + const QString &entityChars = rawBaseSymbolCode.mid(2, 6); + + // merge into second10: + m_second10_mil2525D.replace(0, 6, entityChars); + + return true; +} // bool SidcBuilder::initFromSymbologyTypeBaseSymbolCode(SymbologyType symbologyType, const QString &baseSymbolCode) + + +bool SidcBuilder::initFromMil2525D(const QString &sidcMil2525D) +{ + return SidcBuilder::initFromSymbologyType(SymbologyType::MIL2525D,sidcMil2525D); +} + + +bool SidcBuilder::initFromMil2525DBaseSymbolCode(const QString &sidcMil2525D_baseSymbolCode) +{ + return initFromSymbologyTypeBaseSymbolCode(SymbologyType::MIL2525D, sidcMil2525D_baseSymbolCode); +} + + +bool SidcBuilder::initFromApp6B(const QString &sidcApp6B) +{ + m_app6bRawSidc = SidcCodec::decodeRawSidc(sidcApp6B); + return true; +} + + +bool SidcBuilder::initFromApp6BBaseSymbolCode(const QString &sidcApp6B_baseSymbolCode) +{ + m_app6bRawSidc = SidcCodec::decodeRawSidc(baseSymbolCodeToSidc( sidcApp6B_baseSymbolCode )); + return false; +} + +bool SidcBuilder::initFromApp6D(const QString &sidcAPP6D) +{ + return SidcBuilder::initFromSymbologyType(SymbologyType::APP6D,sidcAPP6D); +} + + +bool SidcBuilder::initFromApp6DBaseSymbolCode(const QString &sidcAPP6D_baseSymbolCode) +{ + return initFromSymbologyTypeBaseSymbolCode(SymbologyType::APP6D, sidcAPP6D_baseSymbolCode); +} + + + +/* + private void _BuildSIDC() + { + // Builds a current (2525D) SIDC from the JMSML Library elements currently associated + // with this symbol. + + if (_version != null && _context != null && + _standardIdentity != null && _symbolSet != null && _status != null && + _hqTFDummy != null && _amplifierGroup != null && _amplifier != null) + { + _sidc.PartAUInt = (uint)_version.VersionCode.DigitOne * 1000000000 + + (uint)_version.VersionCode.DigitTwo * 100000000 + + (uint)_context.ContextCode * 10000000 + + (uint)_standardIdentity.StandardIdentityCode * 1000000 + + (uint)_symbolSet.SymbolSetCode.DigitOne * 100000 + + (uint)_symbolSet.SymbolSetCode.DigitTwo * 10000 + + (uint)_status.StatusCode * 1000 + + (uint)_hqTFDummy.HQTFDummyCode * 100 + + (uint)_amplifierGroup.AmplifierGroupCode * 10 + + (uint)_amplifier.AmplifierCode; + } + + if (_entity != null) + { + _sidc.PartBUInt = (uint)_entity.EntityCode.DigitOne * 1000000000 + + (uint)_entity.EntityCode.DigitTwo * 100000000; + } + + if (_entityType != null) + { + _sidc.PartBUInt = _sidc.PartBUInt + (uint)_entityType.EntityTypeCode.DigitOne * 10000000 + + (uint)_entityType.EntityTypeCode.DigitTwo * 1000000; + } + + if (_entitySubType != null) + { + _sidc.PartBUInt = _sidc.PartBUInt + (uint)_entitySubType.EntitySubTypeCode.DigitOne * 100000 + + (uint)_entitySubType.EntitySubTypeCode.DigitTwo * 10000; + } + + if (_modifierOne != null) + { + _sidc.PartBUInt = _sidc.PartBUInt + (uint)_modifierOne.ModifierCode.DigitOne * 1000 + + (uint)_modifierOne.ModifierCode.DigitTwo * 100; + } + + if (_modifierTwo != null) + { + _sidc.PartBUInt = _sidc.PartBUInt + (uint)_modifierTwo.ModifierCode.DigitOne * 10 + + (uint)_modifierTwo.ModifierCode.DigitTwo; + } + } + +*/ + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.h new file mode 100755 index 000000000..718270ee6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder.h @@ -0,0 +1,198 @@ +/** + * @RDE_HEADER@ + * Class SidcBuilder + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "sidc_builder_base.h" +#include "sidc_codec.h" +#include "symbol_dictionary.h" + +// Qt +#include + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +class ADVANCED_SYMBOLOGY_EXPORT SidcBuilder : SidcBuilderBase +{ +public: + + explicit SidcBuilder(AdvancedSymbology::SymbolDictionary *symbolDictionary = nullptr); + + bool setSidc(const QString &sidc) + { + if (SidcCodec::isEncoded(sidc)) + { + switch (SidcCodec::decodeSymbologyType(sidc)) + { + case SymbologyType::APP6B : return initFromApp6B(sidc); + case SymbologyType::APP6D : return initFromApp6D(sidc); + case SymbologyType::MIL2525C : return false; // return initFromMil2525C(sidc); + case SymbologyType::MIL2525D : return initFromMil2525D(sidc); + case SymbologyType::None : return false; + } + } + else + { + if (m_symbolDictionary) + { + switch (m_symbolDictionary->symbologyType()) + { + case SymbologyType::APP6B : return initFromApp6B(SidcCodec::encodeComplete(SymbologyType::APP6B, sidc)); + case SymbologyType::APP6D : return initFromApp6D(SidcCodec::encodeComplete(SymbologyType::APP6D, sidc)); + case SymbologyType::MIL2525C : return false; // return initFromMil2525C(sidc); + case SymbologyType::MIL2525D : return initFromMil2525D(SidcCodec::encodeComplete(SymbologyType::MIL2525D, sidc)); + case SymbologyType::None : return false; + } + } + return initFromMil2525D(SidcCodec::encodeComplete(SymbologyType::MIL2525D, sidc)); + } + return false; + } // setSidc + + bool initFromSymbologyType(SymbologyType symbologyType, const QString &sidc); + bool initFromSymbologyTypeBaseSymbolCode(SymbologyType symbologyType, const QString &baseSymbolCode); + + bool initFromMil2525D(const QString &sidcMil2525D); + bool initFromMil2525DBaseSymbolCode(const QString &sidcMil2525D_baseSymbolCode); + + bool initFromApp6B(const QString &sidcApp6B); + bool initFromApp6BBaseSymbolCode(const QString &sidcApp6B_baseSymbolCode); + + bool initFromApp6D(const QString &sidcAPP6D); + bool initFromApp6DBaseSymbolCode(const QString &sidcAPP6D_baseSymbolCode); + + ~SidcBuilder() = default; + + QString toSidc() const; + QString toRawSidc() const; + + + // !!! Attention: digit count starts with 1, not with 0!!! + + // + // Set A, digit 1,2 + // + // Version + + + // + // Set A, digit 3,4 + // + // StandardIdentity + SidcDefinitions::StandardIdentity standardIdentity() const; // 1st and 2nd + void setStandardIdentity(const SidcDefinitions::StandardIdentity &standardIdentity); + + SidcDefinitions::Context context() const; + void setContext(SidcDefinitions::Context context); + + SidcDefinitions::Identity identity() const; + void setIdentity(SidcDefinitions::Identity identity); + + + bool isIdentityAssumed() const; + + // + // Set A, digit 5,6 + // + // SymbolSet + SidcDefinitions::SymbolSet symbolSet() const; + void setSymbolSet(const SidcDefinitions::SymbolSet &symbolSet); + + // + // Set A, digit 7 + // + // Status + SidcDefinitions::Status status() const; + void setStatus(const SidcDefinitions::Status &status); + + // + // Set A, digit 8 + // + // HQTFDummy + SidcDefinitions::HQTFDummy hqTfFd() const; + uint hqTfFd_UInt() const; + void setHqTfFd(const SidcDefinitions::HQTFDummy &hqTfFd); + + bool headquarters() const; + bool taskForce() const; + bool feintDummy() const; + + + // + // Set A, digit 9, 10 + // + SidcDefinitions::AmplifierGroup amplifierGroup() const; // digit 9 + void setAmplifierGroup(const SidcDefinitions::AmplifierGroup &lifierGroup); + + unsigned int amplifier2ndDigit() const; // digit 10 + void setAmplifier2ndDigit(unsigned int amplifierSecondDigit); + + // + // Set B, digit 11 - 16 + // + QString symbolEntityCode() const; + void setSymbolEntityCode(const QString &); + + + unsigned int sectorModifier1Digit(); // Set B, digit 17 - 18 + unsigned int sectorModifier2Digit(); // set B, digit 19 - 20 + + void setSectorModifier1Digit(unsigned int); // Set B, digit 17 - 18 + void setSectorModifier2Digit(unsigned int); // set B, digit 19 - 20 + +private: + void init(); + void initAmplifier(); + + QString m_first10_mil2525D; + QString m_second10_mil2525D; + + QString m_app6bRawSidc; + + // + // SET A : + // + + + // Amplifier (Echelon/Mobility/TowedArray) + SidcDefinitions::AmplifierGroup m_amplifierGroup; + SidcDefinitions::EchelonBrigadeAndBelow m_e_BrigadeAndBelow; + SidcDefinitions::EchelonDivisionAndAbove m_e_DivisionAndAbove; + SidcDefinitions::MobilityOnLand m_e_MobilityOnLand; + SidcDefinitions::MobilityOnSnow m_e_MobilityOnSnow; + SidcDefinitions::MobilityOnWater m_e_MobilityOnWater; + SidcDefinitions::NavalTowedArray m_e_NavalTowedArray; + + + // + // : SET A + // + + + // + // SET B : + // + + // not implemented yes + + // + // : SET B + // + + + static qint32 _smallest; + static qint32 _specialPartA; + static qint32 _invalidPartB; + static qint32 _retiredPartB; +}; + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp new file mode 100755 index 000000000..e03c6a246 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp @@ -0,0 +1,195 @@ +/** + * @RDE_HEADER@ + * Class SidcBuilderBase + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "sidc_builder_base.h" +#include "sidc_codec.h" + +// ESRI + + +// Qt +#include + + +namespace AdvancedSymbology +{ + + +SidcBuilderBase::SidcBuilderBase(SymbolDictionary *symbolDictionary, const char *loggerName) + : SidcDefinitions(symbolDictionary, loggerName) +{ +} + + +QString SidcBuilderBase::baseSymbolCodeToSidc(const QString &baseSymbolCodeCodec) +{ + if (!SidcCodec::isEncoded(baseSymbolCodeCodec)) + { + qCritical() << LOGFUNCTION << " baseSymbolCodeCodec input parameter isn't encoded: " << baseSymbolCodeCodec; + return QString(); + } + + switch (SidcCodec::decodeSidcType(baseSymbolCodeCodec)) + { + case SidcCodec::SidcType::CivilEts: + case SidcCodec::SidcType::CivilXml: + return baseSymbolCodeCodec; + case SidcCodec::SidcType::Base: + break; + default : + { + qCritical() << LOGFUNCTION << " baseSymbolCodeCodec is not a base symbol code: " << baseSymbolCodeCodec; + return QString(); + } + } // switch + + QString sidc; + QString baseSymbolCode = SidcCodec::decodeRawSidc(baseSymbolCodeCodec); + SymbologyType symbologyType = SidcCodec::decodeSymbologyType(baseSymbolCodeCodec); + + if ((SymbologyType::MIL2525D == symbologyType) || (SymbologyType::APP6D == symbologyType)) + { + // + // its MIL2525D or APP6D + // + + if ((baseSymbolCode.size() != 8) && (baseSymbolCode.size() != 10)) + { + return QString(); // failure !! + } + + QRegExp sidcTemplate(QStringLiteral("^[0-9]{8}(_[0-9])?$")); + + if (!sidcTemplate.exactMatch(baseSymbolCode)) + { + return QString(); // Failure + } + + // Version + sidc += QLatin1Char('1'); + sidc += QLatin1Char('0'); + + // Standard Identity + sidc += QLatin1Char('0'); + if (baseSymbolCode.size() == 10) sidc += baseSymbolCode[9]; + else sidc += QLatin1Char('1'); + + // SymbolSet + sidc += baseSymbolCode[0]; + sidc += baseSymbolCode[1]; + + // Status + sidc += QLatin1Char('0'); + + // HeadQuarter, TaskForce, Dummy + sidc += QLatin1Char('0'); + + // Amplifier/Descriptor + sidc += QLatin1Char('0'); + sidc += QLatin1Char('0'); + + sidc += baseSymbolCode[2]; + sidc += baseSymbolCode[3]; + sidc += baseSymbolCode[4]; + sidc += baseSymbolCode[5]; + sidc += baseSymbolCode[6]; + sidc += baseSymbolCode[7]; + + sidc = sidc.leftJustified(20, QLatin1Char('0')); + + return SidcCodec::encodeComplete(symbologyType, sidc); + } + + if (SymbologyType::APP6B == symbologyType) + { + sidc = baseSymbolCode; + sidc[1] = QLatin1Char('U'); + sidc[3] = QLatin1Char('P'); + + return SidcCodec::encodeComplete(symbologyType, sidc); + } + + return QString(); +} // QString SidcBuilderBase::baseSymbolCodeToSidc(const QString &baseSymbolCodeCodec) + + +QString SidcBuilderBase::concreteSidcToBaseSymbolCode(const QString &sidcCodec) +{ + if (!SidcCodec::isEncoded(sidcCodec)) + { + qCritical() << LOGFUNCTION << " sidcCodec is not a complete sidc: " << sidcCodec; + return QString(); + } + + switch (SidcCodec::decodeSidcType(sidcCodec)) + { + case SidcCodec::SidcType::CivilEts: + case SidcCodec::SidcType::CivilXml: + return sidcCodec; + break; + case SidcCodec::SidcType::Complete: + break; + default : + { + qCritical() << LOGFUNCTION << " sidcCodec is not a complete sidc: " << sidcCodec; + return QString(); + } + } // switch + + const QString &rawSidc = SidcCodec::decodeRawSidc(sidcCodec); + SymbologyType symbologyType = SidcCodec::decodeSymbologyType(sidcCodec); + + switch (symbologyType) + { + case SymbologyType::APP6B : + { + const QString & baseSymbolCode = normalizeAPP6BaseSymbolCode(rawSidc); + + return SidcCodec::encodeBaseSymbolCode(symbologyType, baseSymbolCode); + } + case SymbologyType::MIL2525C : return QString(); + case SymbologyType::APP6D : // it's same as MIL2525D + case SymbologyType::MIL2525D : + { + if (rawSidc.count() != 20) + return QString(); + + QString baseSymbolCode( + QStringRef(&rawSidc, 4, 2).toString() + + QStringRef(&rawSidc, 10, 6).toString()); + return SidcCodec::encodeBaseSymbolCode(symbologyType, baseSymbolCode); + } break; + + case SymbologyType::None: return QString(); + } + return QString(); + +} // QString SidcBuilderBase::concreteSidcToBaseSymbolCode(const QString &sidcCodec) + + +QString SidcBuilderBase::normalizeAPP6BaseSymbolCode(const QString & baseSymbolCode) +{ + QString baseNorm = baseSymbolCode; + + baseNorm.resize(15, QLatin1Char('*')); + + baseNorm[1] = QLatin1Char('*'); + baseNorm[3] = QLatin1Char('*'); + + if (QLatin1Char('*') != baseNorm[10]) baseNorm[10] = QLatin1Char('-'); + if (QLatin1Char('*') != baseNorm[11]) baseNorm[11] = QLatin1Char('-'); + if (QLatin1Char('*') != baseNorm[14]) baseNorm[14] = QLatin1Char('-'); + + return baseNorm; + +} // QString SidcBuilderBase::normalizeAPP6BaseSymbolCode(const QString & baseSymbolCode) + + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.h new file mode 100755 index 000000000..8d9251427 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_builder_base.h @@ -0,0 +1,65 @@ +/** + * @RDE_HEADER@ + * Class SidcBuilderBase + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include "sidc_definitions.h" + + +// Qt + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +// forward: + + +class ADVANCED_SYMBOLOGY_EXPORT SidcBuilderBase : public SidcDefinitions +{ +public: + + /*! \name Construction, Destruction */ + //@{ + ///< Constructor + explicit SidcBuilderBase(AdvancedSymbology::SymbolDictionary *symbolDictionary, const char *loggerName); + + ///< Destructor + virtual ~SidcBuilderBase() = default; + //@} + + + /*! \name Convert */ + //@{ + + /** + * @brief baseSymbolCodeToSidc + * @param baseSymbolCode ????????? -> Joerg TODO!!! + * @param identity + * @return + */ + static QString baseSymbolCodeToSidc(const QString &baseSymbolCodeCodec); // 25270100 --> 20 digit code + + /** + * @brief concreteSidcToBaseSymbolCode + * @param sidc sidc to convert. + * @return if MIL: 20 digit code -> 8 digits like 25270100, if civil: return identical sidc. + */ + static QString concreteSidcToBaseSymbolCode(const QString &sidcCodec); + //@} + + + static QString normalizeAPP6BaseSymbolCode(const QString & baseSymbolCode); + +}; // class SidcBuilderBase + + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.cpp new file mode 100755 index 000000000..03c17b2b6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.cpp @@ -0,0 +1,221 @@ +/** + * @RDE_HEADER@ + * SidcCodec for internal handling of SIDCs + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "sidc_codec.h" // enbles highlighting and is harmless since 'pragma once' +#include "sidc_definitions.h" + +#include + +// Qt +#include + + +namespace AdvancedSymbology +{ + + +// +// SidcCodecHelper +// +namespace SidcCodecHelper +{ + +QString encode(SymbologyType symbologyType) +{ + switch (symbologyType) + { + case SymbologyType::None: return QStringLiteral("NONE"); break; + case SymbologyType::APP6B: return QStringLiteral("AP6B"); break; + case SymbologyType::APP6D: return QStringLiteral("AP6D"); break; + case SymbologyType::MIL2525C: return QStringLiteral("M25C"); break; + case SymbologyType::MIL2525D: return QStringLiteral("M25D"); break; + }; + return QLatin1String("EROR"); +} + +SymbologyType decodeSymbology(const QStringRef &symbologyTypeStr) +{ + SymbologyType symbologyType = SymbologyType::None; + if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SymbologyType::None; + else if (symbologyTypeStr.compare(QLatin1String("AP6B")) == 0) symbologyType = SymbologyType::APP6B; + else if (symbologyTypeStr.compare(QLatin1String("AP6D")) == 0) symbologyType = SymbologyType::APP6D; + else if (symbologyTypeStr.compare(QLatin1String("M25C")) == 0) symbologyType = SymbologyType::MIL2525C; + else if (symbologyTypeStr.compare(QLatin1String("M25D")) == 0) symbologyType = SymbologyType::MIL2525D; + return symbologyType; +} + +QString encode(SidcCodec::SidcType sidcType) +{ + switch (sidcType) + { + case SidcCodec::SidcType::None: return QStringLiteral("NONE"); break; + case SidcCodec::SidcType::Base: return QStringLiteral("BASE"); break; + case SidcCodec::SidcType::Complete: return QStringLiteral("CMPL"); break; + case SidcCodec::SidcType::CivilEts: return QStringLiteral("CVLE"); break; + case SidcCodec::SidcType::CivilXml: return QStringLiteral("CVLX"); break; + } + return QLatin1String("EROR"); +} + +SidcCodec::SidcType decodeSidc(const QStringRef &sidcTypeStr) +{ + SidcCodec::SidcType symbologyType = SidcCodec::SidcType::None; + if ( sidcTypeStr.compare(QLatin1String("NONE")) == 0) symbologyType = SidcCodec::SidcType::None; + else if (sidcTypeStr.compare(QLatin1String("BASE")) == 0) symbologyType = SidcCodec::SidcType::Base; + else if (sidcTypeStr.compare(QLatin1String("CMPL")) == 0) symbologyType = SidcCodec::SidcType::Complete; + else if (sidcTypeStr.compare(QLatin1String("CVLE")) == 0) symbologyType = SidcCodec::SidcType::CivilEts; + else if (sidcTypeStr.compare(QLatin1String("CVLX")) == 0) symbologyType = SidcCodec::SidcType::CivilXml; + return symbologyType; +} + +} // SidcCodecHelper + + +unsigned int SidcCodec::rawSidcOffset() { return 10; } +// +// isEncoded +// +bool SidcCodec::isEncoded(const QString &encodedSidc) +{ + const QChar separator(QLatin1Char('|')); + return ((encodedSidc.size() > 9) && (encodedSidc.at(4) == separator) && (encodedSidc.at(9) == separator)); +} + + +bool SidcCodec::checkSidcSyntax(const QString &encodedSidc) +{ + if (!isEncoded(encodedSidc)) return false; + + SidcCodec::SidcType sidcType = SidcCodecHelper::decodeSidc(QStringRef(&encodedSidc, 5, 4)); + + const QStringRef symbologyTypeStr(&encodedSidc, 0, 4); + + if (symbologyTypeStr.compare(QLatin1String("NONE")) == 0) return true; + else if (symbologyTypeStr.compare(QLatin1String("AP6B")) == 0) return true; + else if (symbologyTypeStr.compare(QLatin1String("AP6D")) == 0) return true; + else if (symbologyTypeStr.compare(QLatin1String("M25C")) == 0) return true; + else if ((symbologyTypeStr.compare(QLatin1String("M25D")) == 0) || (symbologyTypeStr.compare(QLatin1String("AP6D")) == 0)) + { + const QString &rawSidcStr(encodedSidc.mid(10)); + + QRegExp isDigit(QStringLiteral("^[0..9]*$")); + + if (isDigit.exactMatch(rawSidcStr)) + { + switch (sidcType) + { + case SidcCodec::SidcType::Base : return (rawSidcStr.size() == 8); break; + case SidcCodec::SidcType::Complete : return (rawSidcStr.size() == 20); break; + default: break; + } + } + } + return false; +} + +bool SidcCodec::isCivil(const QString &encodedSidc) +{ + SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(encodedSidc); + return ((sidcType == SidcCodec::SidcType::CivilEts) || (sidcType == SidcCodec::SidcType::CivilXml)); +} + +// +// ENCODE +// +QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const QString &baseSymboCodeSidc) +{ + return QStringLiteral("%1|BASE|%3").arg(SidcCodecHelper::encode(symbologyType), baseSymboCodeSidc); +} + +QString SidcCodec::encodeComplete(SymbologyType symbologyType, const QString &completeSidc) +{ + return QStringLiteral("%1|CMPL|%3").arg(SidcCodecHelper::encode(symbologyType), completeSidc); +} + +QString SidcCodec::encodeCivilEts(const QString &civilSidc) +{ + return QStringLiteral("NONE|CVLE|%1").arg(civilSidc); +} + +QString SidcCodec::encodeCivilXml(const QString &civilSidc) +{ + return QStringLiteral("NONE|CVLX|%1").arg(civilSidc); +} + +int SidcCodec::decodeCivilXml(const QString &civilSidc) +{ + return decodeRawSidc(civilSidc).toInt(); +} + +// +// DECODE +// +// QStringRef(const QString *string, int position, int size); +// QString mid(int position, int n = -1) const Q_REQUIRED_RESULT; +// + +SymbologyType SidcCodec::decodeSymbologyType(const QString &encodedSidc) +{ + return SidcCodecHelper::decodeSymbology(QStringRef(&encodedSidc, 0, 4)); +} + +SidcCodec::SidcType SidcCodec::decodeSidcType(const QString &encodedSidc) +{ + return SidcCodecHelper::decodeSidc(QStringRef(&encodedSidc, 5, 4)); +} + +QString SidcCodec::decodeRawSidc(const QString &encodedSidc) +{ + return (isEncoded(encodedSidc)) ? encodedSidc.mid(rawSidcOffset()) : encodedSidc; +} + + +QString SidcCodec::encodeCivilXmlSymbolId( uint symbolId ) +{ + const QString &rawSidc = QString::number(symbolId); + return encodeCivilXml(rawSidc); +} // QString SidcCodec::encodeCivilXmlSymbolId( uint symbolId ) + + +QString SidcCodec::encodeCivilXmlSymbolId( uint symbolId + , SymbologyXML::SymbolTypes::t_state state + , SymbologyXML::SymbolTypes::t_uncertainty uncertainty + , SymbologyXML::SymbolTypes::t_affil affil + , SymbologyXML::SymbolTypes::t_mob mob ) +{ + const QString &rawSidc = SymbologyXML::xmlSymbolEncodeId(symbolId,state,uncertainty,affil,mob); + return encodeCivilXml(rawSidc); +} // QString SidcCodec::encodeCivilXmlSymbolId(...) + +QString SidcCodec::extractCivilXmlBaseSidc( const QString &sidc ) +{ + return SymbologyXML::xmlSymbolExtractBaseSidc(sidc); +} // QString SidcCodec::extractCivilXmlBaseSidc( const QString &sidc ) + + +// +// Some convenience functions + +QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const QStringRef &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, *baseSymboCodeSidc.string()); } +QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromStdString(baseSymboCodeSidc));} +QString SidcCodec::encodeBaseSymbolCode(SymbologyType symbologyType, const char *baseSymboCodeSidc) { return encodeBaseSymbolCode(symbologyType, QString::fromLatin1(baseSymboCodeSidc));} + +QString SidcCodec::encodeComplete(SymbologyType symbologyType, const QStringRef &completeSidc) { return encodeComplete(symbologyType, *completeSidc.string());} +QString SidcCodec::encodeComplete(SymbologyType symbologyType, const std::string &completeSidc) { return encodeComplete(symbologyType, QString::fromStdString(completeSidc)); } +QString SidcCodec::encodeComplete(SymbologyType symbologyType, const char *completeSidc) { return encodeComplete(symbologyType, QString::fromLatin1(completeSidc)); } + +QString SidcCodec::encodeCivilEts(const QStringRef &civilSidc) { return encodeCivilEts(*civilSidc.string());} +QString SidcCodec::encodeCivilEts(const std::string &civilSidc) { return encodeCivilEts(QString::fromStdString(civilSidc)); } +QString SidcCodec::encodeCivilEts(const char *civilSidc) { return encodeCivilEts(QString::fromLatin1(civilSidc)); } + +QString SidcCodec::encodeCivilXml(const QStringRef &civilSidc) { return encodeCivilXml(*civilSidc.string());} +QString SidcCodec::encodeCivilXml(const std::string &civilSidc) { return encodeCivilXml(QString::fromStdString(civilSidc)); } +QString SidcCodec::encodeCivilXml(const char *civilSidc) { return encodeCivilXml(QString::fromLatin1(civilSidc)); } + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.h new file mode 100755 index 000000000..c48c2c560 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_codec.h @@ -0,0 +1,222 @@ +/** + * @RDE_HEADER@ + * SidcCodec for internal handling of SIDCs + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "symbology_type.h" +#include "advanced_symbology_export.h" + +#include + +// Qt +#include +#include +#include + +namespace AdvancedSymbology +{ + +/** + * \brief The SidcCodec namespace enables the encoding and decoding of a (raw) sidc (SymbolIdCode) + * The BaseSymbolCode describes the base symbol, the *Typ* like 'soldier', 'tank' + * WITHOUT the affiliation (membership to a party) and so on. + * Only the complete SIDC (WITH affiliation and so on) describes a concrete instanciation, + * examples: + * + * - APP6D / MIL2525D + * + M25D|BASE|25271300 - abstract/Typ (Context "template": assign symbol) + * + M25D|CMPL|10012500002713000000 - concrete (message from Training Area) + * + * - APP6C / MIL2525C + * Here a abstract (Base) and concrete (Complete) are existing also: + * M25C|BASE|S*A*MFUM--***** + * M25C|CMPL|SNAAMFUM--AL*** + + * - Extra / Civil / ETS / XML: + * NONE|CIVE|PlanStelle + * NONE|CIVX| + + * @note This namespace uses a QString (and not QLatin1String) since maybe a chinese operator create a symbol and uses a name in his first language. + */ +namespace SidcCodec +{ +/** + * Type of SIDC code or symbol + */ +enum class SidcType +{ + None, ///< NONE + Base, ///< base symbol without frame, modifier or amplifier coded as "BASE" + Complete, ///< concrete symbol with complete definition coded as "CMPL" + CivilEts, ///< Civil Ets coded as "CVLE" + CivilXml ///< Civil XML coded as "CVLX" +}; + + +/** + * Check if sidc string is encoded. + * @param encodedSidc sidc string to check + * @return Returns true if encoded, otherwise false. +*/ +ADVANCED_SYMBOLOGY_EXPORT bool isEncoded(const QString &encodedSidc); + +/** + * Check if sidc syntax is correct. + * @param encodedSidc sidc string to check + * @return Returns true if syntax is correct, otherwise false. +*/ +ADVANCED_SYMBOLOGY_EXPORT bool checkSidcSyntax(const QString &encodedSidc); + + +/** + * Check an encode sidc string if it's a civil symbol. + * @param encodedSidc Encoded sidc string + * @return Return value is true in case of civil symbols, otherwise false + */ +ADVANCED_SYMBOLOGY_EXPORT bool isCivil(const QString &encodedSidc); + +/** + * Check an encode sidc string if the syntax is correctly. + * @param encodedSidc Encoded sidc string + * @return Return value is true if \c encodeSidc builded correctly. In case of wrong syntax the return value is false. + */ +ADVANCED_SYMBOLOGY_EXPORT bool checkSidcSyntax(const QString &encodedSidc); + +ADVANCED_SYMBOLOGY_EXPORT unsigned int rawSidcOffset(); + +/** + * Functions to encode and decode a SIDC from or to raw string codes. These functions are really simple and + * can not convert between SidcType::Base and SidcType::Complete. This purposes are handled by class \c SidcBuilder. + * @see SidcBuilder + * @{ + */ +ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const QString &baseSymboCodeSidc); /**< Encode base symbol. Example: M25D|BASE|25271300 */ +ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const QString &completeSidc); /**< Encode comlete symbol. Example: M25D|CMPL|10012500002713000000 */ +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const QString &civilSidc); /**< Encode ETS civil symbol. Example: NONE|CVLE|PlanStelle */ +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const QString &civilSidc); /**< Encode XML civil symbol. Example: NONE|CVLX|PlanStelle */ + +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXmlSymbolId( uint symbolId ); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXmlSymbolId( uint symbolId + , SymbologyXML::SymbolTypes::t_state state + , SymbologyXML::SymbolTypes::t_uncertainty uncertainty + , SymbologyXML::SymbolTypes::t_affil affil + , SymbologyXML::SymbolTypes::t_mob mob ); + + +ADVANCED_SYMBOLOGY_EXPORT QString extractCivilXmlBaseSidc( const QString &sidc ); + +ADVANCED_SYMBOLOGY_EXPORT SymbologyType decodeSymbologyType(const QString &encodedSidc); /**< Decode symbology type */ +ADVANCED_SYMBOLOGY_EXPORT SidcType decodeSidcType(const QString &encodedSidc); /**< Decode sidc type */ +ADVANCED_SYMBOLOGY_EXPORT QString decodeRawSidc(const QString &encodedSidc); /**< Decode raw sidc */ +ADVANCED_SYMBOLOGY_EXPORT int decodeCivilXml(const QString &civilSidc); + +/** @} */ + +/** + * Some convience functions ... + * @{ + */ +ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const QStringRef &baseSymboCodeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const QStringRef &completeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const QStringRef &civilSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const QStringRef &civilSidc); + +ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const std::string &baseSymboCodeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const std::string &completeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const std::string &civilSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const std::string &civilSidc); + +ADVANCED_SYMBOLOGY_EXPORT QString encodeBaseSymbolCode(SymbologyType symbologyType, const char *baseSymboCodeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeComplete(SymbologyType symbologyType, const char *completeSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilEts(const char *civilSidc); +ADVANCED_SYMBOLOGY_EXPORT QString encodeCivilXml(const char *civilSidc); + +/** @} */ + +/** + * @brief Helper class to store information appropriate to a sidc. + * In symbol dictionary symbols are stored with a key to get access to complete set of symbol's data. This key is + * equal with base or complete symbol code. The class \c SidcHashTable stores information appropriate to a sidc + * in a QHashTable. The hash tabke index here is the encoded sidc. + */ +template class SidcHashTable +{ + QHash m_hashTable; + SymbologyType m_symbologyType = SymbologyType::None; + SidcType m_sidcType = SidcType::None; + + + QString buildSidc(const QString &key) const + { + if (isEncoded(key)) return key; + + switch (m_sidcType) + { + case SidcType::Base : return SidcCodec::encodeBaseSymbolCode(m_symbologyType, key); + case SidcType::Complete : return SidcCodec::encodeComplete(m_symbologyType, key); + case SidcType::CivilEts : return SidcCodec::encodeCivilEts(key); + case SidcType::CivilXml : return SidcCodec::encodeCivilXml(key); + case SidcType::None : + default : break; + } + return QString(); + } // QString buildSidc(const QString & key) const + + +public: + + SidcHashTable() = default; + explicit SidcHashTable(SymbologyType symbologyType) : m_symbologyType(symbologyType) {} + explicit SidcHashTable(SymbologyType symbologyType, SidcType sidcType) : m_symbologyType(symbologyType), m_sidcType(sidcType) {} + + SymbologyType symbologyType() const { return m_symbologyType; } + SidcType sidcType() const { return m_sidcType; } + + void clear() { m_hashTable.clear(); } + bool empty() const { return m_hashTable.empty(); } + int count() const { return m_hashTable.count(); } + int size() const { return m_hashTable.size(); } + + QStringList keys() const { return m_hashTable.keys(); } + + bool contains(const QString &key) const { return m_hashTable.contains(buildSidc(key)); } + + bool containsSidc(const QString &sidc) const + { + if (decodeSymbologyType(sidc) == m_symbologyType) + { + if (decodeSidcType(sidc) == m_sidcType) return m_hashTable.contains(sidc); + } + return false; + } // bool containSidc( const QString & sidc ) const + + typename QHash::iterator find(const QString &key) { return m_hashTable.find(buildSidc(key)); } + typename QHash::iterator begin() { return m_hashTable.begin(); } + typename QHash::iterator end() { return m_hashTable.end(); } + + typename QHash::const_iterator find(const QString &key) const { return m_hashTable.find(buildSidc(key)); } + typename QHash::const_iterator begin() const { return m_hashTable.begin(); } + typename QHash::const_iterator end() const { return m_hashTable.end(); } + + Storage &operator[](const QString &key) { return m_hashTable[buildSidc(key)]; } + Storage operator[](const QString &key) const { return m_hashTable[buildSidc(key)]; } + + void remove(const QString &sidc) + { + isEncoded(sidc) ? m_hashTable.remove(sidc) : m_hashTable.remove(buildSidc(sidc)); + } // void remove(const QString & sidc) + +}; // SidcHashTable + + +} // namespace SidcCodec + + +} // namespace AdvancedSymbology + +// #include "sidc_codec.inl" diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.cpp new file mode 100755 index 000000000..ff4e43c6b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.cpp @@ -0,0 +1,805 @@ +/** + * @RDE_HEADER@ + * Class SidcDefinitions + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "sidc_definitions.h" +#include + +#ifdef XML_SYMBOL_ICONS +#include +#include +#include +#endif + +#include +#include +#include +#include + + +// +//#include + +namespace AdvancedSymbology +{ + + +SidcDefinitions::SidcDefinitions(SymbolDictionary *symbolDictionary, const char *loggerName) + : m_symbolDictionary(symbolDictionary) + , m_logger(getLogger(loggerName)) +{ + if (m_symbolDictionary) + { + if (m_symbolDictionary->isLoaded()) + { + SymbolDictionaryImpl *symDicImpl = static_cast(m_symbolDictionary); + m_esriDictProcessor = symDicImpl->getEsriDictionaryProcessor(); + } + else + ERROR_LOG(m_logger) << LOGFUNCTION << " symbolDictionary not loaded"; + } + else + ERROR_LOG(m_logger) << LOGFUNCTION << " no symbolDictionary"; +} + +QLatin1String SidcDefinitions::toString(ShapeType value) +{ + switch (value) + { + case ShapeType::Undefined: + return QLatin1String("Undefined"); + case ShapeType::Circle: + return QLatin1String("Circle"); + case ShapeType::Clover: + return QLatin1String("Clover"); + case ShapeType::Curve: + return QLatin1String("Curve"); + case ShapeType::Diamond: + return QLatin1String("Diamond"); + case ShapeType::Rectangle: + return QLatin1String("Rectangle"); + case ShapeType::Square: + return QLatin1String("Square"); + } + return QLatin1String("ERROR-ShapeType"); +} + + +QLatin1String SidcDefinitions::toString(Context value) +{ + switch (value) + { + case Context::Reality: + return QLatin1String("Reality"); + case Context::Exercise: + return QLatin1String("Exercise"); + case Context::Simulation: + return QLatin1String("Simulation"); + } + return QLatin1String("ERROR-Context"); +} + + +QPixmap SidcDefinitions::toPixmap(Context value) +{ + Q_UNUSED(value) + return QPixmap(); +} + + +QLatin1String SidcDefinitions::toString(Identity value) +{ + switch (value) + { + case Identity::Pending: + return QLatin1String("Pending"); + case Identity::Unknown: + return QLatin1String("Unknown"); + + case Identity::AssumedFriend: + return QLatin1String("AssumedFriend"); + case Identity::Friend: + return QLatin1String("Friend"); + + case Identity::Neutral: + return QLatin1String("Neutral"); + + case Identity::SuspectJoker: + return QLatin1String("SuspectJoker"); + case Identity::HostileFaker: + return QLatin1String("HostileFaker"); + } // switch + return QLatin1String("ERROR-Identity"); +} + + +QPixmap SidcDefinitions::toPixmap(Identity value) +{ + Q_UNUSED(value); + return QPixmap(); // render XML symbol frame not activated yet + + #ifdef XML_SYMBOL_ICONS + + QGraphicsScene scene; + QString frameXml; + QString frameResource; + SymbologyXML::Symbol symbol; + SymbologyXML::SymbolReader symbolReader; + QColor fillColor; + SymbologyXML::SymbolTypes::t_affil affil; + + static QMap frameImageMap; + + if (frameImageMap[value]) return QPixmap::fromImage(*frameImageMap[value]); + + scene.setSceneRect( QRectF(-2.0, -2.0, 4.0, 4.0) ); + + switch (value) + { + case Identity::Pending : + { + affil = SymbologyXML::SymbolTypes::t_affil::PENDING; + fillColor = QColor(QStringLiteral("yellow")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_unknown.xml"); + } break; + + case Identity::Unknown : + { + affil = SymbologyXML::SymbolTypes::t_affil::UNKNOWN; + fillColor = QColor(QStringLiteral("yellow")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_unknown.xml"); + } break; + + case Identity::AssumedFriend : + { + affil = SymbologyXML::SymbolTypes::t_affil::ASSUMED_FRIEND; + fillColor = QColor(QStringLiteral("light blue")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_friend.xml"); + } break; + + case Identity::Friend : + { + affil = SymbologyXML::SymbolTypes::t_affil::FRIEND; + fillColor = QColor(QStringLiteral("light blue")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_friend.xml"); + } break; + + case Identity::Neutral : + { + affil = SymbologyXML::SymbolTypes::t_affil::NEUTRAL; + fillColor = QColor(QStringLiteral("darkseagreen")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_neutral.xml"); + } break; + + case Identity::SuspectJoker : + { + affil = SymbologyXML::SymbolTypes::t_affil::SUSPECT; + fillColor = QColor(QStringLiteral("orange")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_enemy.xml"); + } break; + + case Identity::HostileFaker : + { + affil = SymbologyXML::SymbolTypes::t_affil::ENEMY; + fillColor = QColor(QStringLiteral("red")); + frameResource = QStringLiteral(":/Symbole/Attributes/symbolframes/frame_landunits_enemy.xml"); + } break; + } //switch + + if (frameResource.isEmpty()) return QPixmap(); + + QFile fileXml(frameResource); + + if (!fileXml.exists()) return QPixmap(); + + if (!fileXml.open(QIODevice::ReadOnly | QIODevice::Text)) return QPixmap(); + frameXml = QString::fromLocal8Bit( fileXml.readAll() ); + fileXml.close(); + + if (frameXml.isEmpty()) return QPixmap(); + + if (!symbolReader.read(frameXml,symbol)) return QPixmap(); + + symbol.setAffil(affil); + symbol.setDimen(SymbologyXML::SymbolTypes::t_dimen::LAND_UNITS); + symbol.setHeadquarter(false); + + QImage *frameImage = new QImage(40,40,QImage::Format::Format_ARGB32); + QPainter painter(frameImage); + + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + + frameImage->fill(QColor(255,255,255,0)); + + SymbologyXML::SymbolTypes::AdditionalSymbolData options; + options.m_filltype = SymbologyXML::SymbolTypes::FILLTYPE_FILLED; + + SymbologyXML::SymbolExporter::drawFrameSymbol( symbol, options, &scene, QColor(0,0,0,255), fillColor, 0.0, true); + + scene.render(&painter); + + frameImageMap[value] = frameImage; + + return QPixmap::fromImage(*frameImage); + + #endif +} + +SidcDefinitions::ShapeType SidcDefinitions::StandardIdentity::getShape() const +{ + switch (identity) + { + case Identity::Unknown: + case Identity::Pending: + return ShapeType::Clover; + + case Identity::Friend: + case Identity::AssumedFriend: + return ShapeType::Rectangle; + + case Identity::Neutral: + return ShapeType::Square; + + case Identity::HostileFaker: + case Identity::SuspectJoker: + return ShapeType::Diamond; + } // switch + + return ShapeType::Undefined; +} + +QVector SidcDefinitions::contexts() +{ + return { Context::Reality, Context::Exercise, Context::Simulation }; +} + + +QVector SidcDefinitions::identities() +{ + return {Identity::Pending, + Identity::Unknown, + Identity::AssumedFriend, + Identity::Friend, + Identity::Neutral, + Identity::SuspectJoker, + Identity::HostileFaker}; +} + + +QLatin1String SidcDefinitions::toString(HQTFDummy value) +{ + switch (value) + { + case HQTFDummy::Unknown: + return QLatin1String("Unknown"); + case HQTFDummy::FeintDummy: + return QLatin1String("FeintDummy"); + case HQTFDummy::Headquarters: + return QLatin1String("Headquarters"); + case HQTFDummy::FeintDummy_Headquarters: + return QLatin1String("FeintDummy_Headquarters"); + case HQTFDummy::TaskForce: + return QLatin1String("TaskForce"); + case HQTFDummy::FeintDummy_TaskForce: + return QLatin1String("FeintDummy_TaskForce"); + case HQTFDummy::TaskForce_Headquarters: + return QLatin1String("TaskForce_Headquarters"); + case HQTFDummy::FeintDummy_TaskForce_Headquarters: + return QLatin1String("FeintDummy_TaskForce_Headquarters"); + } // switch + return QLatin1String("ERROR-HQTFDummy"); +} + + +QPixmap SidcDefinitions::toPixmap(HQTFDummy value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::hQTFDummy() +{ + return {HQTFDummy::Unknown, + HQTFDummy::FeintDummy, + HQTFDummy::Headquarters, + HQTFDummy::FeintDummy_Headquarters, + HQTFDummy::TaskForce, + HQTFDummy::FeintDummy_TaskForce, + HQTFDummy::TaskForce_Headquarters, + HQTFDummy::FeintDummy_TaskForce_Headquarters + }; +} + +void SidcDefinitions::HQTFDummyConverter::toBool(const SidcDefinitions::HQTFDummy &hqTfDummy, bool &headquarters, bool &taskForce, bool &feintDummy) +{ + uint asInt = static_cast(hqTfDummy); + headquarters = asInt & 2; // mask + taskForce = asInt & 4; // mask + feintDummy = asInt & 1; // mask + +} +uint SidcDefinitions::HQTFDummyConverter::toHqTfDummyAsInt(bool headquarters, bool taskForce, bool feintDummy) +{ + uint hdtffd = 0; + + if (headquarters) hdtffd += 2; + if (taskForce) hdtffd += 4; + if (feintDummy) ++hdtffd; + + return hdtffd; +} +SidcDefinitions::HQTFDummy SidcDefinitions::HQTFDummyConverter::toHqTfDummy(bool headquarters, bool taskForce, bool feintDummy) +{ + return static_cast(toHqTfDummyAsInt(headquarters, + taskForce, + feintDummy)); +} + + +QLatin1String SidcDefinitions::toString(AmplifierGroup value) +{ + switch (value) + { + case AmplifierGroup::Unknown: + return QLatin1String("Unknown"); + case AmplifierGroup::Echelon_BrigadeAndBelow: + return QLatin1String("Echelon_BrigadeAndBelow"); + case AmplifierGroup::Echelon_DivisionAndAbove: + return QLatin1String("Echelon_DivisionAndAbove"); + case AmplifierGroup::Mobility_OnLand: + return QLatin1String("Mobility_OnLand"); + case AmplifierGroup::Mobility_OnSnow: + return QLatin1String("Mobility_OnSnow"); + case AmplifierGroup::Mobility_OnWater: + return QLatin1String("Mobility_OnWater"); + case AmplifierGroup::Naval_TowedArry: + return QLatin1String("Naval_TowedArry"); + } // switch + return QLatin1String("ERROR-AmplifierGroup"); +} + + +QPixmap SidcDefinitions::toPixmap(AmplifierGroup value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::amplifierGroups() +{ + return { AmplifierGroup::Unknown, + + AmplifierGroup::Echelon_BrigadeAndBelow, + AmplifierGroup::Echelon_DivisionAndAbove, + + AmplifierGroup::Mobility_OnLand, + AmplifierGroup::Mobility_OnSnow, + AmplifierGroup::Mobility_OnWater, + + AmplifierGroup::Naval_TowedArry + }; +} + + +QLatin1String SidcDefinitions::toString(EchelonBrigadeAndBelow value) +{ + switch (value) + { + case EchelonBrigadeAndBelow::Unknown: + return QLatin1String("Unknown"); + case EchelonBrigadeAndBelow::TeamCrew: + return QLatin1String("TeamCrew"); + case EchelonBrigadeAndBelow::Squad: + return QLatin1String("Squad"); + + case EchelonBrigadeAndBelow::Section: + return QLatin1String("Section"); + case EchelonBrigadeAndBelow::PlatoonDetachment: + return QLatin1String("PlatoonDetachment"); + case EchelonBrigadeAndBelow::BattalionSquadron: + return QLatin1String("BattalionSquadron"); + + case EchelonBrigadeAndBelow::CompanyBatteryTroop: + return QLatin1String("CompanyBatteryTroop"); + case EchelonBrigadeAndBelow::RegimentGroup: + return QLatin1String("RegimentGroup"); + case EchelonBrigadeAndBelow::Brigade: + return QLatin1String("Brigade"); + } // switch + return QLatin1String("ERROR-EchelonBrigadeAndBelow"); +} + + +QPixmap SidcDefinitions::toPixmap(EchelonBrigadeAndBelow value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::echelonBrigadeAndBelows() +{ + return { EchelonBrigadeAndBelow::Unknown, + EchelonBrigadeAndBelow::TeamCrew, + EchelonBrigadeAndBelow::Squad, + EchelonBrigadeAndBelow::Section, + EchelonBrigadeAndBelow::PlatoonDetachment, + EchelonBrigadeAndBelow::CompanyBatteryTroop, + EchelonBrigadeAndBelow::BattalionSquadron, + EchelonBrigadeAndBelow::RegimentGroup, + EchelonBrigadeAndBelow::Brigade + }; +} + + +QLatin1String SidcDefinitions::toString(EchelonDivisionAndAbove value) +{ + switch (value) + { + case EchelonDivisionAndAbove::Unknown: + return QLatin1String("Unknown"); + case EchelonDivisionAndAbove::Division: + return QLatin1String("Division"); + case EchelonDivisionAndAbove::CorpsMEF: + return QLatin1String("CorpsMEF"); + case EchelonDivisionAndAbove::Army: + return QLatin1String("Army"); + case EchelonDivisionAndAbove::Army_GroupFront: + return QLatin1String("Army_GroupFront"); + case EchelonDivisionAndAbove::RegionTheater: + return QLatin1String("RegionTheater"); + case EchelonDivisionAndAbove::Command: + return QLatin1String("Command"); + } // switch + return QLatin1String("ERROR-EchelonDivisionAndAbove"); +} + +QVector SidcDefinitions::echelonDivisionAndAboves() +{ + return {EchelonDivisionAndAbove::Unknown, + EchelonDivisionAndAbove::Division, + EchelonDivisionAndAbove::CorpsMEF, + EchelonDivisionAndAbove::Army, + EchelonDivisionAndAbove::Army_GroupFront, + EchelonDivisionAndAbove::RegionTheater, + EchelonDivisionAndAbove::Command, + }; +} + + +QLatin1String SidcDefinitions::toString(MobilityOnLand value) +{ + switch (value) + { + case MobilityOnLand::Unknown: + return QLatin1String("Unknown"); + case MobilityOnLand::WheeledLimitedCrossCountry: + return QLatin1String("WheeledLimitedCrossCountry"); + case MobilityOnLand::WheeledCrossCountry: + return QLatin1String("WheeledCrossCountry"); + case MobilityOnLand::Tracked: + return QLatin1String("Tracked"); + case MobilityOnLand::WheeledAndTrackedCombination: + return QLatin1String("WheeledAndTrackedCombination"); + case MobilityOnLand::Towed: + return QLatin1String("Towed"); + case MobilityOnLand::Rail: + return QLatin1String("Rail"); + case MobilityOnLand::PackAnimal: + return QLatin1String("PackAnimal"); + } // switch + return QLatin1String("ERROR-MobilityOnLand"); +} + + +QPixmap SidcDefinitions::toPixmap(MobilityOnLand value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::mobilityOnLands() +{ + return { MobilityOnLand::Unknown, + MobilityOnLand::WheeledLimitedCrossCountry, + MobilityOnLand::WheeledCrossCountry, + MobilityOnLand::Tracked, + MobilityOnLand::WheeledAndTrackedCombination, + MobilityOnLand::Towed, + MobilityOnLand::Rail, + MobilityOnLand::PackAnimal + }; +} + + +QLatin1String SidcDefinitions::toString(MobilityOnSnow value) +{ + switch (value) + { + case MobilityOnSnow::Unknown: + return QLatin1String("Unknown"); + case MobilityOnSnow::OverSnow: + return QLatin1String("OverSnow"); + case MobilityOnSnow::Sled: + return QLatin1String("Sled"); + } // switch + return QLatin1String("ERROR-MobilityOnSnow"); +} + + +QPixmap SidcDefinitions::toPixmap(MobilityOnSnow value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::mobilityOnSnows() +{ + return { MobilityOnSnow::Unknown, + MobilityOnSnow::OverSnow, + MobilityOnSnow::Sled + }; +} + +QLatin1String SidcDefinitions::toString(MobilityOnWater value) +{ + switch (value) + { + case MobilityOnWater::Unknown: + return QLatin1String("Unknown"); + case MobilityOnWater::Barge: + return QLatin1String("Barge"); + case MobilityOnWater::Amphibious: + return QLatin1String("Amphibious"); + } // switch + return QLatin1String("ERROR-MobilityOnWater"); +} + + +QPixmap SidcDefinitions::toPixmap(MobilityOnWater value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::mobilityOnWaters() +{ + return { MobilityOnWater::Unknown, + MobilityOnWater::Barge, + MobilityOnWater::Amphibious + }; +} + + +QLatin1String SidcDefinitions::toString(NavalTowedArray value) +{ + switch (value) + { + case NavalTowedArray::Unknown: + return QLatin1String("Unknown"); + case NavalTowedArray::ShortTowedArray: + return QLatin1String("ShortTowedArray"); + case NavalTowedArray::LongTowedArray: + return QLatin1String("LongTowedArray"); + } // switch + return QLatin1String("ERROR-NavalTowedArray"); +} + + +QPixmap SidcDefinitions::toPixmap(NavalTowedArray value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::navalTowedArrays() +{ + return {NavalTowedArray::Unknown, + NavalTowedArray::ShortTowedArray, + NavalTowedArray::LongTowedArray + }; +} + +QLatin1String SidcDefinitions::toString(SymbolSet value) +{ + switch (value) + { + case SymbolSet::Unknown: + return QLatin1String("Unknown"); + case SymbolSet::Air: + return QLatin1String("Air"); + case SymbolSet::AirMissle: + return QLatin1String("AirMissle"); + case SymbolSet::Space: + return QLatin1String("Space"); + case SymbolSet::SpaceMissle: + return QLatin1String("SpaceMissle"); + case SymbolSet::LandUnit: + return QLatin1String("LandUnit"); + case SymbolSet::LandCivilian_UnitOrganisation: + return QLatin1String("LandCivilian_UnitOrganisation"); + case SymbolSet::LandEquipment: + return QLatin1String("LandEquipment"); + case SymbolSet::LandInstallation: + return QLatin1String("LandInstallation"); + case SymbolSet::ControlMeasure: + return QLatin1String("ControlMeasure"); + case SymbolSet::DismountedIndividual: + return QLatin1String("DismountedIndividual"); + case SymbolSet::SeaSurface: + return QLatin1String("SeaSurface"); + case SymbolSet::SeaSubSurface: + return QLatin1String("SeaSubSurface"); + case SymbolSet::MineWarfare: + return QLatin1String("MineWarfare"); + case SymbolSet::Activities: + return QLatin1String("Activities"); + case SymbolSet::Atmospheric: + return QLatin1String("Atmospheric"); + case SymbolSet::Oceanographic: + return QLatin1String("Oceanographic"); + case SymbolSet::MeteorologicalSpace: + return QLatin1String("MeteorologicalSpace"); + case SymbolSet::SignalsIntelligence_Space: + return QLatin1String("SignalsIntelligence_Space"); + case SymbolSet::SignalsIntelligence_Air: + return QLatin1String("SignalsIntelligence_Air"); + case SymbolSet::SignalsIntelligence_Land: + return QLatin1String("SignalsIntelligence_Land"); + case SymbolSet::SignalsIntelligence_Surface: + return QLatin1String("SignalsIntelligence_Surface"); + case SymbolSet::SignalsIntelligence_Subsurface: + return QLatin1String("SignalsIntelligence_Subsurface"); + case SymbolSet::Cyberspace: + return QLatin1String("Cyberspace"); + } // switch + return QLatin1String("ERROR-SymbolSet"); +} + + +QPixmap SidcDefinitions::toPixmap(SymbolSet value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::symbolSets() +{ + return {SymbolSet::Unknown, + SymbolSet::Air, + SymbolSet::AirMissle, + SymbolSet::Space, + SymbolSet::SpaceMissle, + SymbolSet::LandUnit, + SymbolSet::LandCivilian_UnitOrganisation, + SymbolSet::LandEquipment, + SymbolSet::LandInstallation, + SymbolSet::ControlMeasure, + SymbolSet::DismountedIndividual, + SymbolSet::SeaSurface, + SymbolSet::SeaSubSurface, + SymbolSet::MineWarfare, + SymbolSet::Activities, + SymbolSet::Atmospheric, + SymbolSet::Oceanographic, + SymbolSet::MeteorologicalSpace, + SymbolSet::SignalsIntelligence_Space, + SymbolSet::SignalsIntelligence_Air, + SymbolSet::SignalsIntelligence_Land, + SymbolSet::SignalsIntelligence_Surface, + SymbolSet::SignalsIntelligence_Subsurface, + SymbolSet::Cyberspace + }; +} + +QLatin1String SidcDefinitions::toString(Status value) +{ + switch (value) + { + case Status::Present: + return QLatin1String("Present"); + case Status::Planned_Anticipated_Suspect: + return QLatin1String("Planned_Anticipated_Suspect"); + case Status::Present_FullCapable: + return QLatin1String("Present_FullCapable"); + case Status::Present_Damaged: + return QLatin1String("Present_Damaged"); + case Status::Present_Destroyed: + return QLatin1String("Present_Destroyed"); + case Status::Present_FullToCapacity: + return QLatin1String("Present_FullToCapacity"); + } // switch + return QLatin1String("ERROR-Status"); +} + + +QPixmap SidcDefinitions::toPixmap(Status value) +{ + Q_UNUSED(value); + return QPixmap(); +} + + +QVector SidcDefinitions::statuss() +{ + return + { + Status::Present, + Status::Planned_Anticipated_Suspect, + Status::Present_FullCapable, + Status::Present_Damaged, + Status::Present_Destroyed, + Status::Present_FullToCapacity + }; +} + + +QStringList SidcDefinitions::modifierKeys() const +{ + if (!m_esriDictProcessor) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no m_esriDictProcessor"; + return QStringList(); + } + return m_esriDictProcessor->symbolModifierKeys(); +} + + +QVector SidcDefinitions::modifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const +{ + if (!m_esriDictProcessor) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no m_esriDictProcessor"; + return QVector(); + } + return m_esriDictProcessor->symbolModifierList(symbolSet, modifierSector); +} + + + + + +//---------------------------------------------------------------------------- + +std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::ShapeType &value) +{ + stream << "ShapeType(" << AdvancedSymbology::SidcDefinitions::toString(value) + << ")"; + return stream; +} + +std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::Identity &value) +{ + stream << "Identity(" << AdvancedSymbology::SidcDefinitions::toString(value) + << ")"; + return stream; +} + +std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::SymbolSet &value) +{ + stream << "SymbolSet(" << AdvancedSymbology::SidcDefinitions::toString(value) + << ")"; + return stream; +} + +std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::Status &value) +{ + stream << "Status(" << AdvancedSymbology::SidcDefinitions::toString(value) + << ")"; + return stream; +} + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.h new file mode 100755 index 000000000..36f44330d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/sidc_definitions.h @@ -0,0 +1,396 @@ +/** + * @RDE_HEADER@ + * Class SidcDefinitions + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include "../SymbologyImpl/advanced_symbology_logging.h" // ToDo + + +// Qt +#include +#include + +#include + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +static const QLatin1String ETS_SYMBOL_KEYWORD("ETS"); + + +// forward: +class SymbolDictionary; +class EsriDictionaryProcessor; + +struct ModifierData; + +/** + * @brief The SidcDefinitions class contains a row of enum definitions common to the AdvancedSymbology. + * A couple (like SidcDefinitions::modifierList) require a loaded SymbolDictionary. + */ +class ADVANCED_SYMBOLOGY_EXPORT SidcDefinitions +{ +public: + + /*! \name Construction, Destruction */ + //@{ + ///< Constructor + explicit SidcDefinitions(AdvancedSymbology::SymbolDictionary *symbolDictionary, const char *loggerName = "SidcDefinitions"); + + ///< Destructor + virtual ~SidcDefinitions() = default; + //@} + + + // + // Counting startw with 1 + // + + // + // Version : digit 1,2 + // + + + // + // StandardIdentity : digit 3,4 + // + + enum class ShapeType + { + Undefined, + Circle, + Clover, + Curve, + Diamond, + Rectangle, + Square + }; + static QLatin1String toString(ShapeType value); + + // StandardIdentity, 1st digit + enum class Context + { + Reality, ///< 0 + Exercise, ///< 1 + Simulation ///< 2 + }; + static QLatin1String toString(Context value); + static QPixmap toPixmap(Context value); + static QVector contexts(); + + // StandardIdentity, 2nd digit + enum class Identity + { + Pending, ///< 0 + Unknown, ///< 1 + + AssumedFriend, ///< 2 + Friend, ///< 3 + + Neutral, ///< 4 + + SuspectJoker, ///< 5 + HostileFaker ///< 6 + }; + static QLatin1String toString(Identity value); + static QPixmap toPixmap(Identity value); + static QVector identities(); + + + struct ADVANCED_SYMBOLOGY_EXPORT StandardIdentity + { + Context context = Context::Reality; ///< 1st digit + Identity identity = Identity::Unknown; ///< 2nd digit + ShapeType getShape() const; // BattleDimension missing!!!!!!! + }; + + + // + // : StandardIdentity + // + + + // + // Symbol Set : digit 5,6 TODO: maybe generated out of esri stylx file, becasuse it depends on MIL/APP ??? + // + enum class SymbolSet + { + Unknown, ///< 0 + Air, + AirMissle, + Space = 5, + SpaceMissle, + LandUnit = 10, + LandCivilian_UnitOrganisation, + LandEquipment = 15, + LandInstallation = 20, + ControlMeasure = 25, + DismountedIndividual = 27, // APP6D, not MIL2525D + SeaSurface = 30, + SeaSubSurface = 35, + MineWarfare, + Activities = 40, + Atmospheric = 45, + Oceanographic, + MeteorologicalSpace = 50, + SignalsIntelligence_Space, + SignalsIntelligence_Air, + SignalsIntelligence_Land, + SignalsIntelligence_Surface, + SignalsIntelligence_Subsurface, + Cyberspace = 60 + }; + static QLatin1String toString(SymbolSet value); + static QPixmap toPixmap(SymbolSet value); + static QVector symbolSets(); + + template static SymbolSet castToSymbolSet(T value) + { + SymbolSet symbolSet = static_cast(value); + if (!symbolSets().contains(symbolSet)) + symbolSet = SymbolSet::Unknown; + return symbolSet; + } // template SymbolSet castToSymbolSet(T value) + + + // + // Status : digit 7 + // + enum class Status + { + Present = 0, ///< exeption, no Unknown + Planned_Anticipated_Suspect = 1, + Present_FullCapable = 2, + Present_Damaged = 3, + Present_Destroyed = 4, + Present_FullToCapacity = 5 + }; + static QLatin1String toString(Status value); + static QPixmap toPixmap(Status value); + static QVector statuss(); + + + + // + // HQ TF Dummy : digit 8 + // + enum class HQTFDummy + { + Unknown, ///< 0 + FeintDummy, ///< 1 + Headquarters, ///< 2 + FeintDummy_Headquarters, ///< 3 + TaskForce, ///< 4 + FeintDummy_TaskForce, ///< 5 + TaskForce_Headquarters, ///< 6 + FeintDummy_TaskForce_Headquarters, ///< 7 + }; + static QLatin1String toString(HQTFDummy value); + static QPixmap toPixmap(HQTFDummy value); + static QVector hQTFDummy(); + + // some helper functions: + struct HQTFDummyConverter + { + + static void toBool(const HQTFDummy &hqTfDummy, + bool &headquarters, + bool &taskForce, + bool &feintDummy); + + + static uint toHqTfDummyAsInt(bool headquarters, + bool taskForce, + bool feintDummy); + + static HQTFDummy toHqTfDummy(bool headquarters, + bool taskForce, + bool feintDummy); + }; + + + + // + // Amplifier : digit 9,10 + // + + // Amplifier-Group : 1st digit + enum class AmplifierGroup + { + Unknown, + + Echelon_BrigadeAndBelow, + Echelon_DivisionAndAbove, + + Mobility_OnLand, + Mobility_OnSnow, + Mobility_OnWater, + + Naval_TowedArry, + }; + static QLatin1String toString(AmplifierGroup value); + static QPixmap toPixmap(AmplifierGroup value); + static QVector amplifierGroups(); + + // Depending on AmplifierGroup : + // Amplifier-Echelon/Mobility/Naval - 2nd digit + + enum class EchelonBrigadeAndBelow + { + Unknown = 0, + TeamCrew, + Squad, + Section, + PlatoonDetachment, + CompanyBatteryTroop, + BattalionSquadron, + RegimentGroup, + Brigade + }; + static QLatin1String toString(EchelonBrigadeAndBelow value); + static QPixmap toPixmap(EchelonBrigadeAndBelow value); + static QVector echelonBrigadeAndBelows(); + + // OR + + enum class EchelonDivisionAndAbove + { + Unknown = 0, + Division, + CorpsMEF, + Army, + Army_GroupFront, + RegionTheater, + Command + }; + static QLatin1String toString(EchelonDivisionAndAbove value); + static QVector echelonDivisionAndAboves(); + + + // OR + + enum class MobilityOnLand + { + Unknown = 0, + WheeledLimitedCrossCountry, + WheeledCrossCountry, + Tracked, + WheeledAndTrackedCombination, + Towed, + Rail, + PackAnimal + }; + static QLatin1String toString(MobilityOnLand value); + static QPixmap toPixmap(MobilityOnLand value); + static QVector mobilityOnLands(); + + // OR + + enum class MobilityOnSnow + { + Unknown = 0, + OverSnow, + Sled + }; + static QLatin1String toString(MobilityOnSnow value); + static QPixmap toPixmap(MobilityOnSnow value); + static QVector mobilityOnSnows(); + + + // OR + + enum class MobilityOnWater + { + Unknown = 0, + Barge, + Amphibious + }; + static QLatin1String toString(MobilityOnWater value); + static QPixmap toPixmap(MobilityOnWater value); + static QVector mobilityOnWaters(); + + // OR + + enum class NavalTowedArray + { + Unknown = 0, + ShortTowedArray, + LongTowedArray + }; + static QLatin1String toString(NavalTowedArray value); + static QPixmap toPixmap(NavalTowedArray value); + static QVector navalTowedArrays(); + + // + // : Amplifier + // + + + + /*! \name Methods requiring a loaded SymbolDictionary*/ + //@{ + + // + // Modifier + // + + /** + * @brief Provides a list of all modifier keys + */ + QStringList modifierKeys() const; + + /** + * @brief A List of all modifiers of a symbolSet + * @param symbolSet symbol set + * @param modifierSector sector of the modifier, range of values [1,2] + * @see SymbolSet + */ + QVector modifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const; + //@} + + + +protected: + SymbolDictionary *m_symbolDictionary = nullptr; + const EsriDictionaryProcessor *m_esriDictProcessor = nullptr; + + LOGGER_T m_logger; ///< Interface of the Logging-Facility + +}; // class SidcDefinitions + + + +// move to different place!?!? Todo check +/** + * Stores data to each symbol modifier. Each symbol can have a list of sector 1 and sector 2 modifiers + */ +struct ModifierData +{ + QString m_modifierKey; /*!< 5 digits key from ESRI stylx : SymbolSet<2>ModifierValue<2>ModifierSector<1> */ + SidcDefinitions::SymbolSet m_symbolSet; /*!< Symbol set matching to the modifier */ + unsigned int m_modifierSector; /*!< Modifier sector, can be 1 or 2 */ + unsigned int m_modifierValue; /*!< Value of modifier depending on symbol set and modifier sector */ + QString m_modifierName; /*!< Name of modifier to show at GUI */ + QPixmap m_modifierIcon; /*!< Icon of the modifier */ +}; + + + + + + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::ShapeType &value); +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::Identity &value); +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::SymbolSet &value); +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, const AdvancedSymbology::SidcDefinitions::Status &value); + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.cpp new file mode 100755 index 000000000..eb22e8cb6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.cpp @@ -0,0 +1,192 @@ +/** + * @RDE_HEADER@ + * ViewshedParameter + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_data_to_render.h" +#include +#include +#include + +//Qt + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + + +//---------------------------------------------------------------------------- +SymbolDataToRender::SymbolDataToRender(const QString &_sidc, int _sizeL) +{ + init(); + sidc = _sidc; + sizeL = _sizeL; +} + +void SymbolDataToRender::init() +{ + sidc.clear(); + role = Role::Unknown; + sizeL = 100; + fillColor = Qt::magenta; + fillColorReplace = false; + marking = false; + + injury = Injury::NoInjury; // NoInjury, Hit, MobilityKill, WeaponKill, TotalKill + injuryColor = Qt::gray; + + additionalSymbols.clear(); + + spiOriginalKey.clear(); + spiSizeL = 100; + renderJustCoreImage = false; +} + +QString SymbolDataToRender::sidcAccordingRole() const +{ + if (!SidcCodec::isEncoded(sidc)) + return sidc; + + const SymbologyType symType = SidcCodec::decodeSymbologyType(sidc); + if ((symType != SymbologyType::MIL2525D) && (symType != SymbologyType::APP6D)) + return sidc; + + AdvancedSymbology::SidcBuilder sidcBuilder(&AdvancedSymbology::SymbolDictionary::dictionary(symType)); + if (!sidcBuilder.setSidc(sidc)) + return sidc; + + sidcBuilder.setIdentity(static_cast(role)); // This works just for MIL2525D, APP6D symbols... + +// // This works just for MIL2525D symbols : +// QString sidcToBeModified = sidc; +// sidcToBeModified.replace(13, 1, QString::number((int)role)); // enum role is (at least now) identical to Identity +// // : This works just for MIL2525D symbols + + return sidcBuilder.toSidc(); +} + + +bool SymbolDataToRender::operator==(const SymbolDataToRender &o) const +{ + return sidc == o.sidc && + role == o.role && + sizeL == o.sizeL && + fillColor == o.fillColor && + fillColorReplace == o.fillColorReplace && + marking == o.marking && + injury == o.injury && + injuryColor == o.injuryColor && + additionalSymbols == o.additionalSymbols; +} + +bool SymbolDataToRender::operator!=(const SymbolDataToRender &o) const +{ + return !operator ==(o); +} + + + + +//----------------------------------------------------------------------------- +QString toString(AdditionalSymbolType value) +{ + switch (value) + { + case AdditionalSymbolType::BiteError: + return QLatin1String("BiteError"); + case AdditionalSymbolType::Manipulation: + return QLatin1String("Manipulation"); + case AdditionalSymbolType::NoPosition: + return QLatin1String("NoPosition"); + case AdditionalSymbolType::NbcProtection: + return QLatin1String("NbcProtection"); + } // switch + return QLatin1String("additionalSymbolTypeToStringERROR"); +} + +std::ostream &operator<<(std::ostream &stream, const AdditionalSymbolType &value) +{ + stream << toString(value); + return stream; +} + +std::ostream &operator<<(std::ostream &stream, const AdditionalSymbolTypeCont &value) +{ + stream << "AST_Cont(" << value.size() << ") "; + + for (const AdditionalSymbolType &item : value) + stream << toString(item) << ";"; + return stream; +} + + +//----------------------------------------------------------------------------- +QString toString(Injury value) +{ + switch (value) + { + case Injury::NoInjury: + return QLatin1String("NoInjury"); + case Injury::Hit: + return QLatin1String("Hit"); + case Injury::MobilityKill: + return QLatin1String("MobilityKill"); + case Injury::WeaponKill: + return QLatin1String("WeaponKill"); + case Injury::TotalKill: + return QLatin1String("TotalKill"); + } // switch + return QLatin1String("InjuryToStringERROR"); +} + + +std::ostream &operator<<(std::ostream &stream, const Injury &value) +{ + stream << toString(value); + return stream; +} + +std::ostream &operator<<(std::ostream &stream, const SymbolDataToRender &value) +{ + stream << value.toString().constData(); + return stream; +} + + +QString SymbolDataToRender::toString() const +{ + QString str; + + str = QStringLiteral("sidc='%1'").arg(sidc) + + QStringLiteral(" role=%1").arg(AdvancedSymbology::toString(role)) + + QStringLiteral(" sizeL=%1").arg(sizeL) + + + // QStringLiteral(" lineColor=%1")).arg(lineColor.name(QColor::HexArgb)) + + QStringLiteral(" fillColor=%1").arg(fillColor.name(QColor::HexArgb)) + + QStringLiteral(" fillColorReplace=%1").arg(fillColorReplace) + + + QStringLiteral(" marking=%1").arg(marking) + + + QStringLiteral(" injury=%1").arg(AdvancedSymbology::toString(injury)) + + QStringLiteral(" injuryColor=%1").arg(injuryColor.name(QColor::HexArgb)) + + + QStringLiteral(" spiOriginalKey=%1").arg(spiOriginalKey) + + QStringLiteral(" spiSizeL=%1").arg(spiSizeL) + + QStringLiteral(" renderJustCoreImage=%1").arg(renderJustCoreImage); + + std::stringstream stream; + stream << additionalSymbols; + str += QStringLiteral(" additionalSymbols=%1").arg(QLatin1String(stream.str().c_str())); + + + return str; +} + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.h new file mode 100755 index 000000000..8e8f9979a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render.h @@ -0,0 +1,136 @@ +/** + * @RDE_HEADER@ + * ViewshedParameter + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +// Own +#include "symbol_dictionary_types.h" +#include "advanced_symbology_export.h" + + +// Qt +#include +#include +#include + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +//---------------------------------------------------------------------------- +/** + * @brief The AdditionalSymbolType enum + */ +enum class AdditionalSymbolType +{ + NbcProtection, ///< Line at top left. + Manipulation, ///< Black and white dashed lines at bottom (1st of three) + NoPosition, ///< Red line at bottom (2nd of three) + BiteError ///< Yellow line at bottom. (3rd of three) +}; +QString ADVANCED_SYMBOLOGY_EXPORT toString(AdditionalSymbolType); + +// enable usage as key (e.g. QSet) +inline uint qHash(AdditionalSymbolType type) +{ + return ::qHash(static_cast(type)); +} +using AdditionalSymbolTypeCont = QSet; + + + +//---------------------------------------------------------------------------- +/** + * @brief The injury enum + */ +enum class Injury +{ + NoInjury, ///< "" + Hit, ///< "-" + MobilityKill, ///< "\" + WeaponKill, ///< "/" + TotalKill ///< "/\" +}; +QString toString(Injury value); + + + +//---------------------------------------------------------------------------- +/** + * @brief The SymbolDataToRender struct contains all data usefull to render + * an advanced symbol. + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolDataToRender +{ +public: + explicit SymbolDataToRender(const QString &_sidc = QString(), int _sizeL = 100); + + void init(); + + QString sidcAccordingRole() const; + +public: + QString sidc; + + Role role; + + int sizeL; + +// QColor lineColor = Qt::black; // not supported by esri yet + QColor fillColor; + bool fillColorReplace; + + bool marking; + + Injury injury; + QColor injuryColor; + + AdditionalSymbolTypeCont additionalSymbols; // noPos, Manip... + + static QColor unknownColor() + { + return QColor(255, 255, 0); // 10012500002108000000@Mil2525D: color = QColor(255, 255, 0); + } + + + QString toString() const; + + bool operator==(const SymbolDataToRender &o) const; + bool operator!=(const SymbolDataToRender &o) const; + + // just for internal use : + friend class SymbolDictionaryImpl; + friend class EsriDictionaryProcessor; +private: + QString spiOriginalKey; // spi = symbolPropertyImage + int spiSizeL = 100; // spi = symbolPropertyImage + bool renderJustCoreImage = false; + // : just for internal use +}; + + +//----------------------------------------------------------------------------- +// output operator: +//----------------------------------------------------------------------------- +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::AdditionalSymbolType &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::AdditionalSymbolTypeCont &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::Injury &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::SymbolDataToRender &value); + +} // namespace AdvancedSymbology + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render_role.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render_role.h new file mode 100755 index 000000000..77676b346 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_data_to_render_role.h @@ -0,0 +1,49 @@ +/** + * @RDE_HEADER@ + * ViewshedParameter + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +// Own +#include + +// Qt + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +// forwarding of enum which is declared within a class is not possible: +// enum class ParticipantManagement::Role; + + +template +AdvancedSymbology::Role roleToRole(const PARTICIPANT_ROLE_TYPE role) +{ + switch (role.underlying()) + { + case ParticipantManagement::Role_def::Unknown: + return AdvancedSymbology::Role::Unknown; + case ParticipantManagement::Role_def::Friend: + return AdvancedSymbology::Role::Friend; + case ParticipantManagement::Role_def::Neutral: + return AdvancedSymbology::Role::Neutral; + case ParticipantManagement::Role_def::Enemy: + return AdvancedSymbology::Role::HostileFaker; + case ParticipantManagement::Role_def::Pending: + return AdvancedSymbology::Role::Pending; + case ParticipantManagement::Role_def::AssumedFriend: + return AdvancedSymbology::Role::AssumedFriend; + case ParticipantManagement::Role_def::Suspect: + return AdvancedSymbology::Role::SuspectJoker; + } // switch + + return AdvancedSymbology::Role::Unknown; +} + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.cpp new file mode 100755 index 000000000..38ca7af38 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.cpp @@ -0,0 +1,242 @@ +/** + * @RDE_HEADER@ + * Interface of SymbolDictionary + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_dictionary.h" +#include +#include + + +#include "sidc_codec.h" + + +// Qt +#include +#include +#include + +void initResource() +{ + Q_INIT_RESOURCE(symbols); +} + + +namespace AdvancedSymbology +{ + +bool SymbolDictionary::doParanoiaChecks() +{ + static bool s_read = false; + static bool s_doParanoiaChecks = false; + if (!s_read) + { + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + QString val = env.value(QStringLiteral("DO_SITMAP_CHECKS"), QStringLiteral("1")); + + s_read = true; + + s_doParanoiaChecks = (val.compare(QStringLiteral("1"))==0); + + if (s_doParanoiaChecks) + qCritical() << " paranoiaChecks are ON (via DO_SITMAP_CHECKS)"; + else + qCritical() << " paranoiaChecks are OFF (via DO_SITMAP_CHECKS)"; + } + return s_doParanoiaChecks; +} + + + +static QMap &s_symbologyResourcePaths() +{ + static QMap map; + return map; +} // QMap &s_symbologyResourcePaths() + + +static QMap &s_symbologyDictionaries() +{ + static QMap map; + return map; +} // QMap &s_symbologyDictionaries + + +static void cleanupDictionary() +{ + qDeleteAll(s_symbologyDictionaries()); + s_symbologyDictionaries().clear(); +} + + +bool SearchParameters::isEmpty() const +{ + return keys.isEmpty() && + names.isEmpty() && + categories.isEmpty() && + symbolClasses.isEmpty() && + tags.isEmpty(); +} + +int SearchParameters::numberOfParameter() const +{ + int count = 0; + if (!keys.isEmpty()) ++count; + if (!names.isEmpty()) ++count; + if (!categories.isEmpty()) ++count; + if (!symbolClasses.isEmpty()) ++count; + if (!tags.isEmpty()) ++count; + return count; +} + + + +SymbolDictionary::SymbolDictionary(QObject *parent) + : QObject(parent) +{ + LOGGER_T m_logger = getLogger("SymbolDictionary"); + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + initResource(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + + +static SymbologyType _defaultSymbologyType = SymbologyType::None; + + +SymbologyType SymbolDictionary::defaultSymbologyType() +{ + return _defaultSymbologyType; +} // SymbologyType SymbolDictionary::defaultSymbologyType() + + +void SymbolDictionary::setDefaultSymbologyType( SymbologyType symbologyType ) +{ + if (SymbologyType::None == _defaultSymbologyType) + { + // set default only once + _defaultSymbologyType = symbologyType; + } +} // void SymbolDictionary::setDefaultSymbologyType( SymbologyType symbologyType ) + + +QString SymbolDictionary::initializeSymbologyResourcePath(SymbologyType symbologyType) +{ + LOGGER_T m_logger = getLogger("SymbolDictionary"); + + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symbologyType=" << symbologyType; + + if (s_symbologyResourcePaths()[symbologyType].isEmpty()) + { + +#ifdef USE_ARCADE_SYMBOLOGY + QString finalSymbologyResourcePath = SituationMap::getResourcePath() + QLatin1String("symbols_arcade/"); +#else + QString finalSymbologyResourcePath = SituationMap::getResourcePath() + QLatin1String("symbols/"); +#endif // USE_ARCADE_SYMBOLOGY + + switch (symbologyType) + { + case AdvancedSymbology::SymbologyType::MIL2525D: + finalSymbologyResourcePath.append(QLatin1String("mil2525d/mil2525d.stylx")); // like /arcgis/runtime_sdk/qt100.0/resources/symbols/mil2525d/mil2525d.stylx + break; + + case AdvancedSymbology::SymbologyType::MIL2525C: + finalSymbologyResourcePath.append(QLatin1String("mil2525c_b2/mil2525c_2b.stylX")); + break; + case AdvancedSymbology::SymbologyType::APP6B: + finalSymbologyResourcePath.append(QLatin1String("app6b/app6b.stylx")); + break; + case AdvancedSymbology::SymbologyType::APP6D: + finalSymbologyResourcePath.append(QLatin1String("app6d/app6d.stylx")); + break; + case AdvancedSymbology::SymbologyType::None: + finalSymbologyResourcePath.clear(); + break; + } // switch + + s_symbologyResourcePaths()[symbologyType] = finalSymbologyResourcePath; + } + + DEBUG_LOG(m_logger) << LOGFUNCTION << " dict of type/path:" + << " symbologyType=" << symbologyType + << ", symbologyResourcePath='" << s_symbologyResourcePaths()[symbologyType] << "'"; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " symbologyType=" << symbologyType + << ", symbologyResourcePath='" << s_symbologyResourcePaths()[symbologyType] << "'"; + + return s_symbologyResourcePaths()[symbologyType]; +} + + +SymbolDictionary &SymbolDictionary::dictionary(SymbologyType symbologyType) +{ + LOGGER_T m_logger = getLogger("SymbolDictionary"); + + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symbologyType=" << symbologyType; + + + if (!s_symbologyDictionaries().contains(symbologyType)) + { + // store and get final path: + const QString &resPath = initializeSymbologyResourcePath(symbologyType); + + // Do NOT removed this message!!! + NOTICE_LOG(m_logger) << LOGFUNCTION << " dictionary path: '" << resPath << "'" + << ", symbologyType " << symbologyType; + // Do NOT removed this message!!! + + // create dict: + AdvancedSymbology::SymbolDictionaryImpl *dict = + new AdvancedSymbology::SymbolDictionaryImpl(symbologyType, resPath); + + // store dict: + s_symbologyDictionaries()[symbologyType] = dict; + + qAddPostRoutine(cleanupDictionary); + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " symbologyType=" << symbologyType; + + return *(s_symbologyDictionaries()[symbologyType]); +} + +bool SymbolDictionary::alreadyExists(SymbologyType symbologyType) +{ + return s_symbologyDictionaries().contains(symbologyType); +} + +QImage SymbolDictionary::temporaryImage(int sizeL) +{ + return SymbolDictionaryImpl::temporaryImage(sizeL); +} + +void cleanupSymbolDictionaryInternal() +{ + LOGGER_T m_logger = getLogger("SymbolDictionary"); + + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + cleanupDictionary(); + + if (! s_symbologyDictionaries().isEmpty()) + FATAL_LOG(m_logger) << LOGFUNCTION << " s_symbologyDictionaries NOT empty"; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + + +} // namespace AdvancedSymbology + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.h new file mode 100755 index 000000000..667b8a369 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary.h @@ -0,0 +1,418 @@ +/** + * @RDE_HEADER@ + * Interface of SymbolDictionary + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include "property_result.h" +#include "symbol_result.h" + +#include "../SymbologyXML/symbol.h" + +// Qt +#include +#include +#include + + +// Forward +class QValidator; + + +# include // This file is created by RME, not ESRI + +#if ACRGIS_VERSION >= 0x640600 // 100.6.0 / Update 6 +//# define USE_ARCADE_SYMBOLOGY +#endif + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +/** + * @brief The SymbolDictionary class is the main class in this namespace. + * \section secCommon Common + * To create an instance + * - use static method SymbolDictionary::dictionary() (one instance per AdvancedSymbology::SymbologyType). + * - load the dictionary (on finish the signal loaded is emitted.) + * + * To support symbol independent from an official symbology standard you can add extra symbols: insertExtraSymbol. + * + * To get symbol information there are different approaches: search, find and fetch \n + * - searchSymbol() is looking for symbol by defining some strings or stringLists as definded at SearchParameters. \n + * The result contains one or more SymbolProperties in a list (SymbolPropertyList) + * + * - find... to get an QImage + * - findImage(), findPreview() is looking using a complete sidc. \n + * \sa \ref secfindImageExplanation + * + * - findBaseSymbol() is looking using the baseSymboCode (SymbolSet and Entity). \n + * If a abtract symbol is requested the first overload should be used. \n + * + * - fetchSymbol() is looking using a complete sidc for internal use. \n + * + * Most methods are using the future pattern. + * The result value (like PropertyResult and SymbolResult) will contain the real result - when available. + * To get a (ready)signal, a propper watcher is prepared: PropertyResultWatcher or SymbolResultWatcher. + * + * This is explained at the base class ResultWatcher. + * + * + * \section secfindImageExplanation Use proper find method + * + * There are following use cases: + * + * - PlayerInfoWindow \n + * PointSymbol with frame, modifier, injury; multiPointSymbol (maybe with concrete geometry) \n + * (THE tank of a concrete party/color with concrete modifier, injury...) + * + * - PlayerTree (SymbolSelectionDlg) \n + * (A tank of party 'Unknown', (with modifier like platoon, but no space for injury)) + * + * - Favourites at PlanEditor \n + * (A tank, no party (black - just the baseSymbol) + * + * To get a suitable image for your use case youd should pay attention to following table: + * + | UseCase | Method | SinglePointSymbol | MultiPointSymbol | + | :----------------------------------------------------| : ---------------| : ---------------------------|: ------------------- | + | concrete Obj with partyColor,Frame,Modifier, Injury | findImage() | fetch | lookupTable (search) | + | abstract Obj with Frame (Unknown) | findPreview() | fetch | lookupTable (search) | + | abstract Obj without Frame/Modifier | findBaseSymbol() | lookupTable (search) | lookupTable (search) | + * (lookupTable == m_baseSymbolCodeToSymbolPropertyTable & m_originalKeyToEsriSymbol) + * + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolDictionary : public QObject +{ + Q_OBJECT + +public: + static bool doParanoiaChecks(); + + +protected: + + /*! \name Construction, Destruction */ + //@{ + /** + * @brief Constructor. + * @param parent + */ + explicit SymbolDictionary(QObject *parent = nullptr); + +public: + /** + * @brief Initialize the SymbologyResourcePath. + * @param symbologyType Type of symbology to initialize. + * @return resulting symbologyResourcePath + */ + static QString initializeSymbologyResourcePath(SymbologyType symbologyType); + + /** + * @brief Get access to dictionary of a SymbologyType (singleton per SymbologyType) + * @param symbologyType The SymbologyType the Dictionary should base on. + * @param symbologyResourcePath ResourcePath to be set (e.g. /opt/EXTFW/resources/symbols/app6b). + * @return Reference to requested SymbolDictionary. + */ + static SymbolDictionary &dictionary(SymbologyType symbologyType); + + /** + * @brief Does the requested SymbolDictionary already exists? + * @param symbologyType requested SymbologyType + * @return true if already existing, otherwise false + */ + static bool alreadyExists(SymbologyType symbologyType); + + /** + * @brief Provide default SymbologyType + */ + static SymbologyType defaultSymbologyType(); + + /** + * @brief Defines default SymbologyType. Is been called while situation map is loading map settings. + * @param symbologyType SymbologyType to set as default + */ + static void setDefaultSymbologyType( SymbologyType symbologyType ); + + /** + * Returns state of dictionary. In case of failure the return value is false and in other case true. + */ + virtual bool isOk() const = 0; + + /** + * @brief load + * Object can load data asynchronously. + * Call load() to initiate loading. + * If loading has finished the signal loaded is emitted. + */ + virtual void load() = 0; + + /** + * @brief Information about Loading. + * @return true if loaded, otherwise false. + */ + virtual bool isLoaded() const = 0; + + /** + * @brief Get current loadStatus + * @return + */ + virtual LoadStatus loadStatus() const = 0; + + + virtual ~SymbolDictionary() = default; ///< Destructor + //@} + + + /** \name Ets symbols + * To support symbol independent from an official symbology standard you can add ets symbols: + */ + //@{ + /** + * @brief Insert (add/update) (own) ETS symbol to dictionary. + * @param sidc Symbol Id Code to add. If sidc is already in use, the entry (properties and image) is updated. + * @param properties To be associated to sidc. + * @param image To be associated to sidc. + * @return True on success, otherwise false. + */ + virtual bool setEtsSymbol(int fileId, + const QString &sidc, + const SymbolProperties &properties, + const QImage &image) = 0; + ///< remove Extra symbol + virtual void removeEtsSymbol(int fileId) = 0; + virtual void removeEtsSymbol(const QString &sidc) = 0; + + ///< clear all Extra symbols + virtual void clearEtsSymbols() = 0; + + ///< add complete directory recursively with Extra symbols. + virtual int addEtsSymbols(const QString &path = QString()) = 0; + + ///< complete list of all Extra symbols. + virtual QStringList etsSymbols() const = 0; + + /** + * @brief Number of Extra symbols + * @return number of Extra symbols + */ + virtual int etsSymbolCount() const = 0; + //@} + + + /** \name Xml symbols + * To support symbol independent from ESRI symbology standard you can add symbols base on symbol editor XML based format + */ + //@{ + virtual bool containsXmlSymbol(const QString &sidc) const = 0; /**< Returns true in case of symbol is in dictionary, otherwise false. */ + virtual bool setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const QString &xmlSymbol, const SymbolProperties &properties) = 0; /**< Inserts (add/update) a symbol from XML format and returns true on success. */ + virtual bool setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol, const SymbolProperties &properties) = 0; /**< Inserts (add/update) a symbol from SymbologyXML::Symbol and returns true on success. */ + virtual void removeXmlSymbol(int fileId) = 0; /**< Remove symbol from dictionary */ + virtual void removeXmlSymbol(const QString &sidc) = 0; /**< Remove symbol from dictionary */ + virtual void clearXmlSymbols() = 0; /**< Remove all symbols from dictionary */ + virtual void clearXmlSymbolCache() = 0; /**< Clear internal Cache for XML-Symbols */ + virtual int xmlSymbolCount() const = 0; /**< Pass back the number of XML symbols in dictonary */ + virtual QStringList xmlSymbols() const = 0; /**< Returns a list of all XML symbol sidc's in dictionary */ + virtual QString xmlSidc(const QString &xmlSymbol) const = 0; /**< Returns the sidc of a symbol */ + virtual QString xmlSidc(const SymbologyXML::Symbol &symbol) const = 0; /**< Returns the sidc of a symbol */ + + virtual SymbologyXML::Symbol xmlSymbol(const QString &sidc) const = 0; /**< Pass back the SymbologyXML::Symbol of sidc */ + virtual SymbolProperties xmlSymbolProps(const QString &sidc) const = 0; /**< Pass back the SymbolProperties of sidc */ + //@} + +public: + SymbolDictionary(const SymbolDictionary &other) = delete; + SymbolDictionary &operator=(const SymbolDictionary &other) = delete; + + + virtual SymbologyType symbologyType() const = 0; + virtual QString specificationType() const = 0; + + virtual QString symbologyResourcePath() const = 0; + + + virtual int symbologySpecificCount() const = 0; + + static QImage temporaryImage(int sizeL = 100); + + /** + * @brief Get all known attribute keys which are interpreted by rendering process + */ + virtual QStringList symbologyAttributeKeyList() const = 0; + + + /** \name Search */ + //@{ + + /** + * @brief Get a list of all cached symbol codes + */ + virtual QStringList cachedBaseSymbolCodes() const = 0; + + /** + * @brief Get properties (like geometry) of one symbol. + * @param baseSymbolCode like '25270100' (2 digits symbol set and 6 digits entity), see SymbolProperties::concreteSidcToBaseSymbolCode + * @return SymbolProperties + * @see SymbolProperties + */ + virtual SymbolProperties symbolProperties(const QString &baseSymbolCode) const = 0; + + virtual QSharedPointer symbolPropertyImage(const SymbolProperties &symbolProperties, int sizeL = 100) const = 0; + + //@} + + + + /*! \name Render symbol: findImage, findPreview, findBaseSymbol*/ + //@{ + + /** + * @brief findImage returns a 'concrete' symbol containing mainIcon, frame, echelon, noPosition etc. + * This is also valid for extraSymbols. + * @param symDataToRender data to render + * @return Instance of class SymbolResult (based on the FuturePattern). + * @internal fullImage containing a coreImage and additionalSymbols + */ + virtual QSharedPointer findImage(const SymbolDataToRender &symDataToRender) const = 0; + + /** + * @brief findPreview returns an 'abstract' / 'typical' symbol containing mainIcon and frame but no echelon noPosition etc. + * This is also valid for extraSymbols. + * @param sidc sidc to render + * @param sizeL referenceSize to render + * @return Instance of class SymbolResult (based on the FuturePattern). + */ + virtual QSharedPointer findPreview(const QString &sidc, int sizeL = 100) const = 0; + + /** + * @brief findBaseSymbol returns an 'abstract' / 'typical' symbol containing the and nothing more. + * @param sidc_8or20chars sidc to render + * @return Instance of class SymbolResult (based on the FuturePattern). + */ + virtual QSharedPointer findBaseSymbol(const QString &sidc_8or20chars) const = 0; + //@} + + /*! \name Fetch + * Similar to findImage, except that fetchSymbol returns a different baseSymbolIcon for multiPoint sidcs. + * In most cases you should prefer findImage, findPreview, findBaseSymbol + */ + //@{ + /** + * @brief fetchSymbol for abstract symbols. Use a sidc a input + * Similar to findImage, except that fetchSymbol returns a different baseSymbolIcon for multiPoint sidcs. + * @param sidc to find + * @param sizeL specify the reference size. Named 'L' within the standard. + * @return Instance of class SymbolResult (based on the FuturePattern). + */ + virtual QSharedPointer fetchSymbol(const QString &sidc, int sizeL = 100) const = 0; + + /** + * @brief fetchSymbol for concrete symbols. Use a sidc a input as well a specific color, injury... + * Similar to findImage, except that fetchSymbol returns a different baseSymbolIcon for multiPoint sidcs. + * @param symDataToRender specify the render hints. + * @return Instance of class SymbolResult (based on the FuturePattern). + */ + virtual QSharedPointer fetchSymbol(const SymbolDataToRender &symDataToRender) const = 0; + //@} + + + + /*! \name Handling symbol modifier */ + //@{ + + /** + * @brief Provides a list of all modifier keys + */ + virtual QStringList symbolModifierKeys() const = 0; + + /** + * @brief Get modifier data according to a modifier key + * @param key One modifier key returned from symbolModifierKeys() + * @param modifierData Reference to return symbol set of the modifier + * @return true on success in other case false + */ + virtual bool symbolModifierData(const QString &key, ModifierData &data) const = 0; + + /** + * @brief Provides a list of all modifiers matching to a symbolSet + * @param symbolSet symbol set + * @param modifierSector sector of the modifier, range of values [1,2] + * @see SymbolSet + */ + virtual QList symbolModifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const = 0; + + /** + * @brief Overloads the function symbolModifierList( SymbolSet ... ) to provide a list of all modifiers matching to a symbol. The symbol set is + * determined from baseSymbolCode + * @param baseSymbolCode baseSymbolCode like '25270100' (2 digits symbol set and 6 digits entity), see SymbolProperties::concreteSidcToBaseSymbolCode + * @param modifierSector sector of the modifier, range of values [1,2] + * @see SymbolProperties + */ + virtual QList symbolModifierList(const QString &baseSymbolCode, unsigned int modifierSector) const = 0; + + + + //@} + + +// virtual QValidator *buildSidcPatternValidator(QObject *parent) const = 0; + + + /** + * @brief Test one XML symbol + */ + virtual bool insertXmlTestSymbol(const SymbolProperties &symbolProps) = 0; + virtual bool insertXmlComplexTestSymbol(const SymbolProperties &symbolProps) = 0; + //------------------------------- + + + virtual int count() const = 0; + +// virtual const QStringList &sidcList() const = 0; + + + + + /** + * @brief createSidc in: abtract sidc, out: concrete sidc: + * @param sidc_inOut + * @param identity + * @param state + */ +// virtual void createSidc(QString &sidc_inOut, +// SymbolTypes::t_affil identity, // friend, neutral... (position 2) +// SymbolTypes::t_state state) const = 0; // present, anticipated (position 4) + +// virtual bool contains(const QString &sidc) const = 0; + + +// virtual SymbolProperties symbolProperties(const QString &sidc) = 0; + +// virtual int minNumberOfPoints(const QString &sidc) = 0; + + + virtual QString toString() const = 0; + + +Q_SIGNALS: + /// Signal emits when content changed + void changed(); + void changedDelayed(); // to avoid multiple signals (delayed for ~500ms) + + /// Signal emits when dictionay is loaded + void loaded(); +}; + + +void cleanupSymbolDictionaryInternal(); + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary_types.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary_types.h new file mode 100755 index 000000000..aeba00881 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_dictionary_types.h @@ -0,0 +1,175 @@ +/** + * @RDE_HEADER@ + * Type definition of namespace AdvancedSymbology + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + + +// Own +#include "advanced_symbology_export.h" +#include "symbology_type.h" +#include "sidc_definitions.h" + + +// Qt +#include +#include +#include + +class QValidator; +class QUuid; + +//---------------------------------------------------------------------------- +/** + * Support Advanced Symbology (MIL2525D). + * Some extensions like injury/damage are added to the standard. + * (It is related to SituationMap, but is an independent library.) + */ +namespace AdvancedSymbology +{ + +//---------------------------------------------------------------------------- +enum class Role +{ + Pending, ///< 0 + Unknown, ///< 1 + + AssumedFriend, ///< 2 + Friend, ///< 3 + + Neutral, ///< 4 + + SuspectJoker, ///< 5 + HostileFaker ///< 6 +}; +QString ADVANCED_SYMBOLOGY_EXPORT toString(AdvancedSymbology::Role); + + +/** + * @brief Enumerates possible load status for a resource (like Dictionary). + */ +enum class LoadStatus +{ + Loaded = 0, + Loading = 1, + FailedToLoad = 2, + NotLoaded = 3, + Unknown = -1 +}; + +QString ADVANCED_SYMBOLOGY_EXPORT toString(LoadStatus type); + + +/** + * @brief Define GeometryType + */ +enum class GeometryType +{ + Undefined, + Point, + Polyline, + Polygon +}; + +inline uint qHash(GeometryType t, uint seed) +{ + return ::qHash(static_cast(t), seed); +} + +QString ADVANCED_SYMBOLOGY_EXPORT toString(GeometryType gt); + +/** + * @brief Constructor. + * @param requested geometry type + * @return min number of points for geometry type + * @note point -> 1 ; line -> 2 ; polygone -> 3 + */ +int minNumberOfPoints(GeometryType gt); + + +/** + * @brief The SearchParameters struct is used for the method searchSymbol. + */ +struct SearchParameters +{ + QStringList keys; + bool keysStrictMatch = false; + + QStringList names; + bool namesStrictMatch = false; + + QStringList categories; + bool categoriesStrictMatch = false; + + QStringList symbolClasses; + bool symbolClassesStrictMatch = false; + + QStringList tags; + bool tagsStrictMatch = false; + + bool isEmpty() const; + + int numberOfParameter() const; + +}; + + +/** + * @brief The SymbolImage class + * @note QImage has implicit data sharing :-) + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolImage +{ +public: + bool isValid() const + { + return m_isValid; + } + void setValid(bool valid) + { + m_isValid = valid; + } + + void setImage(const QImage &img) + { + m_image = img; + } + const QImage &image() const + { + return m_image; + } + + void reset() + { + m_isValid = false; + m_image = QImage(); + } + +private: + bool m_isValid = false; + QImage m_image; + // HotSpot can added if required :-) +}; + + +//----------------------------------------------------------------------------- +// output operator: +//----------------------------------------------------------------------------- +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::Role &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::LoadStatus &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::SymbologyType &value); + +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::GeometryType &value); +} // namespace AdvancedSymbology + +#include "symbol_data_to_render.h" + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.cpp new file mode 100755 index 000000000..3b16e8fed --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.cpp @@ -0,0 +1,156 @@ +/** + * @RDE_HEADER@ + * SymbolProperties + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_properties.h" +#include // to get operator<< (std::ostream& stream, const QString& string_ref) + + +// ESRI + + +// Qt +#include + + +namespace AdvancedSymbology +{ + +QString SymbolProperties::key() const +{ + return m_key; +} + +void SymbolProperties::setKey(const QString &key) +{ + m_key = key; +} + +QString SymbolProperties::name() const +{ + return m_name; +} + +void SymbolProperties::setName(const QString &name) +{ + m_name = name; +} + +QString SymbolProperties::category() const +{ + return m_category; +} + +void SymbolProperties::setCategory(const QString &category) +{ + m_category = category; +} + +QString SymbolProperties::symbolClass() const +{ + return m_symbolClass; +} + +void SymbolProperties::setSymbolClass(const QString &symbolClass) +{ + m_symbolClass = symbolClass; +} + +QStringList SymbolProperties::tags() const +{ + return m_tags; +} + +QString SymbolProperties::gctString() const +{ + for (const QString &tag : m_tags) + { + if (tag.startsWith(QLatin1String("gct_"))) + return tag; + } // foreach + return QString(); +} + +void SymbolProperties::setTags(const QStringList &tags) +{ + m_tags = tags; +} + +GeometryType SymbolProperties::geometryType() const +{ + return m_geometryType; +} + +void SymbolProperties::setGeometryType(const GeometryType &geometryType) +{ + m_geometryType = geometryType; +} + + +QString SymbolProperties::sidc() const +{ + return m_sidc; +} + + +void SymbolProperties::setSidc(const QString &sidc) +{ + m_sidc = sidc; +} + + +QString SymbolProperties::originalKey() const +{ + return m_originalKey; +} + +void SymbolProperties::setOriginalKey(const QString &originalKey) +{ + m_originalKey = originalKey; +} + + +QString SymbolProperties::key_SymbolSet() const +{ + if (m_key.count() < 8) + return QString(); + return QStringRef(&m_key, 0, 2).toString(); +} +QString SymbolProperties::key_Entity() const +{ + if (m_key.count() < 8) + return QString(); + return QStringRef(&m_key, 2, 6).toString(); +} + +QString SymbolProperties::key_SymbolSetEntity() const +{ + if (m_key.count() < 8) + return QString(); + + return key_SymbolSet() + key_Entity(); +} + + +QColor SymbolProperties::colorToBeReplaced() const +{ + return m_colorToBeReplaced; +} +void SymbolProperties::setColorToBeReplaced(const QColor &colorToBeReplaced) +{ + m_colorToBeReplaced = colorToBeReplaced; +} + +//----------------------------------------------------------------------------- + + + + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.h new file mode 100755 index 000000000..b9af511ce --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_properties.h @@ -0,0 +1,145 @@ +/** + * @RDE_HEADER@ + * SymbolProperties + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" + + +// Qt +#include + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +/** + * @brief The SymbolProperties class stores some symbol properties like name, keywords etc. + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolProperties +{ +public: + SymbolProperties() = default; + // TODO: sidc: lowerCase vs. upperCase + + + /*! \name Basic functions*/ + //@{ + QString key() const; + void setKey(const QString &key); + + QString name() const; + void setName(const QString &name); + + QString category() const; + void setCategory(const QString &category); + + QString symbolClass() const; + void setSymbolClass(const QString &symbolClass); + + QStringList tags() const; + QString gctString() const; + void setTags(const QStringList &tags); + + GeometryType geometryType() const; + void setGeometryType(const GeometryType &geometryType); + + QString sidc() const; + void setSidc(const QString &sidc); + //@} + + QString originalKey() const; + void setOriginalKey(const QString &originalKey); + + + /*! \name Convenience functions*/ + //@{ + QString key_SymbolSet() const; + QString key_Entity() const; + QString key_SymbolSetEntity() const; + //@} + + /*! \name ColorToBeReplaced + * \note Some symbols (like ETS symbols) may have a certain color. + * This is to be replaced by concrete partyColor */ + //@{ + /** + * @brief colorToBeReplaced + * @return colorToBeReplaced + */ + + QColor colorToBeReplaced() const; + /** + * @brief setColorToBeReplaced + * @param colorToBeReplaced + */ + void setColorToBeReplaced(const QColor &colorToBeReplaced); + //@} + + +// int minNumberOfPoints() const; + + + + + + /** + * @brief operator== Compare two objects + * @param other to be compared with + * @return true if identical, otherwise false. + */ + bool operator==(const SymbolProperties &other) const + { + return ((this->m_key == other.m_key) && + (this->m_name == other.m_name) && + (this->m_category == other.m_category) && + (this->m_symbolClass == other.m_symbolClass) && + (this->m_tags == other.m_tags) && + (this->m_geometryType == other.m_geometryType) && + (this->m_sidc == other.m_sidc) && + (this->m_originalKey == other.m_originalKey) && + (this->m_colorToBeReplaced == other.m_colorToBeReplaced) + ); + } + + /** + * @brief operator!= Compare two objects + * @param other to be compared with + * @return true if NOT identical, otherwise false. + */ + bool operator!=(const SymbolProperties &other) const + { + return !(*this == other); + } + + +private : + QString m_key; + QString m_name; + QString m_category; + QString m_symbolClass; + QStringList m_tags; + GeometryType m_geometryType = GeometryType::Undefined; + + QString m_sidc; + QString m_originalKey; + + QColor m_colorToBeReplaced; // color of ETS symbols to be replaced by concrete partyColor + +}; + +//----------------------------------------------------------------------------- +// output operator: +//----------------------------------------------------------------------------- + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.cpp new file mode 100755 index 000000000..3460f0efb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.cpp @@ -0,0 +1,279 @@ +/** + * @RDE_HEADER@ + * Class SymbolResult + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_result.h" + + +// Qt +#include +#include +#include +#include + + +namespace AdvancedSymbology +{ + +class SymbolResult::Private +{ +public: + Private() = default; + ~Private() = default; + + // Input data: + SymbolDataToRender m_symDataToRender; + + // process data: + QUuid m_taskIdFindSymbol; // of esriDict::findSymbol + + QFutureWatcher m_futureWatcher; + bool m_isReady = false; + + // Result data: + GeometryType m_geometryType = GeometryType::Undefined; + SymbolImage m_symbolImage; + + // For debugging: + static unsigned long m_counter; +}; + +unsigned long SymbolResult::Private::m_counter = 0; + + +SymbolResult::SymbolResult() + : QObject() + , d(new Private) + , m_logger(getLogger("SymbolResult")) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter; + ++Private::m_counter; + connect(&d->m_futureWatcher, &QFutureWatcherBase::finished, this, &SymbolResult::onFinished); + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << d->m_counter; +} + +SymbolResult::~SymbolResult() +{ + LOGGER_T m_logger = getLogger("SymbolResult"); + TRACE_LOG(m_logger) << LOGFUNCTION << " START, m_counter=" << d->m_counter; + --Private::m_counter; + + d->m_futureWatcher.disconnect(this); + d->m_futureWatcher.cancel(); + d->m_futureWatcher.waitForFinished(); + + delete d; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_counter=" << Private::m_counter; +} + +void SymbolResult::onFinished() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + const QImage &image = d->m_futureWatcher.future().result(); + + d->m_symbolImage.setImage(image); + d->m_symbolImage.setValid(true); + + fireResultReady(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void SymbolResult::fireResultReady() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + d->m_isReady = true; // Future can`t manually be set to 'ready' :-( + emit resultReadyInternal(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + + +void SymbolResult::setSymbolDataToRender(const SymbolDataToRender &symDataToRender) +{ + d->m_symDataToRender = symDataToRender; +} +const SymbolDataToRender &SymbolResult::symbolDataToRender() const +{ + return d->m_symDataToRender; +} + +void SymbolResult::setTaskId(const QUuid &uuid) +{ + d->m_taskIdFindSymbol = uuid; +} + +const QUuid &SymbolResult::taskId() const +{ + return d->m_taskIdFindSymbol; +} + +void SymbolResult::setFuture(const QFuture &future) +{ + d->m_isReady = false; + d->m_futureWatcher.setFuture(future); +} + +void SymbolResult::setGeometryType(GeometryType geometryType) +{ + d->m_geometryType = geometryType; +} +GeometryType SymbolResult::geometryType() const +{ + return d->m_geometryType; +} + +void SymbolResult::setSymbolImage(const SymbolImage &symbolImage) +{ + d->m_symbolImage = symbolImage; +} +SymbolImage SymbolResult::symbolImage() const +{ + return d->m_symbolImage; +} + +bool SymbolResult::isResultReady() const +{ + // Do not or 'd->m_futureWatcher.future().isResultReadyAt(0)' will lead to timing problems + // When d->m_futureWatcher.future() is ready, the according slot will set d->m_isReady. + return d->m_isReady; +} + + +//------------------------------------------------------------------------------ +// SymbolResultWatcher +//------------------------------------------------------------------------------ + +SymbolResultWatcher::SymbolResultWatcher(QObject *parent) + : BaseClass(parent) + , m_logger(getLogger("SymbolResultWatcher")) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +QSharedPointer SymbolResultWatcher::symbolResult() const +{ + return BaseClass::result(); +} + +void SymbolResultWatcher::setSymbolResult(const QSharedPointer &symbolResult) +{ + BaseClass::setResult(symbolResult); +} + + +//------------------------------------------------------------------------------ +// SymbolResultWatcherComboxBox +//------------------------------------------------------------------------------ + +SymbolResultWatcherComboxBox::SymbolResultWatcherComboxBox(QComboBox *comboBox, int role) + : QObject(comboBox), + m_comboBox(comboBox), + m_role(role) +{ + connect(&m_watcher, &AdvancedSymbology::SymbolResultWatcher::resultReady, + this, &SymbolResultWatcherComboxBox::onResultReady); +} + +void SymbolResultWatcherComboxBox::setSymbolResult(const QSharedPointer &symbolResult) +{ + m_watcher.setSymbolResult(symbolResult); +} + +void SymbolResultWatcherComboxBox::onResultReady() +{ + QSharedPointer symResult = m_watcher.symbolResult(); + if (! symResult) + return; // should NEVER happen! (Which object should have triggered the signal???) + + int idx = m_comboBox->findData(QVariant::fromValue(this), m_role); + const QImage &img = symResult->symbolImage().image(); + + m_comboBox->setItemIcon(idx, QPixmap::fromImage(img)); + + if (m_enableToolTip && !img.isNull()) + { + QString tooltip(QStringLiteral("")); + // without a temporary file: + QByteArray baData; + QBuffer buffer(&baData); + img.save(&buffer, "PNG", 100); + tooltip.append(QStringLiteral("
").arg(QString::fromLatin1(baData.toBase64()))); // how can i center the image? + tooltip.append(QStringLiteral("")); + m_comboBox->setItemData(idx, tooltip, Qt::ToolTipRole); + } +} + + + +//------------------------------------------------------------------------------ +// for convenience (QWidget) +//------------------------------------------------------------------------------ + +SymbolResultWatcherQWidgetBase::SymbolResultWatcherQWidgetBase(QObject *widget) + : BaseClass(widget) +{ + connect(&m_watcher, &AdvancedSymbology::SymbolResultWatcher::resultReady, + this, &SymbolResultWatcherQWidgetBase::onResultReady); +} + +void SymbolResultWatcherQWidgetBase::setSymbolResult(const QSharedPointer &symbolResult) +{ + m_watcher.setSymbolResult(symbolResult); +} + +QSharedPointer SymbolResultWatcherQWidgetBase::symbolResult() const +{ + return m_watcher.symbolResult(); +} + +void SymbolResultWatcherQWidgetBase::onResultReady() +{ + this->onResultReadyImpl(); + emit resultReady(); +} + + +//------------------------------------------------------------------------------ +// SymbolResultWatcherLabel +//------------------------------------------------------------------------------ + +SymbolResultWatcherLabel::SymbolResultWatcherLabel(QLabel *label, const QSize &size) + : QObject(label) + , m_size(size) + , m_label(label) +{ + connect(&m_watcher, &AdvancedSymbology::SymbolResultWatcher::resultReady, + this, &SymbolResultWatcherLabel::onResultReady); +} + +void SymbolResultWatcherLabel::setSymbolResult(const QSharedPointer &symbolResult) +{ + m_watcher.setSymbolResult(symbolResult); +} + +void SymbolResultWatcherLabel::onResultReady() +{ + QSharedPointer symResult = m_watcher.symbolResult(); + if (!symResult) + return; // should NEVER happen! (Which object should have triggered the signal???) + const SymbolImage &symImage = symResult->symbolImage(); + const auto dpr = m_label->devicePixelRatioF(); + QImage image = symImage.image().scaled(m_size * dpr, Qt::KeepAspectRatio, Qt::SmoothTransformation); + image.setDevicePixelRatio(dpr); + m_label->setPixmap(QPixmap::fromImage(std::move(image))); +} + + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.h new file mode 100755 index 000000000..960716c8a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbol_result.h @@ -0,0 +1,343 @@ +/** + * @RDE_HEADER@ + * Class SymbolResult + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" +#include "symbol_dictionary_types.h" +#include +#include "result_watcher.h" + + +// Qt +#include +#include +#include +#include +#include +#include +#include + + +// forward +class QUuid; +class QComboBox; + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +/** + * @brief The SymbolResult class mainly contains a GeometryType and a SymbolImage. + * It´s based on the future pattern. So the real result can only be retrieved if + * the asynchron operation has finished (and the result is ready). + * To standardize this you should use a propper watcher: SymbolResultWatcher. + * + * \sa \ref secResultWatcherExample + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolResult : public QObject +{ + Q_OBJECT + + /*! \name Construction, Destruction */ + //@{ +public: + /** + * @brief Constructor / Destructor. + */ + explicit SymbolResult(); + virtual ~SymbolResult(); + //@} + + + /*! \name Data regarding requested */ + //@{ + + /** + * @brief symbolDataToRender What was requested? + * @return Requested data + */ + const SymbolDataToRender &symbolDataToRender() const; + //@} + + /*! \name Data regarding processing*/ + //@{ + /** + * @brief taskId internal taskId + * @return internal taskId + */ + const QUuid &taskId() const; + + /*! \name Data regarding result*/ + //@{ + /** + * @brief Get geometryType of request + * @return Geometry type + */ + GeometryType geometryType() const; + + /** + * @brief Get symbol image + * @return symbol image + */ + SymbolImage symbolImage() const; + //@} + + + bool isResultReady() const; + +Q_SIGNALS: + /// This signal is for internal usage only. Use SymbolResultWatcher! + void resultReadyInternal(); + +protected: + friend class SymbolDictionaryImpl; + friend class EsriDictionaryProcessor; + friend class BaseSymbolModel; + void fireResultReady(); + + friend class ResultWatcher; + friend class SymbolResultWatcher; + + void setSymbolDataToRender(const SymbolDataToRender &symDataToRender); + void setTaskId(const QUuid &uuid); + void setFuture(const QFuture &future); + void setGeometryType(GeometryType geometryType); + void setSymbolImage(const SymbolImage &symbolImage); + +protected Q_SLOTS: + void onFinished(); + +private: + class Private; + /** + * The private d->pointer to not break BC when changing internals of this class + */ + Private *d = nullptr; + + LOGGER_T m_logger; ///< Interface of the Logging-Facility +}; + + +//------------------------------------------------------------------------------ + +/** + * @brief The SymbolResultWatcher class can watch one SymbolResult using setSymbolResult. + * If the background operation has finished, the signal resultReady is emitted exactly one time. + * + * \sa \ref secResultWatcherExample + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolResultWatcher : public ResultWatcher +{ + Q_OBJECT + + using BaseClass = ResultWatcher; + +public: + explicit SymbolResultWatcher(QObject *parent = nullptr); + ~SymbolResultWatcher() = default; + + QSharedPointer symbolResult() const; + void setSymbolResult(const QSharedPointer &symbolResult); + + QElapsedTimer *m_et { nullptr }; + +protected: + LOGGER_T m_logger; ///< Interface of the Logging-Facility +}; + + +//------------------------------------------------------------------------------ +// for convenience (ComboxBox) +//------------------------------------------------------------------------------ +/** + * @brief The SymbolResultWatcherComboxBox class can be used to combine a comboBox + * and an infinite number of item containing an icon. + * + * Here is an example: + * + * \code + * AdvancedSymbology::SymbolResultWatcherComboxBox *srwCb; + foreach(auto sidc, sidcs) + { + // SymbolResultWatcherComboxBox is stored as userData at every item. + // The lifetime is limited to the lifetime of the comboBox since it`s the parent. + + d->m_cbRubSidc->addItem(sidc, QVariant::fromValue(srwCb = new AdvancedSymbology::SymbolResultWatcherComboxBox(d->m_cbRubSidc)) ); + srwCb->setSymbolResult(dict.fetchSymbol(sidc)); + } + * \endcode + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolResultWatcherComboxBox : public QObject +{ + Q_OBJECT + +public: + explicit SymbolResultWatcherComboxBox(QComboBox *comboBox, int role = Qt::UserRole); + + void setSymbolResult(const QSharedPointer &symbolResult); + + /** + * @brief enableToolTip of each entry + * @param on + */ + void enableToolTip(bool on = true) { m_enableToolTip = on; } + bool isToolTipEnabled() { return m_enableToolTip; } + + +private slots: + void onResultReady(); + +private: + QComboBox *m_comboBox{nullptr}; + AdvancedSymbology::SymbolResultWatcher m_watcher; + int m_role{Qt::UserRole}; + bool m_enableToolTip{true}; +}; + + +//------------------------------------------------------------------------------ +// for convenience (QWidget) +//------------------------------------------------------------------------------ +/** + * @brief The SymbolResultWatcherQWidgetBase class can be used with a QWidget, + * most of the time a LtsWidgets::LtsDragIcon. + * Required is a method 'setIcon(const QPixmap &pixmap)' + * + * Here is an example: + * + * \code + LtsWidgets::LtsDragIcon *dummyIcon = new LtsWidgets::LtsDragIcon(this); + + AdvancedSymbology::SymbolResultWatcherQWidgetBase *dummyIconSibling = + new AdvancedSymbology::SymbolResultWatcherQWidget(dummyIcon); + + AdvancedSymbology::SymbolDictionary &dict = d->m_mapImpl->symbolDictionary(); + dummyIconSibling->setSymbolResult(dict.fetchSymbol(SidcCodec::encodeComplete(SymbologyType::MIL2525D,"10042500001401040000"))); + * \endcode + * This sibling define the lifetime. + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolResultWatcherQWidgetBase : public QObject +{ + Q_OBJECT + using BaseClass = QObject; + +public: + explicit SymbolResultWatcherQWidgetBase(QObject *widget); + + void setSymbolResult(const QSharedPointer &symbolResult); + QSharedPointer symbolResult() const; + +private slots: + void onResultReady(); + +signals: + void resultReady(); + +protected: + virtual void onResultReadyImpl() = 0; + AdvancedSymbology::SymbolResultWatcher m_watcher; +}; + +template +class SymbolResultWatcherQWidget : public SymbolResultWatcherQWidgetBase +{ + using BaseClass = SymbolResultWatcherQWidgetBase; +public: + explicit SymbolResultWatcherQWidget(PARENT_TYPE *parentWidget, const QSize &size = QSize()) + : BaseClass(parentWidget) + , m_size(size) + , m_parentWidget(parentWidget) + {} + +private: + void onResultReadyImpl() override + { + if (!m_parentWidget) + return; + + QSharedPointer symResult = m_watcher.symbolResult(); + if (!symResult) + return; // should NEVER happen! (Which object should have triggered the signal???) + + const SymbolImage &symImage = symResult->symbolImage(); + const auto dpr = m_parentWidget->devicePixelRatioF(); + QImage imgCopy; + if (m_size.isValid()) + imgCopy = symImage.image().scaled(m_size * dpr, Qt::KeepAspectRatio, Qt::SmoothTransformation); + else + imgCopy = symImage.image(); + imgCopy.setDevicePixelRatio(dpr); + + m_parentWidget->setIcon(QPixmap::fromImage(std::move(imgCopy))); + + { + QString tooltip; + + QByteArray data; + QBuffer buffer(&data); + // XML-Symbol with scale = 4 will produce huge images. Limit the size: + symImage.image().scaled(QSize(300, 300), Qt::KeepAspectRatio, Qt::SmoothTransformation).save(&buffer, "PNG", 100); + + tooltip = QStringLiteral(""); + + tooltip += QStringLiteral("
"); + tooltip += QStringLiteral("").arg(QString::fromLatin1(data.toBase64())); + tooltip += QStringLiteral("
"); + + tooltip += QStringLiteral("
"); + tooltip += symResult->symbolDataToRender().sidc; + tooltip += QStringLiteral("
"); + + tooltip += QStringLiteral("
"); + tooltip += QStringLiteral(""); + m_parentWidget->setToolTip(tooltip); + } + } + + QSize m_size; + PARENT_TYPE *m_parentWidget; +}; + +//------------------------------------------------------------------------------ +// for convenience (QLabel) +//------------------------------------------------------------------------------ +/** + * @brief The SymbolResultWatcherLabel class can be used to combine a QLabel + * Here is an example: + * + * \code + * QLabel *label = new QLabel(this); + * AdvancedSymbology::SymbolResultWatcherLabel *symbolLabelWatcher(label); + * + * + * + * \endcode + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolResultWatcherLabel : public QObject +{ + Q_OBJECT + +public: + explicit SymbolResultWatcherLabel(QLabel *label, const QSize &size = QSize(45, 45)); + + void setSymbolResult(const QSharedPointer &symbolResult); + +private slots: + void onResultReady(); + +private: + QSize m_size; + QLabel *m_label{nullptr}; + AdvancedSymbology::SymbolResultWatcher m_watcher; +}; + + +} // namespace AdvancedSymbology + +Q_DECLARE_METATYPE_TEMPLATE_1ARG(AdvancedSymbology::ResultWatcher) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbology_type.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbology_type.h new file mode 100755 index 000000000..2c41c36c6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/Symbology/symbology_type.h @@ -0,0 +1,50 @@ +/** + * @RDE_HEADER@ + * Declaration of symbology_type + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_export.h" + + +// Qt +#include +#include + + +namespace AdvancedSymbology +{ +/*! + * \addtogroup AdvancedSymbology + * Handle the symbology based on MIL2525 and APP6 standard + */ +enum class SymbologyType +{ + None, + APP6B = 10, + APP6D = 12, + MIL2525C = 20, + MIL2525D, +}; + +QString ADVANCED_SYMBOLOGY_EXPORT toString(SymbologyType type); +bool ADVANCED_SYMBOLOGY_EXPORT fromString(SymbologyType &symbologyType, const QString &str); + + + + +//----------------------------------------------------------------------------- +// output operator: +//----------------------------------------------------------------------------- +ADVANCED_SYMBOLOGY_EXPORT std::ostream &operator<< (std::ostream &stream, + const AdvancedSymbology::SymbologyType &value); + +} // namespace AdvancedSymbology + + +Q_DECLARE_METATYPE(AdvancedSymbology::SymbologyType) + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/1_TaktischeFormation/FueGrAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/1_TaktischeFormation/FueGrAllg.gif new file mode 100755 index 000000000..9e1f5b949 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/1_TaktischeFormation/FueGrAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStAllg.gif new file mode 100755 index 000000000..3dbf79090 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEAL.gif new file mode 100755 index 000000000..51605c608 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEL.gif new file mode 100755 index 000000000..404e49b20 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStOEEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStOEEL.gif new file mode 100755 index 000000000..56b376b65 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStOEEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStTEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStTEL.gif new file mode 100755 index 000000000..9a48d0a57 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStTEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStUEAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStUEAL.gif new file mode 100755 index 000000000..ef3867332 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/FueStUEAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleAllg.gif new file mode 100755 index 000000000..3a746a456 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRFueSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRFueSt.gif new file mode 100755 index 000000000..ec5a1eddd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRFueSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRMeld.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRMeld.gif new file mode 100755 index 000000000..d42c8ce60 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRMeld.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRaum.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRaum.gif new file mode 100755 index 000000000..9e4e9987a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRaum.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleHuLa.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleHuLa.gif new file mode 100755 index 000000000..b285422b6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleHuLa.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLeitSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLeitSt.gif new file mode 100755 index 000000000..b82109c51 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLeitSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLog.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLog.gif new file mode 100755 index 000000000..842ddc587 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLog.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLotse.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLotse.gif new file mode 100755 index 000000000..4f0f5f571 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLotse.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleMeldKo.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleMeldKo.gif new file mode 100755 index 000000000..27f4bdfb2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StelleMeldKo.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StellePuMA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StellePuMA.gif new file mode 100755 index 000000000..cebe06ab9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/2_StelleEinrichtung/StellePuMA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/Pers.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/Pers.gif new file mode 100755 index 000000000..1865cb7ab Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/Pers.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFaBeAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFaBeAllg.gif new file mode 100755 index 000000000..b08b95d27 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFaBeAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFueAllg.gif new file mode 100755 index 000000000..8666fad6d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersGerett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersGerett.gif new file mode 100755 index 000000000..dca35cdeb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersGerett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTot.gif new file mode 100755 index 000000000..a4e8cb770 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTotVersch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTotVersch.gif new file mode 100755 index 000000000..82c055cff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTotVersch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTransp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTransp.gif new file mode 100755 index 000000000..c1612d039 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersTransp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerl.gif new file mode 100755 index 000000000..f9bcde544 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerlVersch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerlVersch.gif new file mode 100755 index 000000000..6a22fd9d6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerlVersch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm.gif new file mode 100755 index 000000000..5212ff4c8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm2.gif new file mode 100755 index 000000000..0e96e2fc8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVerm2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVersch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVersch.gif new file mode 100755 index 000000000..16f84742d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersVersch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersZuTransp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersZuTransp.gif new file mode 100755 index 000000000..904d0a379 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/3_Person/PersZuTransp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnBeleu.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnBeleu.gif new file mode 100755 index 000000000..d11f0d6ba Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnBeleu.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDeichvert.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDeichvert.gif new file mode 100755 index 000000000..a20e8fd9b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDeichvert.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDekon.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDekon.gif new file mode 100755 index 000000000..b5c2c3e09 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnDekon.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnElVers.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnElVers.gif new file mode 100755 index 000000000..d39f178c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnElVers.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnErkund.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnErkund.gif new file mode 100755 index 000000000..68a825984 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnErkund.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnFahrWass.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnFahrWass.gif new file mode 100755 index 000000000..1c3ddf682 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnFahrWass.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnLotsen.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnLotsen.gif new file mode 100755 index 000000000..1c870babd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnLotsen.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnOrten.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnOrten.gif new file mode 100755 index 000000000..fc380b772 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnOrten.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnPumpen.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnPumpen.gif new file mode 100755 index 000000000..2b1373524 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnPumpen.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnRaeumen.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnRaeumen.gif new file mode 100755 index 000000000..733c43ace Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnRaeumen.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSFuellen.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSFuellen.gif new file mode 100755 index 000000000..a609f9f36 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSFuellen.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSVerbau.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSVerbau.gif new file mode 100755 index 000000000..fba2bfe59 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSSVerbau.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSprengen.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSprengen.gif new file mode 100755 index 000000000..a80bc6328 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnSprengen.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnTransp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnTransp.gif new file mode 100755 index 000000000..cf63a26a5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnTransp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnWassRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnWassRett.gif new file mode 100755 index 000000000..2892aac55 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/A_Massnahme/MassnWassRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Blockiert.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Blockiert.gif new file mode 100755 index 000000000..24dda920f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Blockiert.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BlockiertTeil.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BlockiertTeil.gif new file mode 100755 index 000000000..75b3d2ef9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BlockiertTeil.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandEntst.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandEntst.gif new file mode 100755 index 000000000..07ccb2823 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandEntst.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandFortg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandFortg.gif new file mode 100755 index 000000000..30d58229f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandFortg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandVoll.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandVoll.gif new file mode 100755 index 000000000..a2acf3cd2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/BrandVoll.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAllg.gif new file mode 100755 index 000000000..fb774123a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAtomar.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAtomar.gif new file mode 100755 index 000000000..4bdd9b013 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefAtomar.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBio.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBio.gif new file mode 100755 index 000000000..91b0019ed Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBio.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBrand.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBrand.gif new file mode 100755 index 000000000..41823054b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefBrand.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefChem.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefChem.gif new file mode 100755 index 000000000..9c5d45394 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefChem.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefElektrizitaet.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefElektrizitaet.gif new file mode 100755 index 000000000..25be4d291 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefElektrizitaet.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefEx.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefEx.gif new file mode 100755 index 000000000..8101cfacb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefEx.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefGS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefGS.gif new file mode 100755 index 000000000..b47e25cc8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/GefGS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Zerstoert.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Zerstoert.gif new file mode 100755 index 000000000..469d7dabe Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/Zerstoert.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertAngschl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertAngschl.gif new file mode 100755 index 000000000..a8e343ef9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertAngschl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertTeil.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertTeil.gif new file mode 100755 index 000000000..d177d60a1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertTeil.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa1.gif new file mode 100755 index 000000000..af6759f2b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa10.gif new file mode 100755 index 000000000..f5efb1e09 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa2.gif new file mode 100755 index 000000000..1c9b2b45a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa3.gif new file mode 100755 index 000000000..502870ea2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa4.gif new file mode 100755 index 000000000..ef347799f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa5.gif new file mode 100755 index 000000000..dd642d90e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa6.gif new file mode 100755 index 000000000..4d1346ed7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa7.gif new file mode 100755 index 000000000..4302bf4e2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa8.gif new file mode 100755 index 000000000..93936d4e9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa9.gif new file mode 100755 index 000000000..ff112e6ab Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG1.gif new file mode 100755 index 000000000..40fe89085 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG10.gif new file mode 100755 index 000000000..757826332 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG2.gif new file mode 100755 index 000000000..f0dbc141b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG3.gif new file mode 100755 index 000000000..131b68c7f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG4.gif new file mode 100755 index 000000000..ce6a450f0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG5.gif new file mode 100755 index 000000000..a6ec0cff4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG6.gif new file mode 100755 index 000000000..232b4f004 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG7.gif new file mode 100755 index 000000000..8d30e1a42 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG8.gif new file mode 100755 index 000000000..5180b6d33 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG9.gif new file mode 100755 index 000000000..a4bb430b6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaGRLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaGRLeer.gif new file mode 100755 index 000000000..0d62d84f6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaGRLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaLeer.gif new file mode 100755 index 000000000..dcc3d3073 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR1.gif new file mode 100755 index 000000000..19afa78c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR10.gif new file mode 100755 index 000000000..175578ed1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR2.gif new file mode 100755 index 000000000..be10d3679 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR3.gif new file mode 100755 index 000000000..1a492cc22 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR4.gif new file mode 100755 index 000000000..7cbcf7b57 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR5.gif new file mode 100755 index 000000000..715c6c545 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR6.gif new file mode 100755 index 000000000..85d062522 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR7.gif new file mode 100755 index 000000000..a8051145c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR8.gif new file mode 100755 index 000000000..b1da78902 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR9.gif new file mode 100755 index 000000000..c6ce932f8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaRLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaRLeer.gif new file mode 100755 index 000000000..ac97a5070 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaRLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW1.gif new file mode 100755 index 000000000..131242484 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW10.gif new file mode 100755 index 000000000..af87402f9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW2.gif new file mode 100755 index 000000000..0934b2e74 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW3.gif new file mode 100755 index 000000000..5babdf5c7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW4.gif new file mode 100755 index 000000000..2c94f6b27 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW5.gif new file mode 100755 index 000000000..9730644a2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW6.gif new file mode 100755 index 000000000..579c174fa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW7.gif new file mode 100755 index 000000000..d0088dfc9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW8.gif new file mode 100755 index 000000000..f7cb7b92f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW9.gif new file mode 100755 index 000000000..df925ba20 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaWLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaWLeer.gif new file mode 100755 index 000000000..273e81bf5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaWLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo1.gif new file mode 100755 index 000000000..3f01b704e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo10.gif new file mode 100755 index 000000000..ce2039c99 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo2.gif new file mode 100755 index 000000000..c98fcedd3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo3.gif new file mode 100755 index 000000000..33c090909 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo4.gif new file mode 100755 index 000000000..b6374c16e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo5.gif new file mode 100755 index 000000000..ce5035144 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo6.gif new file mode 100755 index 000000000..a94c57deb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo7.gif new file mode 100755 index 000000000..ab8fea3bc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo8.gif new file mode 100755 index 000000000..85027b869 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo9.gif new file mode 100755 index 000000000..20aae844a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG1.gif new file mode 100755 index 000000000..48c291950 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG10.gif new file mode 100755 index 000000000..73766575e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG2.gif new file mode 100755 index 000000000..872d1da1a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG3.gif new file mode 100755 index 000000000..d3729e380 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG4.gif new file mode 100755 index 000000000..8de5d1a6f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG5.gif new file mode 100755 index 000000000..665ff9548 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG6.gif new file mode 100755 index 000000000..b39a85bcf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG7.gif new file mode 100755 index 000000000..b729e7235 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG8.gif new file mode 100755 index 000000000..79f54c1bd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG9.gif new file mode 100755 index 000000000..3abb83550 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoGLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoGLeer.gif new file mode 100755 index 000000000..cc531f014 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoGLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoLeer.gif new file mode 100755 index 000000000..5014415f5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR1.gif new file mode 100755 index 000000000..03c0e65d8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR10.gif new file mode 100755 index 000000000..00407fa19 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR2.gif new file mode 100755 index 000000000..d0c0ffcaf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR3.gif new file mode 100755 index 000000000..88659e898 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR4.gif new file mode 100755 index 000000000..3b2d619bd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR5.gif new file mode 100755 index 000000000..ab999a3aa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR6.gif new file mode 100755 index 000000000..90946d32b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR7.gif new file mode 100755 index 000000000..58a8476bf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR8.gif new file mode 100755 index 000000000..30c8b6ecf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR9.gif new file mode 100755 index 000000000..b38d954cc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoRLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoRLeer.gif new file mode 100755 index 000000000..229018c00 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoRLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW1.gif new file mode 100755 index 000000000..07990853e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW10.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW10.gif new file mode 100755 index 000000000..14f43bcec Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW10.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW2.gif new file mode 100755 index 000000000..939d5091a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW3.gif new file mode 100755 index 000000000..6e205e06f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW4.gif new file mode 100755 index 000000000..67b1bf9a5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW5.gif new file mode 100755 index 000000000..9dd81de82 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW6.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW6.gif new file mode 100755 index 000000000..67aa2f831 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW6.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW7.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW7.gif new file mode 100755 index 000000000..64ff6975a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW7.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW8.gif new file mode 100755 index 000000000..e010c76ab Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW9.gif new file mode 100755 index 000000000..488d6bc9c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoWLeer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoWLeer.gif new file mode 100755 index 000000000..5dc9bb2fc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoWLeer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/1Verbindung.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/1Verbindung.png new file mode 100755 index 000000000..65a15128c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/1Verbindung.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Abholpunkt.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Abholpunkt.png new file mode 100755 index 000000000..99650b4c7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Abholpunkt.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Bilduebertr.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Bilduebertr.png new file mode 100755 index 000000000..d8dceb7f7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Bilduebertr.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Datenuebertr.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Datenuebertr.png new file mode 100755 index 000000000..a4a8a350f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Datenuebertr.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Endgeraet.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Endgeraet.png new file mode 100755 index 000000000..5e78b8f46 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Endgeraet.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/FestBilduebertr.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/FestBilduebertr.png new file mode 100755 index 000000000..75a4ca707 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/FestBilduebertr.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Kabelbau.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Kabelbau.png new file mode 100755 index 000000000..4cf332a1e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Kabelbau.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Netzuebergang.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Netzuebergang.png new file mode 100755 index 000000000..5c1497356 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Netzuebergang.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Relais.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Relais.png new file mode 100755 index 000000000..67e353bce Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Relais.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Richtbetrieb.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Richtbetrieb.png new file mode 100755 index 000000000..00d1669be Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/Richtbetrieb.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOB.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOB.png new file mode 100755 index 000000000..72b1074ea Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOB.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGe.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGe.png new file mode 100755 index 000000000..139038fd3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGe.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGr.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGr.png new file mode 100755 index 000000000..de1223c6f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOGr.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOR.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOR.png new file mode 100755 index 000000000..941e35619 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOR.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOS.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOS.png new file mode 100755 index 000000000..0869d0a30 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungOS.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUB.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUB.png new file mode 100755 index 000000000..d930896d1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUB.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGe.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGe.png new file mode 100755 index 000000000..20783e4b1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGe.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGr.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGr.png new file mode 100755 index 000000000..616b1e64d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUGr.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUR.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUR.png new file mode 100755 index 000000000..04dd3564d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUR.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUS.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUS.png new file mode 100755 index 000000000..76e03283a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/RichtungUS.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/TLinie.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/TLinie.png new file mode 100755 index 000000000..46db8825d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/TLinie.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/kommtest.fsp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/kommtest.fsp new file mode 100755 index 000000000..43c0c974c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/kommtest.fsp differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/ueberFunk.png b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/ueberFunk.png new file mode 100755 index 000000000..90cc8c7bd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Allgemein/D_Kommunikation/ueberFunk.png differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkGruppe.gif new file mode 100755 index 000000000..6a6197c0a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkTrupp.gif new file mode 100755 index 000000000..3f161fce2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkZug.gif new file mode 100755 index 000000000..c42872eb0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCGruppe.gif new file mode 100755 index 000000000..7755968cc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCStaffel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCStaffel.gif new file mode 100755 index 000000000..3c6f01632 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCStaffel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCTrupp.gif new file mode 100755 index 000000000..36340c231 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCZug.gif new file mode 100755 index 000000000..d89f236b5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppe.gif new file mode 100755 index 000000000..6af123a45 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppeWasser.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppeWasser.gif new file mode 100755 index 000000000..a81729063 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppeWasser.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTrupp.gif new file mode 100755 index 000000000..2e645a0e3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTruppWasser.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTruppWasser.gif new file mode 100755 index 000000000..2a61a8dda Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTruppWasser.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonZug.gif new file mode 100755 index 000000000..32be9a256 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppe.gif new file mode 100755 index 000000000..c7ce23c26 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppeBer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppeBer.gif new file mode 100755 index 000000000..3126fed20 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppeBer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettGruppe.gif new file mode 100755 index 000000000..885a8c132 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettTrupp.gif new file mode 100755 index 000000000..e0d5278ab Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKFernsprTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKFernsprTrupp.gif new file mode 100755 index 000000000..4e6fb0c4b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKFernsprTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKGruppe.gif new file mode 100755 index 000000000..07f06dac7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKSprechfuTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKSprechfuTrupp.gif new file mode 100755 index 000000000..af262a941 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKSprechfuTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKStaffel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKStaffel.gif new file mode 100755 index 000000000..33bf6ed83 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKStaffel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKTrupp.gif new file mode 100755 index 000000000..d4196edfe Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKZug.gif new file mode 100755 index 000000000..985c171c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LZWaVers.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LZWaVers.gif new file mode 100755 index 000000000..0e124f4d1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LZWaVers.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschgruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschgruppe.gif new file mode 100755 index 000000000..fe192e4e8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschgruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LoeschgruppeW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LoeschgruppeW.gif new file mode 100755 index 000000000..394f772af Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_LoeschgruppeW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschstaffel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschstaffel.gif new file mode 100755 index 000000000..52acf2138 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschstaffel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschtrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschtrupp.gif new file mode 100755 index 000000000..2638caa67 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschtrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschzug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschzug.gif new file mode 100755 index 000000000..44a651ecc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschzug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_THZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_THZug.gif new file mode 100755 index 000000000..6c06ec97a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_THZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfGruppe.gif new file mode 100755 index 000000000..b5ca2d0c8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfTrupp.gif new file mode 100755 index 000000000..a3c3b762a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_UGOEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_UGOEL.gif new file mode 100755 index 000000000..3053dda9d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_UGOEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretGruppe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretGruppe.gif new file mode 100755 index 000000000..fa4972866 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretGruppe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretTrupp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretTrupp.gif new file mode 100755 index 000000000..6ed7534d3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretTrupp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/2_StelleEinrichtung/Stelle_FW_Leiststelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/2_StelleEinrichtung/Stelle_FW_Leiststelle.gif new file mode 100755 index 000000000..bdc295f4f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/2_StelleEinrichtung/Stelle_FW_Leiststelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_AGT.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_AGT.gif new file mode 100755 index 000000000..b2d5db338 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_AGT.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BAL.gif new file mode 100755 index 000000000..b7019553d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BerFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BerFue.gif new file mode 100755 index 000000000..e85934e45 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_BerFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GBM.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GBM.gif new file mode 100755 index 000000000..a6d362a49 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GBM.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFue.gif new file mode 100755 index 000000000..a760ab424 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFueAllg.gif new file mode 100755 index 000000000..a131c2e42 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_GruFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBI.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBI.gif new file mode 100755 index 000000000..555f53b15 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBI.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBM.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBM.gif new file mode 100755 index 000000000..0dbadb40d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBM.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBR.gif new file mode 100755 index 000000000..432c4a38a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_KBR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Masch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Masch.gif new file mode 100755 index 000000000..2c393fb50 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Masch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Melder.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Melder.gif new file mode 100755 index 000000000..0eed2a0ff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_Melder.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBI.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBI.gif new file mode 100755 index 000000000..0fb2a6790 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBI.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBM.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBM.gif new file mode 100755 index 000000000..462b7fdb0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_SBM.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueAllg.gif new file mode 100755 index 000000000..9880c439d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueW.gif new file mode 100755 index 000000000..24330509c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_StaffelfueW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TrMann.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TrMann.gif new file mode 100755 index 000000000..f485f5320 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TrMann.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFue.gif new file mode 100755 index 000000000..1754b18e9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFueAllg.gif new file mode 100755 index 000000000..6316d027c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueA.gif new file mode 100755 index 000000000..ce5a3955d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueG.gif new file mode 100755 index 000000000..2d3fbd478 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueR.gif new file mode 100755 index 000000000..995117de7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueS.gif new file mode 100755 index 000000000..abca48ee4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueW.gif new file mode 100755 index 000000000..e65c9d5f6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppfueW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannA.gif new file mode 100755 index 000000000..badcb4d96 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannG.gif new file mode 100755 index 000000000..1afa86094 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannR.gif new file mode 100755 index 000000000..f0e1255d6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannS.gif new file mode 100755 index 000000000..ece5630f5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannW.gif new file mode 100755 index 000000000..7dbc235ba Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_TruppmannW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFue.gif new file mode 100755 index 000000000..26bbdca9c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFueAllg.gif new file mode 100755 index 000000000..6071e20c3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/3_Person/Pers_FW_ZuFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/4_Gebaeude/FW_Gebaude.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/4_Gebaeude/FW_Gebaude.gif new file mode 100755 index 000000000..aadb88179 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/4_Gebaeude/FW_Gebaude.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh.gif new file mode 100755 index 000000000..24070ec3a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_AL16_4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_AL16_4.gif new file mode 100755 index 000000000..13605ec6f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_AL16_4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_LABH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_LABH.gif new file mode 100755 index 000000000..12caa709b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_LABH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Lima.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Lima.gif new file mode 100755 index 000000000..ea57940dd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Lima.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_MZB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_MZB.gif new file mode 100755 index 000000000..6a6db84f7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_MZB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_OeSA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_OeSA.gif new file mode 100755 index 000000000..5dbc1fafb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_OeSA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelent.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelent.gif new file mode 100755 index 000000000..86fd6485b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelent.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelsp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelsp.gif new file mode 100755 index 000000000..36f56c0b0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelsp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_P250.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_P250.gif new file mode 100755 index 000000000..343ec7b40 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_P250.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_RTB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_RTB.gif new file mode 100755 index 000000000..bdec587da Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_RTB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW.gif new file mode 100755 index 000000000..f754aa5bf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW16S.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW16S.gif new file mode 100755 index 000000000..8569a2ab3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW16S.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SWA16S.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SWA16S.gif new file mode 100755 index 000000000..4605e685c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SWA16S.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_TSA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_TSA.gif new file mode 100755 index 000000000..260bcd957 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_TSA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA12_9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA12_9.gif new file mode 100755 index 000000000..68768241a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA12_9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA18_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA18_12.gif new file mode 100755 index 000000000..de12b5568 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA18_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA23_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA23_12.gif new file mode 100755 index 000000000..a996a77f3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA23_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_12_9.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_12_9.gif new file mode 100755 index 000000000..c0e98506c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_12_9.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_18_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_18_12.gif new file mode 100755 index 000000000..199e3c3d9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_18_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_23_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_23_12.gif new file mode 100755 index 000000000..8e2823bfa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_23_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK.gif new file mode 100755 index 000000000..34794549f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK23_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK23_12.gif new file mode 100755 index 000000000..41592a6f3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK23_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FLF.gif new file mode 100755 index 000000000..ce7be49ee Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FS.gif new file mode 100755 index 000000000..7688cbd9f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FSW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FSW.gif new file mode 100755 index 000000000..eef868a54 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FSW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF.gif new file mode 100755 index 000000000..c89e3d169 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF20_16.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF20_16.gif new file mode 100755 index 000000000..34c08be7e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF20_16.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_KLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_KLF.gif new file mode 100755 index 000000000..b4a0075ba Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_KLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF.gif new file mode 100755 index 000000000..1859647f4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF106.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF106.gif new file mode 100755 index 000000000..f9a33b201 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF106.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16.gif new file mode 100755 index 000000000..dcafa615b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF1612.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF1612.gif new file mode 100755 index 000000000..a9a651c0c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF1612.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16TS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16TS.gif new file mode 100755 index 000000000..616ed7763 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16TS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF20_16.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF20_16.gif new file mode 100755 index 000000000..7aedc7c14 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF20_16.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF24.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF24.gif new file mode 100755 index 000000000..38e07ddca Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF24.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF8.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF8.gif new file mode 100755 index 000000000..f08ee797d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF8.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF818.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF818.gif new file mode 100755 index 000000000..ba8ed83aa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF818.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF86.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF86.gif new file mode 100755 index 000000000..35c320222 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF86.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW.gif new file mode 100755 index 000000000..b441732ba Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW1000.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW1000.gif new file mode 100755 index 000000000..225219909 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW1000.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW2000Tr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW2000Tr.gif new file mode 100755 index 000000000..f7122445b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW2000Tr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF.gif new file mode 100755 index 000000000..15974d739 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF1624TR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF1624TR.gif new file mode 100755 index 000000000..e8711fb68 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF1624TR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF16_25.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF16_25.gif new file mode 100755 index 000000000..c50e3f935 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF16_25.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40.gif new file mode 100755 index 000000000..539ea6ca9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40_SL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40_SL.gif new file mode 100755 index 000000000..3520d2e75 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40_SL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF2450.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF2450.gif new file mode 100755 index 000000000..1e8fb4099 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF2450.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF.gif new file mode 100755 index 000000000..f41e2d62b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF_W.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF_W.gif new file mode 100755 index 000000000..d2772d3be Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF_W.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroLF.gif new file mode 100755 index 000000000..83c8f211d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroTLF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroTLF.gif new file mode 100755 index 000000000..d46665390 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroTLF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GW.gif new file mode 100755 index 000000000..f9c387274 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWA.gif new file mode 100755 index 000000000..2faf0ec0c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWG.gif new file mode 100755 index 000000000..4beec3978 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL1.gif new file mode 100755 index 000000000..e93827f38 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL2.gif new file mode 100755 index 000000000..fc4cbf322 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWMess.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWMess.gif new file mode 100755 index 000000000..c42110915 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWMess.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWOel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWOel.gif new file mode 100755 index 000000000..b01ef5b65 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWOel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWS.gif new file mode 100755 index 000000000..1653b2582 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWW.gif new file mode 100755 index 000000000..c77c70f35 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW.gif new file mode 100755 index 000000000..9125434e0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW1.gif new file mode 100755 index 000000000..7e72792bc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW2.gif new file mode 100755 index 000000000..fde2bed7b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW3.gif new file mode 100755 index 000000000..a0bc93b9c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_AB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_AB.gif new file mode 100755 index 000000000..1ac7588b4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_AB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABC.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABC.gif new file mode 100755 index 000000000..21a6f6818 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABC.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCErk.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCErk.gif new file mode 100755 index 000000000..00c314e42 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCErk.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCWasser.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCWasser.gif new file mode 100755 index 000000000..d93a62e49 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCWasser.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Allg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Allg.gif new file mode 100755 index 000000000..0d3dcd5f3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Allg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Dekon.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Dekon.gif new file mode 100755 index 000000000..1f06d1d05 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Dekon.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW1.gif new file mode 100755 index 000000000..d408b8070 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW2.gif new file mode 100755 index 000000000..494dfe01c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW3.gif new file mode 100755 index 000000000..2d6fd2f58 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB18_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB18_12.gif new file mode 100755 index 000000000..963474389 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB18_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB23_12.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB23_12.gif new file mode 100755 index 000000000..eece324d0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB23_12.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_IuK.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_IuK.gif new file mode 100755 index 000000000..f379ff2b8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_IuK.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_KdoW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_KdoW.gif new file mode 100755 index 000000000..78351ce58 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_KdoW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Krad.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Krad.gif new file mode 100755 index 000000000..d3da50343 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Krad.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_LZAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_LZAllg.gif new file mode 100755 index 000000000..28b4e48b9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_LZAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_MTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_MTW.gif new file mode 100755 index 000000000..3660b9a4a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_MTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_WL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_WL.gif new file mode 100755 index 000000000..3662ba1bc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_WL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot.gif new file mode 100755 index 000000000..3b10eceeb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot_WasserFz.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot_WasserFz.gif new file mode 100755 index 000000000..c43222482 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot_WasserFz.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANArztGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANArztGr.gif new file mode 100755 index 000000000..4ed71cf76 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANArztGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBergWGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBergWGr.gif new file mode 100755 index 000000000..c50f6e38e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBergWGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrGr.gif new file mode 100755 index 000000000..1b2e0e316 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrSEG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrSEG.gif new file mode 100755 index 000000000..3ef4220cb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrSEG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrZug.gif new file mode 100755 index 000000000..0e698b3c2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANEinsEinh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANEinsEinh.gif new file mode 100755 index 000000000..784334367 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANEinsEinh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANHoehlRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANHoehlRett.gif new file mode 100755 index 000000000..31fba0036 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANHoehlRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANRHS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANRHS.gif new file mode 100755 index 000000000..609efe331 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANRHS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSEG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSEG.gif new file mode 100755 index 000000000..5dc044e4b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSEG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSozGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSozGr.gif new file mode 100755 index 000000000..74a035831 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANSozGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTransGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTransGr.gif new file mode 100755 index 000000000..3dbe4630b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTransGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTuSGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTuSGr.gif new file mode 100755 index 000000000..85eb68509 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANTuSGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANVerplfGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANVerplfGr.gif new file mode 100755 index 000000000..4b4bd4a34 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANVerplfGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANZug.gif new file mode 100755 index 000000000..5e5ba74f5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/1_TaktischeFormation/FormSANZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllg.gif new file mode 100755 index 000000000..d6c8d223c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllgOrtsfest.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllgOrtsfest.gif new file mode 100755 index 000000000..291bb249d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllgOrtsfest.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBehandlPl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBehandlPl.gif new file mode 100755 index 000000000..f080824aa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBehandlPl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBetrOrtsfest.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBetrOrtsfest.gif new file mode 100755 index 000000000..f26ed5f25 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBetrOrtsfest.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEAL.gif new file mode 100755 index 000000000..7eccbc87f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEL.gif new file mode 100755 index 000000000..b7c881f76 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllg.gif new file mode 100755 index 000000000..ed7ce2239 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllgOrtsf.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllgOrtsf.gif new file mode 100755 index 000000000..a7cc3ad05 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllgOrtsf.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANHaltePl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANHaltePl.gif new file mode 100755 index 000000000..41fdd653a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANHaltePl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANLtS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANLtS.gif new file mode 100755 index 000000000..2c889a84c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANLtS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSammBetroff.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSammBetroff.gif new file mode 100755 index 000000000..005386794 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSammBetroff.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSeelsorg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSeelsorg.gif new file mode 100755 index 000000000..1aa73794a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSeelsorg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblage.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblage.gif new file mode 100755 index 000000000..ab21107c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblage.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblageArzt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblageArzt.gif new file mode 100755 index 000000000..3729134ff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblageArzt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUEAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUEAL.gif new file mode 100755 index 000000000..b6747833d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUEAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHArztOrtsf.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHArztOrtsf.gif new file mode 100755 index 000000000..97b883dd9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHArztOrtsf.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHOrtsf.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHOrtsf.gif new file mode 100755 index 000000000..622a851df Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHOrtsf.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANAllg.gif new file mode 100755 index 000000000..100d23335 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANArzt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANArzt.gif new file mode 100755 index 000000000..d352771ca Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANArzt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANBetrHe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANBetrHe.gif new file mode 100755 index 000000000..1f0041b14 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANBetrHe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueAllg.gif new file mode 100755 index 000000000..236355f9c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaum.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaum.gif new file mode 100755 index 000000000..41d518066 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaum.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaumSan.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaumSan.gif new file mode 100755 index 000000000..af4e8ca30 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueBerRaumSan.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueHuLaPl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueHuLaPl.gif new file mode 100755 index 000000000..e28777d49 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANFueHuLaPl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGF.gif new file mode 100755 index 000000000..5cbd23e93 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFBetr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFBetr.gif new file mode 100755 index 000000000..08620470e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFBetr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFSeg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFSeg.gif new file mode 100755 index 000000000..45161e946 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANGFSeg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANLNA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANLNA.gif new file mode 100755 index 000000000..476ff8486 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANLNA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANNA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANNA.gif new file mode 100755 index 000000000..639cee51a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANNA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANOrgl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANOrgl.gif new file mode 100755 index 000000000..2bb7a009e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANOrgl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRA.gif new file mode 100755 index 000000000..e64c43520 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRH.gif new file mode 100755 index 000000000..26dfc09a6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRS.gif new file mode 100755 index 000000000..c1056587c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANRS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANSeelsorg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANSeelsorg.gif new file mode 100755 index 000000000..1914b391a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANSeelsorg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsBetrZ.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsBetrZ.gif new file mode 100755 index 000000000..69c8d43ce Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsBetrZ.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsEinh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsEinh.gif new file mode 100755 index 000000000..a4331e5a3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsEinh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsSanZ.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsSanZ.gif new file mode 100755 index 000000000..5611d7dcf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSANZFEinsSanZ.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSan.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSan.gif new file mode 100755 index 000000000..acce40afc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/3_Person/PersSan.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANAllg.gif new file mode 100755 index 000000000..8e8ba174a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH.gif new file mode 100755 index 000000000..5bc19e9ef Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH2.gif new file mode 100755 index 000000000..25f67f433 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANNotunterk.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANNotunterk.gif new file mode 100755 index 000000000..3ee64d6f5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANNotunterk.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANVerpflZentr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANVerpflZentr.gif new file mode 100755 index 000000000..f206be7b3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/4_Gebaeude/GebaeudeSANVerpflZentr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANBetrAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANBetrAllg.gif new file mode 100755 index 000000000..a561ca9cb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANBetrAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWBetr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWBetr.gif new file mode 100755 index 000000000..35c3629f3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWBetr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWEinsEinh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWEinsEinh.gif new file mode 100755 index 000000000..70033167d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWEinsEinh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZF.gif new file mode 100755 index 000000000..7743aab2b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFBetr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFBetr.gif new file mode 100755 index 000000000..1bf95e1c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFBetr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFEinsEinh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFEinsEinh.gif new file mode 100755 index 000000000..75e83f6fc Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFEinsEinh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanATr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanATr.gif new file mode 100755 index 000000000..c11350e43 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanATr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAllg.gif new file mode 100755 index 000000000..2057d0529 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnh.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnh.gif new file mode 100755 index 000000000..5af2b16b9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnh.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBergW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBergW.gif new file mode 100755 index 000000000..53f941e72 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBergW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBetr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBetr.gif new file mode 100755 index 000000000..1a36d5828 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBetr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhFKH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhFKH.gif new file mode 100755 index 000000000..4044f4bd1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhFKH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhHoehlRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhHoehlRett.gif new file mode 100755 index 000000000..441df47b4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhHoehlRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhRHS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhRHS.gif new file mode 100755 index 000000000..1296e6f9c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhRHS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanBergW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanBergW.gif new file mode 100755 index 000000000..d49a65af2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanBergW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW1.gif new file mode 100755 index 000000000..f7dd6867f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW2.gif new file mode 100755 index 000000000..6f68ce66e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW3.gif new file mode 100755 index 000000000..a1745e3d8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanFueKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanFueKW.gif new file mode 100755 index 000000000..073007c26 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanFueKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHKTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHKTW.gif new file mode 100755 index 000000000..465d241a3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHKTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHoehlRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHoehlRett.gif new file mode 100755 index 000000000..1b9cea9b9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHoehlRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW.gif new file mode 100755 index 000000000..b1a69d649 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW4.gif new file mode 100755 index 000000000..a13c0e810 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKrad.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKrad.gif new file mode 100755 index 000000000..10eb126df Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKrad.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanMTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanMTW.gif new file mode 100755 index 000000000..3d719e3d3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanMTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNAW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNAW.gif new file mode 100755 index 000000000..9798ae3cf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNAW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNEF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNEF.gif new file mode 100755 index 000000000..80b8ddab7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNEF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRHS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRHS.gif new file mode 100755 index 000000000..28f3844f2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRHS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRTW.gif new file mode 100755 index 000000000..e9c78dd9e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Boot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Boot.gif new file mode 100755 index 000000000..f6b162b07 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Boot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FaBer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FaBer.gif new file mode 100755 index 000000000..8a332b044 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FaBer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueKraft.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueKraft.gif new file mode 100755 index 000000000..42d911573 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueKraft.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueSt.gif new file mode 100755 index 000000000..d9e3dff73 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_FueSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Gebaeude.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Gebaeude.gif new file mode 100755 index 000000000..1043c882c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Gebaeude.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LKW.gif new file mode 100755 index 000000000..7287524b9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LogStelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LogStelle.gif new file mode 100755 index 000000000..052916ba4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_LogStelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_PKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_PKW.gif new file mode 100755 index 000000000..71e0fc0ed Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_PKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Person.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Person.gif new file mode 100755 index 000000000..a6300866b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Person.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Stelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Stelle.gif new file mode 100755 index 000000000..e0e3273eb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_Stelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_TaktForm.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_TaktForm.gif new file mode 100755 index 000000000..a7107e020 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Behoerden_TaktForm.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Boot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Boot.gif new file mode 100755 index 000000000..6d8312fb7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Boot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FaBer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FaBer.gif new file mode 100755 index 000000000..11f9bd024 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FaBer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueKraft.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueKraft.gif new file mode 100755 index 000000000..90877fff8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueKraft.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueSt.gif new file mode 100755 index 000000000..89fa04d0a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_FueSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Gebaeude.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Gebaeude.gif new file mode 100755 index 000000000..bbc3cf604 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Gebaeude.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LKW.gif new file mode 100755 index 000000000..7a76543df Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LogStelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LogStelle.gif new file mode 100755 index 000000000..ce7b13ad9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_LogStelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_PKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_PKW.gif new file mode 100755 index 000000000..7947da542 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_PKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Person.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Person.gif new file mode 100755 index 000000000..7425ec184 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Person.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif new file mode 100755 index 000000000..c0fafaf99 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_TaktForm.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_TaktForm.gif new file mode 100755 index 000000000..22e910aed Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Bundeswehr_TaktForm.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Boot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Boot.gif new file mode 100755 index 000000000..eaf212331 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Boot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FaBer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FaBer.gif new file mode 100755 index 000000000..60f2afbcd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FaBer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueKraft.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueKraft.gif new file mode 100755 index 000000000..d3425d24b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueKraft.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueSt.gif new file mode 100755 index 000000000..151b4611c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_FueSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Gebaeude.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Gebaeude.gif new file mode 100755 index 000000000..798e73fd9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Gebaeude.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LKW.gif new file mode 100755 index 000000000..bf9c71e9a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LogStelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LogStelle.gif new file mode 100755 index 000000000..10ea5d893 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_LogStelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_PKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_PKW.gif new file mode 100755 index 000000000..7e2c16f97 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_PKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Person.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Person.gif new file mode 100755 index 000000000..9ee84add7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Person.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Stelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Stelle.gif new file mode 100755 index 000000000..f53dd1447 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_Stelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_TaktForm.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_TaktForm.gif new file mode 100755 index 000000000..91bd5dae7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Polizei_TaktForm.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Boot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Boot.gif new file mode 100755 index 000000000..a417698a8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Boot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FaBer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FaBer.gif new file mode 100755 index 000000000..74165e2ee Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FaBer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueKraft.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueKraft.gif new file mode 100755 index 000000000..9a198ad2c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueKraft.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueSt.gif new file mode 100755 index 000000000..cb9223889 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_FueSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Gebaeude.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Gebaeude.gif new file mode 100755 index 000000000..2c42fd88a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Gebaeude.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LKW.gif new file mode 100755 index 000000000..f46b8bdf6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LogStelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LogStelle.gif new file mode 100755 index 000000000..200b90b33 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_LogStelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_PKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_PKW.gif new file mode 100755 index 000000000..8d1f70da1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_PKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Person.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Person.gif new file mode 100755 index 000000000..89471ef5c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Person.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Stelle.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Stelle.gif new file mode 100755 index 000000000..1f520e75b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_Stelle.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_TaktForm.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_TaktForm.gif new file mode 100755 index 000000000..90e4f52c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/Sonstige/Zivil_TaktForm.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWAllg.gif new file mode 100755 index 000000000..6d7d65541 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB1.gif new file mode 100755 index 000000000..27620252d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB2.gif new file mode 100755 index 000000000..d17faa567 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWB2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBel.gif new file mode 100755 index 000000000..02a046752 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBrB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBrB.gif new file mode 100755 index 000000000..c8e4ac194 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBrB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgE.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgE.gif new file mode 100755 index 000000000..beb8a9295 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgE.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgFK.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgFK.gif new file mode 100755 index 000000000..9b6f0f696 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgFK.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgI.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgI.gif new file mode 100755 index 000000000..fed578746 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgI.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLog.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLog.gif new file mode 100755 index 000000000..4e923e375 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLog.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogM.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogM.gif new file mode 100755 index 000000000..3262ea7d4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogM.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogV.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogV.gif new file mode 100755 index 000000000..fab88a9d9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogV.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgO.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgO.gif new file mode 100755 index 000000000..844935171 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgO.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgOel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgOel.gif new file mode 100755 index 000000000..78ea2c79e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgOel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgR.gif new file mode 100755 index 000000000..d8ea7d503 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgSpr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgSpr.gif new file mode 100755 index 000000000..0ab098174 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgSpr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgTW.gif new file mode 100755 index 000000000..9290fa533 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgW.gif new file mode 100755 index 000000000..d7d860e17 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgWP.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgWP.gif new file mode 100755 index 000000000..4b603c400 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWFgWP.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWSEG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWSEG.gif new file mode 100755 index 000000000..529fdc733 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWSEG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZAllg.gif new file mode 100755 index 000000000..dbd0f1ba5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBel.gif new file mode 100755 index 000000000..bb6dc0429 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBrB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBrB.gif new file mode 100755 index 000000000..2d25d5cc8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBrB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZE.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZE.gif new file mode 100755 index 000000000..478f7eb48 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZE.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZI.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZI.gif new file mode 100755 index 000000000..61f795d79 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZI.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZO.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZO.gif new file mode 100755 index 000000000..e3e4be4ef Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZO.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZOEL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZOEL.gif new file mode 100755 index 000000000..ca636263d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZOEL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZR.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZR.gif new file mode 100755 index 000000000..6d2132145 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZR.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZSp.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZSp.gif new file mode 100755 index 000000000..4e25464c9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZSp.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZTW.gif new file mode 100755 index 000000000..77ed5cb63 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZW.gif new file mode 100755 index 000000000..25b6bdd06 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZWP.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZWP.gif new file mode 100755 index 000000000..60a72bc4f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWTZWP.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWZTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWZTr.gif new file mode 100755 index 000000000..da3fb8f5f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/1_TaktischeFormation/FormTHWZTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWBoeH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWBoeH.gif new file mode 100755 index 000000000..8af3a606f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWBoeH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWFaBe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWFaBe.gif new file mode 100755 index 000000000..916d36a89 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWFaBe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWGruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWGruFue.gif new file mode 100755 index 000000000..6748749cd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWGruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWHelfer.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWHelfer.gif new file mode 100755 index 000000000..4d51d4e2b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWHelfer.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWKf.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWKf.gif new file mode 100755 index 000000000..14d2493be Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWKf.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWMasch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWMasch.gif new file mode 100755 index 000000000..82993e145 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWMasch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWOB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWOB.gif new file mode 100755 index 000000000..59eceaebd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWOB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWTruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWTruFue.gif new file mode 100755 index 000000000..13c1371bd Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWTruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZTrFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZTrFue.gif new file mode 100755 index 000000000..ecc28a1c5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZTrFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZuFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZuFue.gif new file mode 100755 index 000000000..1486c460d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/3_Person/PersTHWZuFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWAllg.gif new file mode 100755 index 000000000..98cb15901 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWGSt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWGSt.gif new file mode 100755 index 000000000..3bf314d1e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWGSt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWLV.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWLV.gif new file mode 100755 index 000000000..d22ae0b1e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWLV.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWOV.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWOV.gif new file mode 100755 index 000000000..07e81ffac Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/4_Gebaeude/GebTHWOV.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAllg.gif new file mode 100755 index 000000000..e75f9478c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhASH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhASH.gif new file mode 100755 index 000000000..2cff65132 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhASH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhAllg.gif new file mode 100755 index 000000000..b99856c94 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhEGS.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhEGS.gif new file mode 100755 index 000000000..298a682f4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhEGS.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFKH.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFKH.gif new file mode 100755 index 000000000..edba77729 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFKH.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFueLa.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFueLa.gif new file mode 100755 index 000000000..bd57008c8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFueLa.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhHund.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhHund.gif new file mode 100755 index 000000000..8637ae20b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhHund.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLima.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLima.gif new file mode 100755 index 000000000..98f06a2f1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLima.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogM.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogM.gif new file mode 100755 index 000000000..a500f8f55 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogM.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogV.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogV.gif new file mode 100755 index 000000000..c67576135 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogV.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMBoot.gif new file mode 100755 index 000000000..30d9c3a84 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMzPt.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMzPt.gif new file mode 100755 index 000000000..f2b1a64b6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMzPt.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhNEA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhNEA.gif new file mode 100755 index 000000000..54abb0784 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhNEA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhOel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhOel.gif new file mode 100755 index 000000000..d800de5f5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhOel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhPumpe.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhPumpe.gif new file mode 100755 index 000000000..f00b0c3e3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhPumpe.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSEA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSEA.gif new file mode 100755 index 000000000..84e1a9a5f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSEA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSchlB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSchlB.gif new file mode 100755 index 000000000..6c701a4d7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSchlB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu.gif new file mode 100755 index 000000000..a5afb49f6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu15000.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu15000.gif new file mode 100755 index 000000000..bd5214170 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu15000.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu5000.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu5000.gif new file mode 100755 index 000000000..2392deba3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu5000.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTWA.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTWA.gif new file mode 100755 index 000000000..ad603f6ff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTWA.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTiefl.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTiefl.gif new file mode 100755 index 000000000..eb6b93da2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTiefl.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBRmG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBRmG.gif new file mode 100755 index 000000000..c04bf9cc3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBRmG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBelKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBelKW.gif new file mode 100755 index 000000000..b354c691f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBelKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBoot.gif new file mode 100755 index 000000000..c54e18ad6 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFaehre.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFaehre.gif new file mode 100755 index 000000000..34de10e2d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFaehre.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFeKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFeKW.gif new file mode 100755 index 000000000..ba72d48fb Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFeKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFmKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFmKW.gif new file mode 100755 index 000000000..5942ae913 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFmKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKW.gif new file mode 100755 index 000000000..4963d1f0c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKomKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKomKW.gif new file mode 100755 index 000000000..797b5d435 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKomKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW1.gif new file mode 100755 index 000000000..b991bc46a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW2.gif new file mode 100755 index 000000000..62074ba74 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKrad.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKrad.gif new file mode 100755 index 000000000..3d0b28c6c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKrad.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKran.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKran.gif new file mode 100755 index 000000000..6ae27f0ff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKran.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKW.gif new file mode 100755 index 000000000..04e86580b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWK.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWK.gif new file mode 100755 index 000000000..15e143ad3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWK.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWKLkr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWKLkr.gif new file mode 100755 index 000000000..033a226c3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWKLkr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLbw.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLbw.gif new file mode 100755 index 000000000..9fc1a487b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLbw.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLkr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLkr.gif new file mode 100755 index 000000000..931947ade Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLkr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW1.gif new file mode 100755 index 000000000..54ff0189b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW2.gif new file mode 100755 index 000000000..e0c3e990f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW3.gif new file mode 100755 index 000000000..058c0e346 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW4.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW4.gif new file mode 100755 index 000000000..8f0ab3b6d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW4.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW5.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW5.gif new file mode 100755 index 000000000..8585773e9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW5.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMBoot.gif new file mode 100755 index 000000000..77afbd7fe Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMTW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMTW.gif new file mode 100755 index 000000000..a9b6cb584 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMTW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzB.gif new file mode 100755 index 000000000..e488dc313 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzKW.gif new file mode 100755 index 000000000..918c3fd54 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzPtbw.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzPtbw.gif new file mode 100755 index 000000000..b611fb84c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzPtbw.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWPKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWPKW.gif new file mode 100755 index 000000000..9f193c975 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWPKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWSchlB.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWSchlB.gif new file mode 100755 index 000000000..7260574ff Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWSchlB.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWStapler.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWStapler.gif new file mode 100755 index 000000000..0be2af809 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWStapler.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWTHV.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWTHV.gif new file mode 100755 index 000000000..f44da29ad Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWTHV.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFOel.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFOel.gif new file mode 100755 index 000000000..015a27e69 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFOel.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFzAllg.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFzAllg.gif new file mode 100755 index 000000000..31c5ac90a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFzAllg.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBetrGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBetrGr.gif new file mode 100755 index 000000000..77fc35d46 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBetrGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBootTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBootTr.gif new file mode 100755 index 000000000..9646b6e40 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRBootTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRGr.gif new file mode 100755 index 000000000..61b7462cf Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTLogGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTLogGr.gif new file mode 100755 index 000000000..0d6c500c2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTLogGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchGr.gif new file mode 100755 index 000000000..4fbe38eab Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchTr.gif new file mode 100755 index 000000000..59bcd140b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRUmwGefTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRUmwGefTr.gif new file mode 100755 index 000000000..284127803 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRUmwGefTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRWaRettGr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRWaRettGr.gif new file mode 100755 index 000000000..2c423a8f9 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRWaRettGr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZug.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZug.gif new file mode 100755 index 000000000..14de8e437 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZug.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZugTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZugTr.gif new file mode 100755 index 000000000..84211a466 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/1_TaktischeFormation/FormWRZugTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREAL.gif new file mode 100755 index 000000000..59fe23274 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREL.gif new file mode 100755 index 000000000..effc79e91 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWREL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWRUEAL.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWRUEAL.gif new file mode 100755 index 000000000..e7ed8236b Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/2_StelleEinrichtung/StelleWRUEAL.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRBootsFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRBootsFue.gif new file mode 100755 index 000000000..5af470d04 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRBootsFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeDLRG.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeDLRG.gif new file mode 100755 index 000000000..7829979da Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeDLRG.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeWW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeWW.gif new file mode 100755 index 000000000..68eda9842 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRFaBeWW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFue.gif new file mode 100755 index 000000000..f4297255a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueTLog.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueTLog.gif new file mode 100755 index 000000000..2afdb4174 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueTLog.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueUmwGef.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueUmwGef.gif new file mode 100755 index 000000000..fcad076b2 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRGruFueUmwGef.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettSchw.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettSchw.gif new file mode 100755 index 000000000..4bd217ba7 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettSchw.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettTauch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettTauch.gif new file mode 100755 index 000000000..d1cf2e653 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRRettTauch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSigMann.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSigMann.gif new file mode 100755 index 000000000..1a81d2f49 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSigMann.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSprFu.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSprFu.gif new file mode 100755 index 000000000..ce9f27119 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRSprFu.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRStrRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRStrRett.gif new file mode 100755 index 000000000..8bc5f6cfa Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRStrRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTauEinsFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTauEinsFue.gif new file mode 100755 index 000000000..e5bef277c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTauEinsFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFue.gif new file mode 100755 index 000000000..b71005c66 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBootTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBootTr.gif new file mode 100755 index 000000000..c40674a8e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBootTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBtr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBtr.gif new file mode 100755 index 000000000..25d47b913 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueBtr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueSanD.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueSanD.gif new file mode 100755 index 000000000..0bdfa8a52 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueSanD.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueTauchTr.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueTauchTr.gif new file mode 100755 index 000000000..090a9218a Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueTauchTr.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueUmwGef.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueUmwGef.gif new file mode 100755 index 000000000..7543ed113 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRTruFueUmwGef.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuFue.gif new file mode 100755 index 000000000..92e6ea0ee Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuTrFue.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuTrFue.gif new file mode 100755 index 000000000..b70e2c7e4 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/3_Person/PersWRZuTrFue.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhBoot.gif new file mode 100755 index 000000000..9587df00d Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhRettTauch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhRettTauch.gif new file mode 100755 index 000000000..3e3e5b815 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhRettTauch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhWaRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhWaRett.gif new file mode 100755 index 000000000..653adae73 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhWaRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRBoot.gif new file mode 100755 index 000000000..c7c864ad1 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW1.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW1.gif new file mode 100755 index 000000000..f7dd6867f Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW1.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW2.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW2.gif new file mode 100755 index 000000000..6f68ce66e Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW2.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW3.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW3.gif new file mode 100755 index 000000000..a1745e3d8 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW3.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRFueKW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRFueKW.gif new file mode 100755 index 000000000..073007c26 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRFueKW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRGWW.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRGWW.gif new file mode 100755 index 000000000..25f814581 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRGWW.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMTF.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMTF.gif new file mode 100755 index 000000000..4047ea8d5 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMTF.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMZBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMZBoot.gif new file mode 100755 index 000000000..81d450fd3 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMZBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettBoot.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettBoot.gif new file mode 100755 index 000000000..cef197e3c Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettBoot.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettTauch.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettTauch.gif new file mode 100755 index 000000000..f12e28596 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettTauch.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRWaRett.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRWaRett.gif new file mode 100755 index 000000000..81d0e53a0 Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRWaRett.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRettKrad.gif b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRettKrad.gif new file mode 100755 index 000000000..10eb126df Binary files /dev/null and b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRettKrad.gif differ diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/symbols.qrc b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/symbols.qrc new file mode 100755 index 000000000..bcb555f91 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/Resources/symbols.qrc @@ -0,0 +1,581 @@ + + + CivilSymbols/Allgemein/1_TaktischeFormation/FueGrAllg.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStAllg.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEAL.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStEL.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStOEEL.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStTEL.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/FueStUEAL.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleAllg.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRaum.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRFueSt.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleBerRMeld.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleHuLa.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLeitSt.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLog.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleLotse.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StelleMeldKo.gif + CivilSymbols/Allgemein/2_StelleEinrichtung/StellePuMA.gif + CivilSymbols/Allgemein/3_Person/Pers.gif + CivilSymbols/Allgemein/3_Person/PersFaBeAllg.gif + CivilSymbols/Allgemein/3_Person/PersFueAllg.gif + CivilSymbols/Allgemein/3_Person/PersGerett.gif + CivilSymbols/Allgemein/3_Person/PersTot.gif + CivilSymbols/Allgemein/3_Person/PersTotVersch.gif + CivilSymbols/Allgemein/3_Person/PersTransp.gif + CivilSymbols/Allgemein/3_Person/PersVerl.gif + CivilSymbols/Allgemein/3_Person/PersVerlVersch.gif + CivilSymbols/Allgemein/3_Person/PersVerm.gif + CivilSymbols/Allgemein/3_Person/PersVerm2.gif + CivilSymbols/Allgemein/3_Person/PersVersch.gif + CivilSymbols/Allgemein/3_Person/PersZuTransp.gif + CivilSymbols/Allgemein/B_GefahrSchaden/Blockiert.gif + CivilSymbols/Allgemein/B_GefahrSchaden/BlockiertTeil.gif + CivilSymbols/Allgemein/B_GefahrSchaden/BrandEntst.gif + CivilSymbols/Allgemein/B_GefahrSchaden/BrandFortg.gif + CivilSymbols/Allgemein/B_GefahrSchaden/BrandVoll.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefAllg.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefAtomar.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefBio.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefBrand.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefChem.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefElektrizitaet.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefEx.gif + CivilSymbols/Allgemein/B_GefahrSchaden/GefGS.gif + CivilSymbols/Allgemein/B_GefahrSchaden/Zerstoert.gif + CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertAngschl.gif + CivilSymbols/Allgemein/B_GefahrSchaden/ZerstoertTeil.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKa9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaG9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaGRLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaR9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaRLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaW9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKaWLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKo9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoG9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoGLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoR9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoRLeer.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW1.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW10.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW2.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW3.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW4.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW5.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW6.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW7.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW8.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoW9.gif + CivilSymbols/Allgemein/C_Einsatzstellen/EinsstKoWLeer.gif + CivilSymbols/Allgemein/A_Massnahme/MassnBeleu.gif + CivilSymbols/Allgemein/A_Massnahme/MassnDeichvert.gif + CivilSymbols/Allgemein/A_Massnahme/MassnDekon.gif + CivilSymbols/Allgemein/A_Massnahme/MassnElVers.gif + CivilSymbols/Allgemein/A_Massnahme/MassnErkund.gif + CivilSymbols/Allgemein/A_Massnahme/MassnFahrWass.gif + CivilSymbols/Allgemein/A_Massnahme/MassnLotsen.gif + CivilSymbols/Allgemein/A_Massnahme/MassnOrten.gif + CivilSymbols/Allgemein/A_Massnahme/MassnPumpen.gif + CivilSymbols/Allgemein/A_Massnahme/MassnRaeumen.gif + CivilSymbols/Allgemein/A_Massnahme/MassnSprengen.gif + CivilSymbols/Allgemein/A_Massnahme/MassnSSFuellen.gif + CivilSymbols/Allgemein/A_Massnahme/MassnSSVerbau.gif + CivilSymbols/Allgemein/A_Massnahme/MassnTransp.gif + CivilSymbols/Allgemein/A_Massnahme/MassnWassRett.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCErkZug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCStaffel.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_ABCZug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonGruppeWasser.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonTruppWasser.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_DekonZug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_FueGruppeBer.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_HoehenrettTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKFernsprTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKSprechfuTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKStaffel.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_IuKZug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschgruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_LoeschgruppeW.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschstaffel.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschtrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_Loeschzug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_LZWaVers.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_TechnHilfTrupp.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_THZug.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_UGOEL.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretGruppe.gif + CivilSymbols/FW/1_TaktischeFormation/Form_FW_WasserretTrupp.gif + CivilSymbols/FW/2_StelleEinrichtung/Stelle_FW_Leiststelle.gif + CivilSymbols/FW/3_Person/Pers_FW_AGT.gif + CivilSymbols/FW/3_Person/Pers_FW_BAL.gif + CivilSymbols/FW/3_Person/Pers_FW_BerFue.gif + CivilSymbols/FW/3_Person/Pers_FW_GBM.gif + CivilSymbols/FW/3_Person/Pers_FW_GruFue.gif + CivilSymbols/FW/3_Person/Pers_FW_GruFueAllg.gif + CivilSymbols/FW/3_Person/Pers_FW_KBI.gif + CivilSymbols/FW/3_Person/Pers_FW_KBM.gif + CivilSymbols/FW/3_Person/Pers_FW_KBR.gif + CivilSymbols/FW/3_Person/Pers_FW_Masch.gif + CivilSymbols/FW/3_Person/Pers_FW_Melder.gif + CivilSymbols/FW/3_Person/Pers_FW_SBI.gif + CivilSymbols/FW/3_Person/Pers_FW_SBM.gif + CivilSymbols/FW/3_Person/Pers_FW_StaffelfueAllg.gif + CivilSymbols/FW/3_Person/Pers_FW_StaffelfueW.gif + CivilSymbols/FW/3_Person/Pers_FW_TrMann.gif + CivilSymbols/FW/3_Person/Pers_FW_TruFue.gif + CivilSymbols/FW/3_Person/Pers_FW_TruFueAllg.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppfueA.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppfueG.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppfueR.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppfueS.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppfueW.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppmannA.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppmannG.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppmannR.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppmannS.gif + CivilSymbols/FW/3_Person/Pers_FW_TruppmannW.gif + CivilSymbols/FW/3_Person/Pers_FW_ZuFue.gif + CivilSymbols/FW/3_Person/Pers_FW_ZuFueAllg.gif + CivilSymbols/FW/4_Gebaeude/FW_Gebaude.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_AL16_4.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_LABH.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Lima.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_MZB.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_P250.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_RTB.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SW16S.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_SWA16S.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_TSA.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelsp.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_OeSA.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Anhaenger/FW_Anh_Oelent.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA12_9.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA18_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA23_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_12_9.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_18_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLA_K_23_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_DLK23_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FS.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_FSW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_HLF20_16.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_KLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF106.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF1612.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF16TS.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF20_16.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF24.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF8.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF818.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_LF86.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW1000.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_SW2000Tr.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF1624TR.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF16_25.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF20_40_SL.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TLF2450.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TroTLF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF.gif + CivilSymbols/FW/5_FahrzeugeGeraete/LF_TLF_DL/FW_Fz_TSF_W.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWA.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWG.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL1.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWL2.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWMess.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWS.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW1.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW2.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_RW3.gif + CivilSymbols/FW/5_FahrzeugeGeraete/RW_GW/FW_Fz_GWOel.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_AB.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABC.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCErk.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ABCWasser.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Allg.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Dekon.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW1.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW2.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_ELW3.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB18_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_HAB23_12.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_IuK.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_KdoW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_Krad.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_LZAllg.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_MTW.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/FW_Fz_WL.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot.gif + CivilSymbols/FW/5_FahrzeugeGeraete/Sonstige/Fz_FW_Boot_WasserFz.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANArztGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANBergWGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrSEG.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANBetrZug.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANEinsEinh.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANRHS.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANSEG.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANSozGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANTransGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANTuSGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANVerplfGr.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANZug.gif + CivilSymbols/SAN/1_TaktischeFormation/FormSANHoehlRett.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBehandlPl.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANBetrOrtsfest.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEAL.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANEL.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllg.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANHaltePl.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANLtS.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSammBetroff.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSeelsorg.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblage.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANSichtPatAblageArzt.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUEAL.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHArztOrtsf.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANUHOrtsf.gif + CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllg.gif + CivilSymbols/SAN/2_StelleEinrichtung/StellSANEAllgOrtsfest.gif + CivilSymbols/SAN/2_StelleEinrichtung/StelleSANFueAllgOrtsf.gif + CivilSymbols/SAN/3_Person/PersSan.gif + CivilSymbols/SAN/3_Person/PersSANAllg.gif + CivilSymbols/SAN/3_Person/PersSANArzt.gif + CivilSymbols/SAN/3_Person/PersSANBetrHe.gif + CivilSymbols/SAN/3_Person/PersSANFueHuLaPl.gif + CivilSymbols/SAN/3_Person/PersSANFueBerRaumSan.gif + CivilSymbols/SAN/3_Person/PersSANFueBerRaum.gif + CivilSymbols/SAN/3_Person/PersSANGF.gif + CivilSymbols/SAN/3_Person/PersSANGFBetr.gif + CivilSymbols/SAN/3_Person/PersSANGFSeg.gif + CivilSymbols/SAN/3_Person/PersSANLNA.gif + CivilSymbols/SAN/3_Person/PersSANNA.gif + CivilSymbols/SAN/3_Person/PersSANOrgl.gif + CivilSymbols/SAN/3_Person/PersSANRA.gif + CivilSymbols/SAN/3_Person/PersSANRH.gif + CivilSymbols/SAN/3_Person/PersSANRS.gif + CivilSymbols/SAN/3_Person/PersSANSeelsorg.gif + CivilSymbols/SAN/3_Person/PersSANZFEinsBetrZ.gif + CivilSymbols/SAN/3_Person/PersSANZFEinsEinh.gif + CivilSymbols/SAN/3_Person/PersSANZFEinsSanZ.gif + CivilSymbols/SAN/3_Person/PersSANFueAllg.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAllg.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnh.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBergW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhBetr.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhFKH.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhRHS.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanATr.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanBergW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANBetrAllg.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW1.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW2.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanELW3.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanFueKW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHKTW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanAnhHoehlRett.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKrad.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanKTW4.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanMTW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWBetr.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMTWEinsEinh.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZF.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFBetr.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSANMZFEinsEinh.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNAW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanNEF.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRHS.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanRTW.gif + CivilSymbols/SAN/5_FahrzeugeGeraete/FzSanHoehlRett.gif + CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH.gif + CivilSymbols/SAN/4_Gebaeude/GebaeudeSANKH2.gif + CivilSymbols/SAN/4_Gebaeude/GebaeudeSANNotunterk.gif + CivilSymbols/SAN/4_Gebaeude/GebaeudeSANVerpflZentr.gif + CivilSymbols/SAN/4_Gebaeude/GebaeudeSANAllg.gif + CivilSymbols/Sonstige/Behoerden_FaBer.gif + CivilSymbols/Sonstige/Behoerden_FueKraft.gif + CivilSymbols/Sonstige/Behoerden_FueSt.gif + CivilSymbols/Sonstige/Behoerden_Gebaeude.gif + CivilSymbols/Sonstige/Behoerden_LKW.gif + CivilSymbols/Sonstige/Behoerden_LogStelle.gif + CivilSymbols/Sonstige/Behoerden_Person.gif + CivilSymbols/Sonstige/Behoerden_PKW.gif + CivilSymbols/Sonstige/Behoerden_Stelle.gif + CivilSymbols/Sonstige/Behoerden_TaktForm.gif + CivilSymbols/Sonstige/Bundeswehr_Boot.gif + CivilSymbols/Sonstige/Bundeswehr_FaBer.gif + CivilSymbols/Sonstige/Bundeswehr_FueKraft.gif + CivilSymbols/Sonstige/Bundeswehr_FueSt.gif + CivilSymbols/Sonstige/Bundeswehr_Gebaeude.gif + CivilSymbols/Sonstige/Bundeswehr_LKW.gif + CivilSymbols/Sonstige/Bundeswehr_LogStelle.gif + CivilSymbols/Sonstige/Bundeswehr_Person.gif + CivilSymbols/Sonstige/Bundeswehr_PKW.gif + CivilSymbols/Sonstige/Bundeswehr_Stelle.gif + CivilSymbols/Sonstige/Bundeswehr_TaktForm.gif + CivilSymbols/Sonstige/Polizei_Boot.gif + CivilSymbols/Sonstige/Polizei_FaBer.gif + CivilSymbols/Sonstige/Polizei_FueKraft.gif + CivilSymbols/Sonstige/Polizei_FueSt.gif + CivilSymbols/Sonstige/Polizei_Gebaeude.gif + CivilSymbols/Sonstige/Polizei_LKW.gif + CivilSymbols/Sonstige/Polizei_LogStelle.gif + CivilSymbols/Sonstige/Polizei_Person.gif + CivilSymbols/Sonstige/Polizei_PKW.gif + CivilSymbols/Sonstige/Polizei_Stelle.gif + CivilSymbols/Sonstige/Polizei_TaktForm.gif + CivilSymbols/Sonstige/Zivil_Boot.gif + CivilSymbols/Sonstige/Zivil_FaBer.gif + CivilSymbols/Sonstige/Zivil_FueKraft.gif + CivilSymbols/Sonstige/Zivil_FueSt.gif + CivilSymbols/Sonstige/Zivil_Gebaeude.gif + CivilSymbols/Sonstige/Zivil_LKW.gif + CivilSymbols/Sonstige/Zivil_LogStelle.gif + CivilSymbols/Sonstige/Zivil_Person.gif + CivilSymbols/Sonstige/Zivil_PKW.gif + CivilSymbols/Sonstige/Zivil_Stelle.gif + CivilSymbols/Sonstige/Zivil_TaktForm.gif + CivilSymbols/Sonstige/Behoerden_Boot.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWAllg.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWB1.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWB2.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBel.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgBrB.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgE.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgFK.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgI.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLog.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogM.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgLogV.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgO.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgOel.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgR.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgSpr.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgTW.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgW.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWFgWP.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWSEG.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZAllg.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBel.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZBrB.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZE.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZI.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZO.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZOEL.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZR.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZSp.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZTW.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZW.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWTZWP.gif + CivilSymbols/THW/1_TaktischeFormation/FormTHWZTr.gif + CivilSymbols/THW/3_Person/PersTHWBoeH.gif + CivilSymbols/THW/3_Person/PersTHWFaBe.gif + CivilSymbols/THW/3_Person/PersTHWGruFue.gif + CivilSymbols/THW/3_Person/PersTHWHelfer.gif + CivilSymbols/THW/3_Person/PersTHWKf.gif + CivilSymbols/THW/3_Person/PersTHWMasch.gif + CivilSymbols/THW/3_Person/PersTHWOB.gif + CivilSymbols/THW/3_Person/PersTHWTruFue.gif + CivilSymbols/THW/3_Person/PersTHWZTrFue.gif + CivilSymbols/THW/3_Person/PersTHWZuFue.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAllg.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhAllg.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhASH.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhEGS.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFKH.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhFueLa.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhHund.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLima.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogM.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhLogV.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMBoot.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhMzPt.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhNEA.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhOel.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhPumpe.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSchlB.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSEA.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu15000.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhSwPu5000.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTiefl.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWAnhTWA.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBelKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBoot.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWBRmG.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFaehre.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFeKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFmKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKomKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWFueKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW1.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWGKW2.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKrad.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWKran.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWK.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWKLkr.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLbw.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWLkr.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW1.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW2.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW3.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW4.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWLKWMLW5.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMBoot.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMTW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzB.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWMzPtbw.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWPKW.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWSchlB.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWStapler.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWTHV.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFOel.gif + CivilSymbols/THW/5_FahrzeugeGeraete/FzTHWWFzAllg.gif + CivilSymbols/THW/4_Gebaeude/GebTHWAllg.gif + CivilSymbols/THW/4_Gebaeude/GebTHWGSt.gif + CivilSymbols/THW/4_Gebaeude/GebTHWLV.gif + CivilSymbols/THW/4_Gebaeude/GebTHWOV.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRBetrGr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRBootTr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRGr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchGr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRTauchTr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRTLogGr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRUmwGefTr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRWaRettGr.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRZug.gif + CivilSymbols/WRett/1_TaktischeFormation/FormWRZugTr.gif + CivilSymbols/WRett/2_StelleEinrichtung/StelleWREAL.gif + CivilSymbols/WRett/2_StelleEinrichtung/StelleWREL.gif + CivilSymbols/WRett/2_StelleEinrichtung/StelleWRUEAL.gif + CivilSymbols/WRett/3_Person/PersWRTauEinsFue.gif + CivilSymbols/WRett/3_Person/PersWRFaBeDLRG.gif + CivilSymbols/WRett/3_Person/PersWRFaBeWW.gif + CivilSymbols/WRett/3_Person/PersWRGruFue.gif + CivilSymbols/WRett/3_Person/PersWRGruFueTLog.gif + CivilSymbols/WRett/3_Person/PersWRGruFueUmwGef.gif + CivilSymbols/WRett/3_Person/PersWRRettSchw.gif + CivilSymbols/WRett/3_Person/PersWRRettTauch.gif + CivilSymbols/WRett/3_Person/PersWRSigMann.gif + CivilSymbols/WRett/3_Person/PersWRSprFu.gif + CivilSymbols/WRett/3_Person/PersWRStrRett.gif + CivilSymbols/WRett/3_Person/PersWRTruFue.gif + CivilSymbols/WRett/3_Person/PersWRTruFueBootTr.gif + CivilSymbols/WRett/3_Person/PersWRTruFueBtr.gif + CivilSymbols/WRett/3_Person/PersWRTruFueSanD.gif + CivilSymbols/WRett/3_Person/PersWRTruFueTauchTr.gif + CivilSymbols/WRett/3_Person/PersWRTruFueUmwGef.gif + CivilSymbols/WRett/3_Person/PersWRZuFue.gif + CivilSymbols/WRett/3_Person/PersWRZuTrFue.gif + CivilSymbols/WRett/3_Person/PersWRBootsFue.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRettKrad.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhBoot.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhRettTauch.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRAnhWaRett.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRBoot.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW1.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW2.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRELW3.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRFueKW.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRGWW.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMTF.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRMZBoot.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettBoot.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRRettTauch.gif + CivilSymbols/WRett/5_FahrzeugeGeraete/FzWRWaRett.gif + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.cpp new file mode 100755 index 000000000..2b1437868 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.cpp @@ -0,0 +1,47 @@ +/** + * @RDE_HEADER@ + * Logging within AdvancedSymbology + * $Id$ + * $HeadURL$ + * $Author$ + */ + + + +#include "advanced_symbology_logging.h" +#include + +namespace AdvancedSymbology +{ + +LOGGER_T getLogger(const char *name, int id) +{ + static const QLatin1String prefix("AdvSymbology."); + std::string loggerName; + const size_t len = strlen(name); + loggerName.reserve(prefix.size() + len); + loggerName.append(prefix.data(), prefix.size()); + loggerName.append(name, len); + + if (id > 0) + { + std::stringstream loggerStream; + loggerStream << loggerName << "." << id; + loggerName = loggerStream.str(); + } + + try + { + return NGL::NGLLoggerBootstrap::getNGLRootLogger(). + getNGLLogger(loggerName); + } + catch (const std::exception &ex) + { + fprintf(stderr, "Error retrieving logger: %s", ex.what()); + abort(); + } + +} + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.h new file mode 100755 index 000000000..2627bc44b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/advanced_symbology_logging.h @@ -0,0 +1,43 @@ +/** + * @RDE_HEADER@ + * Logging within AdvancedSymbology + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include + + +#include + + +namespace AdvancedSymbology +{ + +typedef NGL::INGLLogger &LOGGER_T; + +// export for executables within 'Tests' +ADVANCED_SYMBOLOGY_EXPORT LOGGER_T getLogger(const char *name, int id = -1); + +inline LOGGER_T getLogger(const QString &loggerName) +{ + return getLogger(loggerName.toUtf8().constData()); +} + +} // namespace SituationMap + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.cpp new file mode 100755 index 000000000..e1c123cbb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.cpp @@ -0,0 +1,1088 @@ +/** + * @RDE_HEADER@ + * (Base) Symbol Model for Esri, XML, ETS Symbols + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Norbert Thoden, NLE, 12.12.2019 + */ + +// Own +#include "base_symbol_model.h" +#include "symbol_dictionary_impl.h" +#include "sidc_codec.h" +#include "sidc_builder_base.h" + +#include +#include + + +// arcgis +#include +#include + + +// Qt +#include +#include +#include +#include +#include +#include +#include + + +namespace AdvancedSymbology +{ +static constexpr int SWATCH_SIZE = 64; +static constexpr int ICON_SIZE_CUSTOM = 50; + + +QString geometryTypeToDisplayString(GeometryType geomType) +{ + switch (geomType) + { + case GeometryType::Point: + return QObject::tr("Point"); + case GeometryType::Polyline: + return QObject::tr("Line"); + case GeometryType::Polygon: + return QObject::tr("Area"); + case GeometryType::Undefined: + return QObject::tr("Undefined"); + } + return QObject::tr("Undefined"); +} + +//------------------------------------------------------------------------------ +// ResultWatcherData +//------------------------------------------------------------------------------ +void ResultWatcherData::onResultReady() +{ + if (!m_symbolResultWatcher) + return; + QSharedPointer symResult = m_symbolResultWatcher->symbolResult(); + if (!symResult) + return; // should NEVER happen! (Which object should have triggered the signal???) + + m_orgImage = symResult->symbolImage().image(); + m_scaledImage = m_orgImage.scaled(ICON_SIZE_CUSTOM, ICON_SIZE_CUSTOM, Qt::KeepAspectRatio, Qt::SmoothTransformation); + + // update view: + if (m_baseSymbolItem) + m_baseSymbolItem->emit_dataChanged(); +} + + +//------------------------------------------------------------------------------ +// BaseSymbolItem +//------------------------------------------------------------------------------ +BaseSymbolItem::BaseSymbolItem(int id, Esri::ArcGISRuntime::Symbol *esriSymbol_Search) + : QObject() +{ + m_id = id; + m_esriSearch.m_esriSymbol = esriSymbol_Search; + + m_findBaseSymbolRWD = new ResultWatcherData(this); + m_findPreviewRWD = new ResultWatcherData(this); + m_findImageRWD = new ResultWatcherData(this); +} + +BaseSymbolItem::BaseSymbolItem(int id, const QString &baseSymbolCode, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol) + : QObject() + , m_id(id) + , m_operatorName(operatorName) + , m_lastModified(lastModified) +{ + setXmlSymbol(symbol); + + m_baseSymbolCode = baseSymbolCode; + + m_findBaseSymbolRWD = new ResultWatcherData(this); + m_findPreviewRWD = new ResultWatcherData(this); + m_findImageRWD = new ResultWatcherData(this); +} + +BaseSymbolItem::BaseSymbolItem(int id, const QString &baseSymbolCode, const QImage &image) + : QObject() + , m_id(id) + , m_baseSymbolCode(baseSymbolCode) + +{ + m_findBaseSymbolRWD = new ResultWatcherData(this); + m_findBaseSymbolRWD->image() = image; + m_findBaseSymbolRWD->originalImage() = image; +} + +BaseSymbolItem::~BaseSymbolItem() +{ + delete m_findBaseSymbolRWD; + delete m_findPreviewRWD; + delete m_findImageRWD; + delete m_xmlSymbol; +} + +void BaseSymbolItem::setSymbolDictionary(SymbolDictionary *symbolDictionary) +{ + m_symbolDictionaryImpl = static_cast(symbolDictionary); + m_esriDictionary = const_cast(m_symbolDictionaryImpl->getEsriSymbolDictionary()); +} + +void BaseSymbolItem::setEsriSearchSymbol(Esri::ArcGISRuntime::Symbol *esriSymbol_Search) +{ + m_esriSearch.m_esriSymbol = esriSymbol_Search; +} + +void BaseSymbolItem::setXmlSymbol(const SymbologyXML::Symbol &symbol) +{ + delete m_xmlSymbol; + if (!m_xmlSymbol) + m_xmlSymbol = new XmlSymbolStruct; + m_xmlSymbol->m_symbol = symbol; +} + +QString BaseSymbolItem::baseSymbolCode() +{ + if (m_baseSymbolCode.isEmpty() && m_symbolDictionaryImpl) + m_baseSymbolCode = AdvancedSymbology::SidcCodec::encodeBaseSymbolCode(m_symbolDictionaryImpl->symbologyType(), + m_symbolProperties.originalKey().left(8)); + return m_baseSymbolCode; +} + +QString BaseSymbolItem::sidc() +{ + return AdvancedSymbology::SidcBuilderBase::baseSymbolCodeToSidc(baseSymbolCode()); +} + +QString BaseSymbolItem::symbolSet() +{ + if (m_symbolSet.isEmpty()) + { + SidcDefinitions::SymbolSet symbolSet = SidcDefinitions::castToSymbolSet(m_symbolProperties.originalKey().leftRef(2).toUInt()); + m_symbolSet = QString(QStringLiteral("%1 - ")).arg(static_cast(symbolSet)) + AdvancedSymbology::SidcDefinitions::toString(symbolSet); + } + return m_symbolSet; +} + +int BaseSymbolItem::symbolSetAsInt() +{ + return static_cast(SidcDefinitions::castToSymbolSet(m_symbolProperties.originalKey().leftRef(2).toUInt())); +} + + +QString BaseSymbolItem::getTooltip(const QImage &image) +{ + QString tooltip; + const AdvancedSymbology::SymbolProperties &symProp = m_symbolProperties; + + QByteArray data; + QBuffer buffer(&data); + image.save(&buffer, "PNG", 100); + + const QString paragraphBegin = QStringLiteral("
"); + const QString paragraphEnd = QStringLiteral("
"); + const QString separator = QStringLiteral("
"); + tooltip = QStringLiteral(""); + + tooltip += paragraphBegin; + tooltip += QStringLiteral("").arg(QString::fromLatin1(data.toBase64())); + tooltip += paragraphEnd; // + QStringLiteral("
"); + + tooltip += paragraphBegin; + tooltip += symProp.name(); + tooltip += paragraphEnd; + + tooltip += paragraphBegin; + tooltip += baseSymbolCode(); + tooltip += paragraphEnd; + + tooltip += QStringLiteral("
"); + +// tooltip += separator; + + tooltip += paragraphBegin + geometryTypeToDisplayString(symProp.geometryType()) + paragraphEnd; + + tooltip += QStringLiteral("
"); + tooltip += paragraphBegin + symProp.tags().join(separator) + paragraphEnd; + tooltip += QStringLiteral(""); + + return tooltip; +} + +QImage BaseSymbolItem::getSearchSwatch() +{ +// if (!m_esriSearch.m_esriSymbol) +// m_esriSearch.m_esriSymbol = m_esriSearch.m_sssResult.symbol(this); + + if (m_esriSearch.m_esriSwatch.isNull() && m_esriSearch.m_esriSymbol && m_esriSearch.m_esriTaskUuid.isNull()) + { + // ok, create swatch now: + +// qCritical() << " SEARCH: id=" << m_id << " create swatch now"; +// qCritical() << " SEARCH: id=" << m_esriSearch.m_esriSymbol->toJson(); + + connect(m_esriSearch.m_esriSymbol, &Esri::ArcGISRuntime::Symbol::createSwatchCompleted, + this, &BaseSymbolItem::onEsriSearchSymbolSwatchCompleted, Qt::UniqueConnection); + + const Esri::ArcGISRuntime::TaskWatcher &tw = m_esriSearch.m_esriSymbol->createSwatch(SWATCH_SIZE, SWATCH_SIZE, 1); + if (tw.isValid()) + m_esriSearch.m_esriTaskUuid = tw.taskId(); + else + qCritical() << " SEARCH: id=" << m_id << " taskId invalid"; + } + return m_esriSearch.m_esriSwatch; +} + +void BaseSymbolItem::onEsriSearchSymbolSwatchCompleted(const QUuid &taskId, const QImage &image) +{ + if (m_esriSearch.m_esriTaskUuid != taskId) + return; + + m_esriSearch.m_esriSwatch = image; + + emit dataChanged(m_id); +} + +QImage BaseSymbolItem::getFetchSwatch() const +{ + if (!m_symbolDictionaryImpl || !m_symbolDictionaryImpl->getEsriSymbolDictionary()) + return m_esriFetch.m_esriSwatch; + + if (m_esriFetch.m_esriSwatch.isNull() && m_esriFetch.m_esriFetchTaskIdUuid.isNull()) + { + connect(m_esriDictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::fetchSymbolCompleted, + this, &BaseSymbolItem::onEsriFetchCompleted, Qt::UniqueConnection); + + // from key8 to sidc (20 digits) + const QString &key8 = m_symbolProperties.key().left(8); + + // "10011500002102000000" + // 0123456789 + + m_esriFetch.m_sidc = QString(QStringLiteral("10011500002102000000")); + m_esriFetch.m_sidc.replace(4, 2, key8.left(2)); // SymbolSet + m_esriFetch.m_sidc.replace(10, 6, key8.right(6)); // Entity + +// static int s_counter = 0; +// qCritical() << " FETCH: id=" << m_id << " fetch now" +// << " sidc='" << m_esriFetch.m_sidc << "'" +// << " s_counter=" << s_counter++; + + const QVariantMap keys({{QStringLiteral("sidc"), m_esriFetch.m_sidc}, // SidcCodec::decodeRawSidc ; set sidc of symbol in case of MIL2525 + {QStringLiteral("sic"), m_esriFetch.m_sidc}}); // SidcCodec::decodeRawSidc , set sidc of symbol in case of APP6 + + const Esri::ArcGISRuntime::TaskWatcher &tw = m_esriDictionary->fetchSymbol(keys); + if (tw.isValid()) + m_esriFetch.m_esriFetchTaskIdUuid = tw.taskId(); + else + qCritical() << " FETCH: id=" << m_id << " m_esriFetchTaskIdUuid invalid"; + } + return m_esriFetch.m_esriSwatch; +} + +void BaseSymbolItem::onEsriFetchCompleted(const QUuid &taskId, Esri::ArcGISRuntime::Symbol *symbol) +{ + if (m_esriFetch.m_esriFetchTaskIdUuid != taskId) + return; + + // save intermediate result: + m_esriFetch.m_esriSymbol = symbol; + + // start creating swatch of fetched symbol: + connect(m_esriFetch.m_esriSymbol, &Esri::ArcGISRuntime::Symbol::createSwatchCompleted, + this, &BaseSymbolItem::onEsriFetchSymbolSwatchCompleted, Qt::UniqueConnection); + + const Esri::ArcGISRuntime::TaskWatcher &tw = m_esriFetch.m_esriSymbol->createSwatch(SWATCH_SIZE, SWATCH_SIZE, 1); + if (tw.isValid()) + m_esriFetch.m_esriSwatchTaskUuid = tw.taskId(); + else + qCritical() << " FETCH: id=" << m_id << " taskId invalid"; +} + +void BaseSymbolItem::onEsriFetchSymbolSwatchCompleted(const QUuid &taskId, const QImage &image) +{ + if (m_esriFetch.m_esriSwatchTaskUuid != taskId) + return; + + m_esriFetch.m_esriSwatch = image; + +// qCritical() << " FETCH: id=" << m_id << " image " << image.size(); + + emit dataChanged(m_id); +} + + + +//------------------------------------------------------------------------------ +// BaseSymbolModel::Private +//------------------------------------------------------------------------------ +struct BaseSymbolModel::Private +{ + SymbolDictionaryImpl *m_symbolDictionaryImpl = nullptr; + Esri::ArcGISRuntime::DictionarySymbolStyle *m_esriDictionary = nullptr; + + // findBaseSymbol-Uuid -> SymbolResult + mutable QMap> m_findBaseSymbol2symbolResult; + + QTimer *m_finishInitializationTimer = nullptr; + + // For proxyModel + QSet m_usedOperator; + QMap m_usedSymbolSet; + QSet m_usedSymbolClass; + QSet m_usedXmlSymbolScale; + QSet m_usedGeometryTypes; + QSet m_usedCategory; + QSet m_usedGctStrings; +}; + + +//------------------------------------------------------------------------------ +// BaseSymbolModel +//------------------------------------------------------------------------------ +BaseSymbolModel::BaseSymbolModel(SymbolDictionary *symbolDictionary) + : BaseClass( +{ + tr("Id"), + + tr("SearchIcon"), // de: so lassen + tr("FetchIcon"), // de: so lassen + + tr("Icon"), // ((SD-findBaseSymbol)) + tr("SD-findPreview"), + tr("SD-findImage"), + + tr("Org_key"), + tr("Key"), + tr("BaseSymbolCode"), // de: so lassen + tr("Sidc"), + tr("SymbolSet"), // de: Symbolset + tr("Name"), + + tr("Operator"), // de: Benutzer + tr("last modified"), // de: letzte Änderung (analog zu flm) + + tr("Scale"), // ((XmlSymbolSize)) de: Skalierung (analog zum SymbolEditor) + tr("Category"), // de: so lassen + tr("SymbolClass"), // de: so lassen + tr("Tags"), // de: so lassen + tr("GCTString"), // de: so lassen + tr("GeometryType") // de: Geometrytyp +}, +symbolDictionary) // parent +, m_logger(getLogger("BaseSymbolModel")) +, d(new Private()) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + d->m_symbolDictionaryImpl = static_cast(symbolDictionary); + d->m_esriDictionary = const_cast(d->m_symbolDictionaryImpl->getEsriSymbolDictionary()); + + +//// QString path = QStringLiteral("/usr/share/arcgis/resources/symbols/mil2525d/mil2525d.stylx"); +// QString path = QStringLiteral("/usr/share/arcgis/resources/symbols_arcade/mil2525d/mil2525d.stylx"); + +// d->m_esri_dictionary = Esri::ArcGISRuntime::DictionarySymbolStyle::createFromFile(path, this); + +// if (d->m_esri_dictionary) +// { +// connect(d->m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::loadStatusChanged, +// this, &BaseSymbolModel::onLoadStatusChanged); +// connect(d->m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::errorOccurred, +// this, &BaseSymbolModel::onErrorDictionary); +// } +// d->m_esri_dictionary->load(); + + + d->m_finishInitializationTimer = new QTimer(this); + d->m_finishInitializationTimer->setSingleShot(true); + d->m_finishInitializationTimer->setInterval(500); + + connect(d->m_finishInitializationTimer, &QTimer::timeout, + this, &BaseSymbolModel::onFinishInitalization); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +BaseSymbolModel::~BaseSymbolModel() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + delete d->m_finishInitializationTimer; + delete d; + d = nullptr; + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void BaseSymbolModel::onLoadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus) +{ + if (loadStatus == Esri::ArcGISRuntime::LoadStatus::Loaded) + { + INFO_LOG(m_logger) << LOGFUNCTION << " ***** m_esri_dictionary " << d->m_esriDictionary + << " loading done "; + } +} + +void BaseSymbolModel::onErrorDictionary(const Esri::ArcGISRuntime::Error &error) +{ + FATAL_LOG(m_logger) << LOGFUNCTION << " ---EsriError--- occured: " + << " code=" << error.code() + << ", domain=" << static_cast(error.domain()) + << ", extendedErrorType=" << static_cast(error.extendedErrorType()) + << ", message='" << error.message() << "'" + << ", additionalMessage='" << error.additionalMessage() << "'"; +} + +void BaseSymbolModel::initModel(SymbolDictionary *symbolDictionary, + const QList &searchResultList, + const SidcCodec::SidcHashTable &baseSymbolCodeToSymbolPropertyTable) +{ + clear(); + + int itemCounter = 0; + QVector vecData; + vecData.reserve(searchResultList.size()); + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &searchResult : qAsConst(searchResultList)) + { + GeometryType gt = GeometryType::Undefined; + auto it = baseSymbolCodeToSymbolPropertyTable.find(searchResult.key().left(8)); + if (it != baseSymbolCodeToSymbolPropertyTable.end()) + gt = it->geometryType(); +#ifndef LTS_DEBUG + else + continue; /// release mode -> skip entries with GeometryType::Undefined +#endif // LTS_DEBUG + + + // spend time to create (expensive) Esri::ArcGISRuntime::Symbol? +#ifdef LTS_DEBUG + Esri::ArcGISRuntime::Symbol *esriSymbol = nullptr; + const bool showAll = QGuiApplication::keyboardModifiers().testFlag(Qt::KeyboardModifier::ControlModifier); + if (showAll) + esriSymbol = searchResult.symbol(this); // symbol() has to be called from mainThread, is expensive / time consuming +#else + // release mode: save time, won´t be visible + Esri::ArcGISRuntime::Symbol *esriSymbol = nullptr; +#endif // LTS_DEBUG + + + BaseSymbolItem *bsi = new BaseSymbolItem(itemCounter++, esriSymbol); + + bsi->setSymbolDictionary(symbolDictionary); + + bsi->m_symbolProperties.setTags(searchResult.tags()); + bsi->m_symbolProperties.setName(searchResult.name()); + bsi->m_symbolProperties.setSymbolClass(searchResult.symbolClass()); + bsi->m_symbolProperties.setCategory(searchResult.category()); + bsi->m_symbolProperties.setKey(searchResult.key().left(8)); + bsi->m_symbolProperties.setOriginalKey(searchResult.key()); // searchResult does not have orgKey + bsi->m_symbolProperties.setGeometryType(gt); + + connect(bsi, &BaseSymbolItem::dataChanged, + this, &BaseSymbolModel::onDataChanged); + + vecData.append(DATA_T(bsi)); + } // for + this->setData(vecData); + + triggerFinishInitalization(); +} + +bool BaseSymbolModel::insertXmlSymbol(int fileId, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol, const SymbolProperties &properties) +{ + INFO_LOG(m_logger) << LOGFUNCTION << " START" + << ", fileId=" << fileId + << ", operatorName='" << operatorName << "'" + << ", lastModified=" << lastModified + << ", symbol.id=" << symbol.id() + << ", symbol.getName=" << symbol.getName(); + if (fileId < 0) + { + FATAL_LOG(m_logger) << " fileId not valid. fileId=" << fileId; + return false; + } + if (!symbol.isValid()) + { + FATAL_LOG(m_logger) << " symbol not valid. fileId=" << fileId; + return false; + } + + BaseSymbolItem *bsi = new BaseSymbolItem(fileId, SidcCodec::encodeCivilXml(QString::number(fileId)), + operatorName, lastModified, symbol); + bsi->m_symbolProperties = properties; + connect(bsi, &BaseSymbolItem::dataChanged, this, &BaseSymbolModel::onDataChanged); + + // insert or update? + const int row = findRowForId(fileId); + if (row >= 0) + setRowData(row, DATA_T(bsi)); + else + insertRow(DATA_T(bsi)); + + triggerFinishInitalization(); + + return true; +} + +bool BaseSymbolModel::removeXmlSymbol(int fileId) +{ + if (fileId < 0) + { + FATAL_LOG(m_logger) << " fileId not valid. fileId=" << fileId; + return false; + } + + const int row = findRowForId(fileId); + return this->removeRow(row); +} + +bool BaseSymbolModel::insertEtsSymbol(int fileId, const QString &sidc, const SymbolProperties &properties, const QImage &image) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << ", sidc='" << sidc << "'"; + if (sidc.isEmpty()) + return false; + + BaseSymbolItem *bsi = new BaseSymbolItem(fileId, sidc, image); + bsi->m_symbolProperties = properties; + + // not required for ETS: + // connect(bsi, &BaseSymbolItem::dataChanged, + // this, &BaseSymbolModel::onDataChanged); + + // insert or update? + const int row = findRowForId(fileId); + if (row >= 0) + setRowData(row, DATA_T(bsi)); + else + insertRow(DATA_T(bsi)); + + triggerFinishInitalization(); + + return true; +} + +bool BaseSymbolModel::removeEtsSymbol(int fileId) +{ + return removeXmlSymbol(fileId); +} + +void BaseSymbolModel::triggerFinishInitalization() +{ + d->m_finishInitializationTimer->start(); +} + +void BaseSymbolModel::onFinishInitalization() +{ + qDebug() << LOGFUNCTION << " START"; + + connect(this, &BaseSymbolModel::rowsInserted, this, &BaseSymbolModel::onUpdateUsedItemsForComboBox, Qt::QueuedConnection); + connect(this, &BaseSymbolModel::rowsRemoved, this, &BaseSymbolModel::onUpdateUsedItemsForComboBox, Qt::QueuedConnection); + connect(this, &BaseSymbolModel::modelReset, this, &BaseSymbolModel::onUpdateUsedItemsForComboBox, Qt::QueuedConnection); + + onUpdateUsedItemsForComboBox(); +} + + +QVariant BaseSymbolModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if (role == LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole && + orientation == Qt::Horizontal) + { + if (section == OPERATOR_NAME) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.sortItems = true; + cfc.data.reserve(d->m_usedOperator.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const QString &opName : qAsConst(d->m_usedOperator)) + { + cfd.data = opName; + cfd.text = opName; + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == SYMBOL_SET) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.data.reserve(d->m_usedSymbolSet.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const auto &symSet : qAsConst(d->m_usedSymbolSet)) + { + cfd.data = symSet; + cfd.text = symSet; + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == SYMBOLCLASS) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.data.reserve(d->m_usedSymbolClass.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const auto &sc : qAsConst(d->m_usedSymbolClass)) + { + cfd.data = sc; + cfd.text = sc; + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == XML_SYMBOL_SIZE) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.sortItems = true; + cfc.data.reserve(d->m_usedXmlSymbolScale.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const auto &symScale : qAsConst(d->m_usedXmlSymbolScale)) + { + cfd.data = symScale; + cfd.text = QString::number(symScale); + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == GEOMETRYTYPE) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.data.reserve(d->m_usedGeometryTypes.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const AdvancedSymbology::GeometryType > : qAsConst(d->m_usedGeometryTypes)) + { + cfd.data = (int)gt; + cfd.text = geometryTypeToDisplayString(gt); + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == CATEGORY) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.sortItems = true; + cfc.data.reserve(d->m_usedCategory.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const auto &cat : qAsConst(d->m_usedCategory)) + { + cfd.data = cat; + cfd.text = cat; + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + else if (section == GCTSTRING) + { + LtsWidgets::ComboboxFilterContent cfc; + cfc.sortItems = true; + cfc.data.reserve(d->m_usedGctStrings.size()); + LtsWidgets::ComboboxFilterData cfd; + for (const auto &gctStr : qAsConst(d->m_usedGctStrings)) + { + cfd.data = gctStr; + cfd.text = gctStr; + cfc.data.push_back(cfd); + } + return cfc.toVariant(); + } + } + + return BaseClass::headerData(section, orientation, role); +} + +QVariant BaseSymbolModel::data(const QModelIndex &index, int role) const +{ + if ((role == Qt::SizeHintRole) && + ((index.column() == SEARCH_ICON) || + (index.column() == FETCH_ICON) || + (index.column() == FIND_BASE_SYMBOL) || + (index.column() == FIND_PREVIEW) || + (index.column() == FIND_IMAGE) + )) + return QSize(SWATCH_SIZE, SWATCH_SIZE); + + if ((role != Qt::DisplayRole) && + (role != Qt::DecorationRole) && + (role != Qt::ToolTipRole) && + // role != Qt::EditRole // required by QDataWidgetMapper + (role != LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole) + ) + return QVariant(); + + const DATA_T &item = m_vecData.at(index.row()); + + if (!item) + return QVariant(); + + const QString &baseSymbolCode = item->baseSymbolCode(); + + if (role == Qt::DecorationRole) + { + switch (index.column()) + { + case SEARCH_ICON: + return item->getSearchSwatch(); + case FETCH_ICON: + return item->getFetchSwatch(); + + case FIND_BASE_SYMBOL: + { + ResultWatcherData *rwd = item->m_findBaseSymbolRWD; + if (rwd) + { + if (rwd->image().isNull()) + { + // setup temporaryImage until finished/resultReady: + // store that at rwd to avoid unwanted findImage/findBaseSymbol/... + rwd->image() = AdvancedSymbology::SymbolDictionary::temporaryImage(); + + rwd->getResultWatcher()->setSymbolResult(d->m_symbolDictionaryImpl->findBaseSymbol(baseSymbolCode)); + } + return rwd->image(); + } + } + break; + + case FIND_PREVIEW: + { + ResultWatcherData *rwd = item->m_findPreviewRWD; + if (rwd) + { + if (rwd->image().isNull()) + { + // setup temporaryImage until finished/resultReady: + // store that at rwd to avoid unwanted findImage/findBaseSymbol/... + rwd->image() = AdvancedSymbology::SymbolDictionary::temporaryImage(); + + rwd->getResultWatcher()->setSymbolResult(d->m_symbolDictionaryImpl->findPreview(SidcBuilderBase::baseSymbolCodeToSidc(baseSymbolCode))); + } + return rwd->image(); + } + } + break; + + case FIND_IMAGE: + { + ResultWatcherData *rwd = item->m_findImageRWD; + if (rwd) + { + if (rwd->image().isNull()) + { + + AdvancedSymbology::SymbolDataToRender symDataToRender; + // symDataToRender.sidc = SidcCodec::isCivil(sidc) ? sidc : SidcBuilderBase::baseSymbolCodeToSidc(sidc); + symDataToRender.sidc = SidcBuilderBase::baseSymbolCodeToSidc(baseSymbolCode); + symDataToRender.fillColor = Qt::red; + symDataToRender.fillColorReplace = true; + symDataToRender.injury = Injury::TotalKill; + symDataToRender.injuryColor = Qt::gray; + symDataToRender.injuryColor.setAlphaF(0.2); + + symDataToRender.additionalSymbols.insert(AdditionalSymbolType::BiteError); + symDataToRender.additionalSymbols.insert(AdditionalSymbolType::Manipulation); + symDataToRender.additionalSymbols.insert(AdditionalSymbolType::NbcProtection); + symDataToRender.additionalSymbols.insert(AdditionalSymbolType::NoPosition); + + // setup temporaryImage until finished/resultReady: + // store that at rwd to avoid unwanted findImage/findBaseSymbol/... + rwd->image() = AdvancedSymbology::SymbolDictionary::temporaryImage(symDataToRender.sizeL); + + rwd->getResultWatcher()->setSymbolResult(d->m_symbolDictionaryImpl->findImage(symDataToRender)); + + } + return rwd->image(); + } + } + break; + + } // switch + + return QVariant(); // otherwise we get into next if statement + + } // if (role == Qt::DecorationRole) + + if ((role == Qt::DisplayRole) || (role == Qt::EditRole) || (role != LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole)) + { + const AdvancedSymbology::SymbolProperties &symbolProperties = item->m_symbolProperties; + + switch (index.column()) + { + case ID: + return item->m_id; + case ORIGINAL_KEY: + return symbolProperties.originalKey(); + case KEY: + return symbolProperties.key(); + case BASE_SYMBOL_CODE: + return item->baseSymbolCode(); + case SIDC: + return item->sidc(); +// return symbolProperties.sidc(); + case SYMBOL_SET: + return item->symbolSet(); + case NAME: + return symbolProperties.name(); + + case OPERATOR_NAME: + return item->m_operatorName; + case LAST_MODIFIED: + return DTG::toStringMSec(item->m_lastModified); + + case XML_SYMBOL_SIZE: + if (item->m_xmlSymbol) + return item->m_xmlSymbol->m_symbol.getScale(); + return QVariant(); + + case CATEGORY: + return symbolProperties.category(); + case SYMBOLCLASS: + return symbolProperties.symbolClass(); + case TAGS: + return symbolProperties.tags().join(QLatin1Char(';')); + case GCTSTRING: + return symbolProperties.gctString(); + case GEOMETRYTYPE: + return AdvancedSymbology::toString(symbolProperties.geometryType()); + + } // switch + } // if (role == Qt::DisplayRole) + + + if (role == Qt::ToolTipRole) + { + switch (index.column()) + { + case SEARCH_ICON: + return item->getTooltip(item->getSearchSwatch()); + case FETCH_ICON: + return item->getTooltip(item->getFetchSwatch()); + case FIND_BASE_SYMBOL: + return item->getTooltip(item->m_findBaseSymbolRWD->originalImage()); + case FIND_PREVIEW: + return item->getTooltip(item->m_findPreviewRWD->originalImage()); + case FIND_IMAGE: + return item->getTooltip(item->m_findImageRWD->originalImage()); + default: + break; + } //switch + return item->getTooltip(item->m_findImageRWD->originalImage()); + } + else if (role == LtsWidgets::LtsColumnFilterProxyModel::ComboboxFilterRole) + { + if (index.column() == OPERATOR_NAME) + return item->m_operatorName; + if (index.column() == SYMBOL_SET) + return item->symbolSet(); + if (index.column() == CATEGORY) + return item->m_symbolProperties.category(); + if (index.column() == SYMBOLCLASS) + return item->m_symbolProperties.symbolClass(); + if (index.column() == GCTSTRING) + return item->m_symbolProperties.gctString(); + if (index.column() == GEOMETRYTYPE) + return (int)item->m_symbolProperties.geometryType(); + if (index.column() == XML_SYMBOL_SIZE) + if (item->m_xmlSymbol) + return item->m_xmlSymbol->m_symbol.getScale(); + } + + return QVariant(); +} + + +int BaseSymbolModel::findRowForBaseSymbolCode(const QString &baseSymbolCode) +{ + int row = -1; + for (int i = 0; i < m_vecData.size(); ++i) + { + const DATA_T &item = m_vecData.at(i); + if (!item) + continue; + if (item->baseSymbolCode() == baseSymbolCode) + row = i; + } // for + return row; +} + + +void BaseSymbolModel::onDataChanged(int id) +{ +// FATAL_LOG(m_logger) << LOGFUNCTION << " START, id=" << id; + + // new image -> update view: + + int row = findRowForId(id); + emit dataChanged(index(row, 0), index(row, LtsAbstractTableModel::columnCount(QModelIndex()) - 1)); +} + +void BaseSymbolModel::onUpdateUsedItemsForComboBox() +{ + d->m_usedOperator.clear(); + d->m_usedSymbolSet.clear(); + d->m_usedSymbolClass.clear(); + d->m_usedXmlSymbolScale.clear(); + d->m_usedGeometryTypes.clear(); + d->m_usedCategory.clear(); + d->m_usedGctStrings.clear(); + + for (const QSharedPointer &item : qAsConst(m_vecData)) + { + if (!item) + continue; + d->m_usedOperator.insert(item->m_operatorName); + d->m_usedSymbolSet.insert(item->symbolSetAsInt(), item->symbolSet()); + d->m_usedSymbolClass.insert(item->m_symbolProperties.symbolClass()); + if (item->m_xmlSymbol) + d->m_usedXmlSymbolScale.insert(item->m_xmlSymbol->m_symbol.getScale()); + d->m_usedGeometryTypes.insert(item->m_symbolProperties.geometryType()); + d->m_usedCategory.insert(item->m_symbolProperties.category()); + d->m_usedGctStrings.insert(item->m_symbolProperties.gctString()); + } + d->m_usedGctStrings.remove(QString()); +} + + +SymbolProperties BaseSymbolModel::symbolProperties(const QString &baseSymbolCode) +{ + // bisher aus m_baseSymbolCodeToSymbolPropertyTable beantwortet: + + SymbolProperties symbolProperties; + for (const auto &item : qAsConst(m_vecData)) + { + if (item->baseSymbolCode() != baseSymbolCode) + continue; + + symbolProperties = item->m_symbolProperties; + } + return symbolProperties; +} + + +//------------------------------------------------------------------------------ +// BaseSymbolProxyModel +//------------------------------------------------------------------------------ +BaseSymbolProxyModel::BaseSymbolProxyModel(QObject *parent) + : BaseClass(parent) +{ +} + +void BaseSymbolProxyModel::setSourceModel(QAbstractItemModel *sourceModel) +{ + m_sourceModel = qobject_cast(sourceModel); + BaseClass::setSourceModel(sourceModel); +} + +bool BaseSymbolProxyModel::filterPoints() const +{ + return m_geometrySet.contains(AdvancedSymbology::GeometryType::Point); +} +bool BaseSymbolProxyModel::filterLines() const +{ + return m_geometrySet.contains(AdvancedSymbology::GeometryType::Polyline); +} +bool BaseSymbolProxyModel::filterAreas() const +{ + return m_geometrySet.contains(AdvancedSymbology::GeometryType::Polygon); +} + +QSet BaseSymbolProxyModel::validBaseSymbolCodes() const +{ + return m_validBaseSymbolCodes; +} + +void BaseSymbolProxyModel::setValidBaseSymbolCodes(const QSet &validBaseSymbolCodes) +{ + m_validBaseSymbolCodes = validBaseSymbolCodes; + invalidateFilter(); +} + +void BaseSymbolProxyModel::onFilterPoints(bool on) +{ + if (on) + m_geometrySet.insert(AdvancedSymbology::GeometryType::Point); + else + m_geometrySet.remove(AdvancedSymbology::GeometryType::Point); + invalidateFilter(); +} +void BaseSymbolProxyModel::onFilterLines(bool on) +{ + if (on) + m_geometrySet.insert(AdvancedSymbology::GeometryType::Polyline); + else + m_geometrySet.remove(AdvancedSymbology::GeometryType::Polyline); + invalidateFilter(); +} +void BaseSymbolProxyModel::onFilterAreas(bool on) +{ + if (on) + m_geometrySet.insert(AdvancedSymbology::GeometryType::Polygon); + else + m_geometrySet.remove(AdvancedSymbology::GeometryType::Polygon); + invalidateFilter(); +} + +bool BaseSymbolProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const +{ + if (!m_sourceModel || source_parent.isValid() || source_row < 0 || source_row >= m_sourceModel->rowCount()) + return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent); + + const QSharedPointer &item = m_sourceModel->getRowData(source_row); + + if (item) + { + // check geometryType + GeometryType symbolGeometry = item->m_symbolProperties.geometryType(); + if (!m_geometrySet.contains(symbolGeometry)) + return false; + + // check m_validBaseSymbolCodes + if (!m_validBaseSymbolCodes.isEmpty() && !m_validBaseSymbolCodes.contains(item->baseSymbolCode())) + return false; + } + + return LtsWidgets::LtsColumnFilterProxyModel::filterAcceptsRow(source_row, source_parent); +} + +bool BaseSymbolProxyModel::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const +{ + if (!m_sourceModel || + source_left.column() != source_right.column() || + source_left.row() < 0 || source_left.row() >= m_sourceModel->m_vecData.size() || + source_right.row() < 0 || source_right.row() >= m_sourceModel->m_vecData.size() + ) + return BaseClass::lessThan(source_left, source_right); + + + const QSharedPointer &left = m_sourceModel->m_vecData.at(source_left.row()); + const QSharedPointer &right = m_sourceModel->m_vecData.at(source_right.row()); + switch (source_left.column()) + { + case BaseSymbolModel::Columns::ID: + return left->m_id < right->m_id; + + case BaseSymbolModel::Columns::OPERATOR_NAME: + return left->m_operatorName < right->m_operatorName; + case BaseSymbolModel::Columns::LAST_MODIFIED: + return left->m_lastModified < right->m_lastModified; + + case BaseSymbolModel::Columns::BASE_SYMBOL_CODE: + return left->baseSymbolCode() < right->baseSymbolCode(); + +// case BaseSymbolModel::Columns::ORIGINAL_KEY: +// return left->m_symbolProperties.originalKey() < right->m_symbolProperties.originalKey(); +// case BaseSymbolModel::Columns::KEY: +// return left->m_symbolProperties.key() < right->m_symbolProperties.key(); +// case BaseSymbolModel::Columns::NAME: +// return left->m_symbolProperties.name() < right->m_symbolProperties.name(); +// case BaseSymbolModel::Columns::CATEGORY: +// return left->m_symbolProperties.category() < right->m_symbolProperties.category(); +// case BaseSymbolModel::Columns::SYMBOLCLASS: +// return left->m_symbolProperties.symbolClass() < right->m_symbolProperties.symbolClass(); + + case BaseSymbolModel::Columns::XML_SYMBOL_SIZE: + if (left->m_xmlSymbol && right->m_xmlSymbol) + return left->m_xmlSymbol->m_symbol.getScale() > right->m_xmlSymbol->m_symbol.getScale(); + } // switch + + return BaseClass::lessThan(source_left, source_right); +} + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.h new file mode 100755 index 000000000..dedc987a4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/base_symbol_model.h @@ -0,0 +1,323 @@ +/** + * @RDE_HEADER@ + * (Base) Symbol Model for Esri, XML, ETS Symbols + * $Id$ + * $HeadURL$ + * $Author$ + * Created by Norbert Thoden, NLE, 12.12.2019 + */ + +#pragma once + +// Own +#include +#include +#include +#include +#include +#include + + +// ESRI +#include +#include +#include + +#include +#include +#include + +// XML: +#include + +//Qt +#include +#include + +namespace AdvancedSymbology +{ +class SymbolDictionaryImpl; + +class ResultWatcherData; + +//------------------------------------------------------------------------------ +// BaseSymbolItem +//------------------------------------------------------------------------------ +class ADVANCED_SYMBOLOGY_EXPORT BaseSymbolItem : public QObject +{ + Q_OBJECT + +public: + // For Esri items + explicit BaseSymbolItem(int id, Esri::ArcGISRuntime::Symbol *esriSymbol_Search); + + // For XML items + explicit BaseSymbolItem(int id, const QString &baseSymbolCode, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol); + + // For Ets items + explicit BaseSymbolItem(int id, const QString &baseSymbolCode, const QImage &image); + + + ~BaseSymbolItem(); + + BaseSymbolItem(const BaseSymbolItem &) = delete; // do not copy + + void emit_dataChanged() { emit dataChanged(m_id); } + + // Common + int m_id = -1; + QString m_operatorName; + qint64 m_lastModified = 0; + + QString m_baseSymbolCode; + QString baseSymbolCode(); + QString sidc(); + + QString m_symbolSet; + QString symbolSet(); + int symbolSetAsInt(); + + QString getTooltip(const QImage &image); + + + SymbolProperties m_symbolProperties; + + // ESRI related: + SymbolDictionaryImpl *m_symbolDictionaryImpl = nullptr; + Esri::ArcGISRuntime::DictionarySymbolStyle *m_esriDictionary = nullptr; + void setSymbolDictionary(SymbolDictionary *symbolDictionary); + void setEsriSearchSymbol(Esri::ArcGISRuntime::Symbol *esriSymbol_Search); + + // Xml related: +private: + void setXmlSymbol(const SymbologyXML::Symbol &symbol); + +public: + // SEARCH + void setEsriSymbol_Search(Esri::ArcGISRuntime::Symbol *esriSymbol_Search) { m_esriSearch.m_esriSymbol = esriSymbol_Search; } + + struct EsriSearch + { + mutable Esri::ArcGISRuntime::Symbol *m_esriSymbol = nullptr; + mutable QUuid m_esriTaskUuid; + mutable QImage m_esriSwatch; + }; + EsriSearch m_esriSearch; + QImage getSearchSwatch(); + + // FETCH + struct EsriFetch + { + mutable QString m_sidc; + mutable QUuid m_esriFetchTaskIdUuid; + Esri::ArcGISRuntime::Symbol *m_esriSymbol = nullptr; + + mutable QUuid m_esriSwatchTaskUuid; + mutable QImage m_esriSwatch; + mutable QImage m_esriToolTipSwatch; + }; + EsriFetch m_esriFetch; + QImage getFetchSwatch() const; + + + ResultWatcherData *m_findBaseSymbolRWD = nullptr; + ResultWatcherData *m_findPreviewRWD = nullptr; + ResultWatcherData *m_findImageRWD = nullptr; + + + struct XmlSymbolStruct + { + SymbologyXML::Symbol m_symbol; + }; + XmlSymbolStruct *m_xmlSymbol = nullptr; + + + +Q_SIGNALS: + void dataChanged(int id); + +public Q_SLOTS: + // SEARCH_ICON: + void onEsriSearchSymbolSwatchCompleted(const QUuid &taskId, const QImage &image); + + // FETCH_ICON: + void onEsriFetchCompleted(const QUuid &taskId, Esri::ArcGISRuntime::Symbol *symbol); + void onEsriFetchSymbolSwatchCompleted(const QUuid &taskId, const QImage &image); +}; + +//------------------------------------------------------------------------------ +// ResultWatcherData +//------------------------------------------------------------------------------ +class ResultWatcherData : public QObject +{ + Q_OBJECT + +public: + explicit ResultWatcherData(BaseSymbolItem *baseSymbolItem) + : QObject(baseSymbolItem), + m_baseSymbolItem(baseSymbolItem) + {} + + AdvancedSymbology::SymbolResultWatcher *getResultWatcher() + { + if (!m_symbolResultWatcher) + { + m_symbolResultWatcher = new AdvancedSymbology::SymbolResultWatcher(this); + connect(m_symbolResultWatcher, &AdvancedSymbology::SymbolResultWatcher::resultReady, + this, &ResultWatcherData::onResultReady); + } + return m_symbolResultWatcher; + } + QImage &image() { return m_scaledImage; } + QImage &originalImage() { return m_orgImage; } + + +public Q_SLOTS: + void onResultReady(); + +Q_SIGNALS: + void dataChanged(); + +private: + AdvancedSymbology::SymbolResultWatcher *m_symbolResultWatcher = nullptr; + QImage m_scaledImage; + QImage m_orgImage; + + BaseSymbolItem *m_baseSymbolItem = nullptr; // 'parent' + +}; // class ResultWatcherData + + + +//------------------------------------------------------------------------------ +// BaseSymbolModel +//------------------------------------------------------------------------------ +class ADVANCED_SYMBOLOGY_EXPORT BaseSymbolModel : public LtsWidgets::LtsAbstractTableModel> +{ + Q_OBJECT + using BaseClass = LtsWidgets::LtsAbstractTableModel>; + +public: + using DATA_T = QSharedPointer; + + enum Columns + { + ID = 0, + + SEARCH_ICON, + FETCH_ICON, + + FIND_BASE_SYMBOL, + FIND_PREVIEW, + FIND_IMAGE, + + ORIGINAL_KEY, + KEY, + BASE_SYMBOL_CODE, + SIDC, + SYMBOL_SET, + NAME, + + OPERATOR_NAME, + LAST_MODIFIED, + + XML_SYMBOL_SIZE, + + CATEGORY, + SYMBOLCLASS, + TAGS, + GCTSTRING, + GEOMETRYTYPE, + }; + + explicit BaseSymbolModel(SymbolDictionary *symbolDictionary); + ~BaseSymbolModel(); + + int getId(const DATA_T &data) const override { return data->m_id; } + + + // Esri symbols + void initModel(SymbolDictionary *symbolDictionary, + const QList &searchResultList, + const SidcCodec::SidcHashTable &baseSymbolCodeToSymbolPropertyTable); + + // Xml symbols: + bool insertXmlSymbol(int fileId, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol, const SymbolProperties &properties); + bool removeXmlSymbol(int fileId); + + // Ets symbols: + bool insertEtsSymbol(int fileId, const QString &sidc, const SymbolProperties &properties, const QImage &image); + bool removeEtsSymbol(int fileId); + + void triggerFinishInitalization(); + + QVariant headerData(int section, Qt::Orientation orientation, int role) const override final; + QVariant data(const QModelIndex &, int) const override final; + + Qt::ItemFlags flags(const QModelIndex &modelIndex) const override { return BaseClass::flags(modelIndex) | Qt::ItemIsDragEnabled; } + + int findRowForBaseSymbolCode(const QString &baseSymbolCode); + + SymbolProperties symbolProperties(const QString &baseSymbolCode); + +private Q_SLOTS: + void onLoadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus); + void onErrorDictionary(const Esri::ArcGISRuntime::Error &error); + + void onDataChanged(int id); + + void onFinishInitalization(); + void onUpdateUsedItemsForComboBox(); + +private: + LOGGER_T m_logger; + + struct Private; + /** + * The private d->pointer to not break BC when changing internals of this class + */ + Private *d = nullptr; + + friend class BaseSymbolProxyModel; +}; + + + + +//------------------------------------------------------------------------------ +// BaseSymbolProxyModel +//------------------------------------------------------------------------------ +class ADVANCED_SYMBOLOGY_EXPORT BaseSymbolProxyModel : public LtsWidgets::LtsColumnFilterProxyModel +{ + Q_OBJECT + using BaseClass = LtsWidgets::LtsColumnFilterProxyModel; + +public: + explicit BaseSymbolProxyModel(QObject *parent = nullptr); + + using LtsWidgets::LtsColumnFilterProxyModel::LtsColumnFilterProxyModel; + void setSourceModel(QAbstractItemModel *sourceModel) override; + + bool filterPoints() const; + bool filterLines() const; + bool filterAreas() const; + + QSet validBaseSymbolCodes() const; + void setValidBaseSymbolCodes(const QSet &validBaseSymbolCodes); + +public Q_SLOTS: + void onFilterPoints(bool on); + void onFilterLines(bool on); + void onFilterAreas(bool on); + +protected: + bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override; + bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const override; + +protected: + BaseSymbolModel *m_sourceModel = nullptr; + QSet m_validBaseSymbolCodes; + QSet m_geometrySet = {GeometryType::Undefined, GeometryType::Point, GeometryType::Polyline, GeometryType::Polygon}; +}; + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.cpp new file mode 100755 index 000000000..0281f6e64 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.cpp @@ -0,0 +1,394 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of EsriDictionaryProcessor + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "esri_dictionary_processor.h" + +#include "symbol_dictionary.h" // Interface (enums) +#include + + +// ESRI +#include +#include +#include +#include +#include + + +// Qt +#include +#include + +#define CREATE_ESRI_SYMBOL_ON_DEMAND // save time on startup +// REGG-3483 - EsriDictionaryProcessor::syncTableWithinMainThread verzögert Applikations-Start um mehrere Sekunden + +QImage AdvancedSymbology::scaleImage(const QImage &image, int sizeL) +{ + if (sizeL == 100) + return image; + double factor = sizeL / 100.0; + const QSize &newSize = image.size() * factor; + return image.scaled(newSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); +} + + +namespace AdvancedSymbology +{ + +EsriDictionaryProcessor::EsriDictionaryProcessor(SymbologyType symbologyType) + : m_logger(getLogger("EsriDictionaryProcessor")), + m_baseSymbolCodeToSymbolPropertyTable(symbologyType, SidcCodec::SidcType::Base) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ThreadId=" << QThread::currentThreadId(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +EsriDictionaryProcessor::~EsriDictionaryProcessor() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + this->cancel(); + this->waitForFinished(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void EsriDictionaryProcessor::cancel() +{ + NOTICE_LOG(m_logger) << LOGFUNCTION << " canceling ..."; + m_baseSymbolCodeToSymbolPropertyTableWatcher.cancel(); // Job 1 + m_modifierTableWatcher.cancel(); // Job 2 + // Job n + NOTICE_LOG(m_logger) << LOGFUNCTION << " canceling ... done"; +} + +void EsriDictionaryProcessor::waitForFinished() +{ + NOTICE_LOG(m_logger) << LOGFUNCTION << " waitForFinished ..."; + m_baseSymbolCodeToSymbolPropertyTableWatcher.waitForFinished(); // Job 1 + m_modifierTableWatcher.waitForFinished(); // Job 2 + // Job n + NOTICE_LOG(m_logger) << LOGFUNCTION << " waitForFinished ... done"; +} + +void EsriDictionaryProcessor::init(Esri::ArcGISRuntime::DictionarySymbolStyle *loaded_esri_dictionary) +{ + m_esri_dictionary = loaded_esri_dictionary; +} + +void EsriDictionaryProcessor::prepare() +{ + searchSymbols(); +} + +void EsriDictionaryProcessor::searchSymbols() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // + // search for all results (and store them in member): + // + + connect(m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::searchSymbolsCompleted, + this, &EsriDictionaryProcessor::onSearchSymbolsCompletedPropertyTable, Qt::UniqueConnection); + + Esri::ArcGISRuntime::SymbolStyleSearchParameters sssp; + + Esri::ArcGISRuntime::TaskWatcher tw = m_esri_dictionary->searchSymbols(sssp); + if (tw.isValid()) + DEBUG_LOG(m_logger) << LOGFUNCTION << " TaskWatcher valid: ssTaskId=" << tw.taskId().toString(); + else + ERROR_LOG(m_logger) << LOGFUNCTION << " TaskWatcher invalid" << " ThreadId=" << QThread::currentThreadId(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + +} + +void EsriDictionaryProcessor::startBaseSymbolCodeToPropertyTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // A-sync: + // (slot is a pure virtual method) + m_baseSymbolCodeToSymbolPropertyTableWatcher = QtConcurrent::run(this, &EsriDictionaryProcessor::processBaseSymbolCodeToPropertyTable); + + + // Sync: // processBaseSymbolCodeToPropertyTable(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; +} + +void EsriDictionaryProcessor::startModifierTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // A-sync: + // (slot is a pure virtual method) + m_modifierTableWatcher = QtConcurrent::run(this, &EsriDictionaryProcessor::processModifierTable); + + // Sync: // processModifierTable(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +QStringList EsriDictionaryProcessor::symbolModifierKeys() const +{ + return m_modifierTable.keys(); +} // QStringList EsriDictionaryProcessor::symbolModifierKeys() const + + +bool EsriDictionaryProcessor::symbolModifierData(const QString &key, ModifierData &data) const +{ + if (!m_modifierTable.contains(key)) return false; + data = m_modifierTable[key]; + return true; +} // bool EsriDictionaryProcessor::symbolModifierData(const QString & key, SymbolDictionary::ModifierData & data) const + + +QVector EsriDictionaryProcessor::symbolModifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const +{ + // check modifierSector, must be 1 or 2 + + if ((modifierSector < 1) || (modifierSector > 2)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " Illegal modifierSector \"" << modifierSector << "\". Must be 1 or 2."; + return QVector(); + } + + + QVector resultList; + resultList.reserve(m_modifierTable.size()); + + QMapIterator hIt(m_modifierTable); + while (hIt.hasNext()) + { + hIt.next(); + if ((hIt.value().m_symbolSet == symbolSet) && (hIt.value().m_modifierSector == modifierSector)) + resultList << hIt.value(); + } + return resultList; +} // QVector EsriDictionaryProcessor::symbolModifierList(const QString & baseSymbolCode, unsigned int modifierSector) const + + + +bool EsriDictionaryProcessor::allJobsDone() const +{ + return + m_baseSymbolCodeToSymbolPropertyTableFilled && // Job 1 + m_modifierTableFilled; // Job 2 + // Job n +} + +void EsriDictionaryProcessor::onSearchSymbolsCompletedPropertyTable(QUuid, Esri::ArcGISRuntime::SymbolStyleSearchResultListModel *searchResults) +{ + // ssTaskId can be ignored during initializing phase: + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // save: + m_searchResultList = searchResults->searchResults(); +// m_searchResultList << searchResults->searchResults().first(); // speed up for valgrind + + // cleanup: + searchResults->deleteLater(); + + // disconnect: + disconnect(m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::searchSymbolsCompleted, + this, &EsriDictionaryProcessor::onSearchSymbolsCompletedPropertyTable); + + // method 'symbol' has to be called (created) within mainThread: + syncTableWithinMainThread(); + + + // + // trigger single jobs: + // + startBaseSymbolCodeToPropertyTable(); // Job 1 + startModifierTable(); // Job 2 + // Job n + + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_searchResultList.size()=" << m_searchResultList.size(); +} + +void EsriDictionaryProcessor::onEsriSymbolSwatchCompleted(const QUuid &csTaskId, const QImage &image) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " csTaskId= '" << csTaskId << "'" + << " image.isNull= '" << image.isNull() << "'" + << " image.colorTable().size()= '" << image.colorTable().size() << "'" + << " ThreadId=" << QThread::currentThreadId(); + + auto it = m_symbolPropertyImage2symbolResult.find(csTaskId); + if (it == m_symbolPropertyImage2symbolResult.end()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no taskIdMapping" + << " csTaskId= '" << csTaskId << "'"; + return; + } + + + DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult found..." << " csTaskId= '" << csTaskId << "'"; + QSharedPointer symResult = it.value().toStrongRef(); + if (symResult) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult found and still valid..." + << " csTaskId= '" << csTaskId << "'"; + + const SymbolDataToRender &symDataToRender = symResult->symbolDataToRender(); + + // save in 'cache': + const QString &originalKey = symDataToRender.spiOriginalKey; + const int sizeL = symDataToRender.spiSizeL; + auto itCache = m_originalKeyToEsriSymbol.find(originalKey); + if (itCache == m_originalKeyToEsriSymbol.end()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " save to cache, not found, " << " originalKey= '" << originalKey << "'" + << " csTaskId= '" << csTaskId << "'"; + } + else + itCache.value().swatchImage = image; + + // return value + SymbolImage symImage; + + const QImage &scaledImg = scaleImage(image, sizeL); + + if (scaledImg.isNull()) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " image.isNull() = " << image.isNull() + << " scaledImg.isNull() = " << scaledImg.isNull() + << " sizeL=" << sizeL; + } + + symImage.setImage(scaledImg); + symImage.setValid(true); + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); // ToDo: maybe async!?!? + + } + else + { + INFO_LOG(m_logger) << LOGFUNCTION << " SymbolResult has already been deleted" + << " csTaskId= '" << csTaskId << "'"; + } + + // cleanup + m_symbolPropertyImage2symbolResult.erase(it); +} + +void EsriDictionaryProcessor::checkIfAllAreDone() +{ + if (allJobsDone()) + emit allIsDone(); +} + +void EsriDictionaryProcessor::syncTableWithinMainThread() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // for ALL searchResuls (for valid baseSymbolCodes, for modifierTable...) + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + const QString &originalKey = resultItem.key(); + + // store esriSymbol for rendering issues: + EsriSymbol eSym; +#ifdef CREATE_ESRI_SYMBOL_ON_DEMAND + eSym.m_sssResult =resultItem; +#else + QObject *parent = this; + eSym.esriSymbol = resultItem.symbol(parent); // resultItem.symbol() has to be called from mainThread??? +#endif // CREATE_ESRI_SYMBOL_ON_DEMAND + m_originalKeyToEsriSymbol[originalKey] = eSym; + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END, m_originalKeyToEsriSymbol.size=" << m_originalKeyToEsriSymbol.size(); +} + +bool EsriDictionaryProcessor::symbolPropertyImageContains(const QString &originalKey) const +{ + return m_originalKeyToEsriSymbol.contains(originalKey); +} + +QSharedPointer EsriDictionaryProcessor::symbolPropertyImage(QSharedPointer symResult, const QString &originalKey) const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + auto it = m_originalKeyToEsriSymbol.find(originalKey); + if (it == m_originalKeyToEsriSymbol.end()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " not found, " << " originalKey= '" << originalKey << "'"; + return symResult; + } + + const EsriSymbol &eSym = it.value(); + + if (eSym.swatchImage.isNull()) + { +#ifdef CREATE_ESRI_SYMBOL_ON_DEMAND + if (!eSym.esriSymbol) + { + QObject *parent = const_cast(this); // cast const away + eSym.esriSymbol = eSym.m_sssResult.symbol(parent); // resultItem.symbol() has to be called from mainThread??? + } +#endif // CREATE_ESRI_SYMBOL_ON_DEMAND + + connect(eSym.esriSymbol, &Esri::ArcGISRuntime::Symbol::createSwatchCompleted, + this, &EsriDictionaryProcessor::onEsriSymbolSwatchCompleted, Qt::UniqueConnection); + +#ifdef USE_ARCADE_SYMBOLOGY + Esri::ArcGISRuntime::TaskWatcher tw; + auto it = m_baseSymbolCodeToSymbolPropertyTable.find(originalKey); + if (it != m_baseSymbolCodeToSymbolPropertyTable.end() && (it->geometryType() == GeometryType::Polygon) ) + // area/Polygon -> request rectangle, otherwise quadratic swatch: + tw = eSym.esriSymbol->createSwatch(CREATE_SWATCH_PARAMETER.m_width, CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_screenScale); + else + tw = eSym.esriSymbol->createSwatch(CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_screenScale); + +#else + Esri::ArcGISRuntime::TaskWatcher tw = eSym.esriSymbol->createSwatch(CREATE_SWATCH_SCREEN_SCALE); +#endif // USE_ARCADE_SYMBOLOGY + QUuid csTaskId; + if (tw.isValid()) + { + csTaskId = tw.taskId(); + DEBUG_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher valid: csTaskId=" << csTaskId; + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher invalid" + << " ThreadId=" << QThread::currentThreadId(); + } + + if (! csTaskId.isNull()) + m_symbolPropertyImage2symbolResult[csTaskId] = symResult.toWeakRef(); + else + ERROR_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher invalid"; + + } + else + { + // use from 'cache': + SymbolImage symImage; + + const SymbolDataToRender &symDataToRender = symResult->symbolDataToRender(); + int sizeL = symDataToRender.sizeL; + + const QImage &scaledImg = scaleImage(eSym.swatchImage, sizeL); + + symImage.setImage(scaledImg); + symImage.setValid(true); + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); // ToDo: maybe async!?!? + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return symResult; +} + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.h new file mode 100755 index 000000000..ee76866a8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor.h @@ -0,0 +1,225 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of EsriDictionaryProcessor + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include // Our interface "SymbolDictionary" +#include "advanced_symbology_logging.h" +#include +#include + + +// Qt +#include + + +// Esri +#include + + + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +struct createSwatchParameter +{ + static constexpr int m_width = 128; + static constexpr int m_height = 64; + static constexpr float m_screenScale = 2; + +}; +static constexpr createSwatchParameter CREATE_SWATCH_PARAMETER = createSwatchParameter(); + +static constexpr float CREATE_SWATCH_SCREEN_SCALE = 5; + + +QImage scaleImage(const QImage &image, int sizeL = 100); + + +/** + * @brief The EsriDictionaryProcessor class analyses the stylx files of ESRI. + * The process is seperated: + * Setup: The EsriDictionaryProcessor has to be set up with the desired + * SymbologyType and initialized with the loaded raw Esri::ArcGISRuntime::DictionarySymbolStyle. + * Step 1: + * Search all from esri_dictionary (prepare) + * When this is finished, + * Step 2: + * For all results the associated Esri::ArcGISRuntime:Symbol has to be retrieved. + * This has to be done in the mainThread (syncTableWithinMainThread). + * Step 3: + * The single jobs can be triggered and performed in seperate threads: + * Job 1: startBaseSymbolCodeToPropertyTable(); + * Job 2: startModifierTable(); + * And the end of each job it´s checked if all jobs are finished (checkIfAllAreDone). + * If so the signal allIsDone is emitted. + * + * Now the BaseSymbolCodeToPropertyTableFinished and the ModifierTable is prepared. + */ +class EsriDictionaryProcessor : public QObject +{ + Q_OBJECT + +public: + /*! \name Construction, Destruction */ + //@{ + explicit EsriDictionaryProcessor(SymbologyType symbologyType); + virtual ~EsriDictionaryProcessor(); + + void cancel(); + void waitForFinished(); + //@} + + virtual bool searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName = nullptr) = 0; + + // + // Common: + // + /*! \name Common */ + //@{ + void init(Esri::ArcGISRuntime::DictionarySymbolStyle *loaded_esri_dictionary); + void prepare(); + +protected: + //@} + + + // + // Job 1: BaseSymbolCodeToPropertyTable + // +public: + /*! \name Job 1: BaseSymbolCodeToPropertyTable */ + //@{ + void startBaseSymbolCodeToPropertyTable(); + virtual bool processBaseSymbolCodeToPropertyTable() = 0; + bool baseSymbolCodeToPropertyTableFinished() + { + return m_baseSymbolCodeToSymbolPropertyTableFilled; + } + + const SidcCodec::SidcHashTable baseSymbolCodeToSymbolPropertyTable() const + { + return m_baseSymbolCodeToSymbolPropertyTable; + } + + //@} + + + // + // Job 2: ModifierTable + // +public: + /*! \name Job 2: ModifierTable */ + //@{ + void startModifierTable(); + virtual bool processModifierTable() = 0; + bool modifierTableFinished() + { + return m_modifierTableFilled; + } + + QStringList symbolModifierKeys() const; + + bool symbolModifierData(const QString &key, ModifierData &data) const; + + QVector symbolModifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const; + + //@} + + + // + // Job n: + // +public: + + + + // + // common final: + // +public: + bool allJobsDone() const; + +Q_SIGNALS: + void allIsDone(); + void baseSymbolCodeToPropertyTableDone(); + void modifierTableDone(); + + +protected Q_SLOTS: + void onSearchSymbolsCompletedPropertyTable(QUuid /*ssTaskId*/, Esri::ArcGISRuntime::SymbolStyleSearchResultListModel *searchResults); + void onEsriSymbolSwatchCompleted(const QUuid &csTaskId, const QImage &image); + + +protected: + void checkIfAllAreDone(); + void searchSymbols(); + void syncTableWithinMainThread(); + + // + // Common + // + LOGGER_T m_logger; ///< Interface of the Logging-Facility + + Esri::ArcGISRuntime::DictionarySymbolStyle *m_esri_dictionary = nullptr; + + QList m_searchResultList; + QList m_searchResultListValid; + + // originalKey + struct EsriSymbol + { + Esri::ArcGISRuntime::SymbolStyleSearchResult m_sssResult; + mutable Esri::ArcGISRuntime::Symbol *esriSymbol = nullptr; + mutable QImage swatchImage; + }; + QHash m_originalKeyToEsriSymbol; + + // symbolPropertyImage-Uuid -> SymbolResult + mutable QMap> m_symbolPropertyImage2symbolResult; + +public: + bool symbolPropertyImageContains(const QString &originalKey) const; + QSharedPointer symbolPropertyImage(QSharedPointer symResult, const QString &originalKey) const; + + const QList & getSearchResultList() const { return m_searchResultList; } + const QList & getSearchResultListValid() const { return m_searchResultListValid; } + +protected: + // + // Job 1: baseSymbolCodeToSymbolPropertyTable: + // + SidcCodec::SidcHashTable m_baseSymbolCodeToSymbolPropertyTable; + bool m_baseSymbolCodeToSymbolPropertyTableFilled = false; + QFuture m_baseSymbolCodeToSymbolPropertyTableWatcher; + + + + + // + // Job 2: + // + QMap m_modifierTable; + bool m_modifierTableFilled = false; + QFuture m_modifierTableWatcher; + + // + // Job n: + // + + + +}; + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.cpp new file mode 100755 index 000000000..8f12bef14 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.cpp @@ -0,0 +1,315 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of EsriDictionaryProcessorApp6 + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "esri_dictionary_processor_app6.h" +#include "sidc_builder_base.h" + +// ESRI + + +// Qt +#include +#include + + +namespace AdvancedSymbology +{ + +EsriDictionaryProcessorApp6::EsriDictionaryProcessorApp6() + : BaseClass(AdvancedSymbology::SymbologyType::APP6B) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ThreadId=" << QThread::currentThreadId(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} // EsriDictionaryProcessorApp6::~EsriDictionaryProcessorApp6() + + +EsriDictionaryProcessorApp6::~EsriDictionaryProcessorApp6() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + this->cancel(); + this->waitForFinished(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} // EsriDictionaryProcessorApp6::~EsriDictionaryProcessorApp6() + + +void EsriDictionaryProcessorApp6::cancel() +{ + BaseClass::cancel(); + // add specific here: +} // void EsriDictionaryProcessorApp6::cancel() + + +void EsriDictionaryProcessorApp6::waitForFinished() +{ + BaseClass::waitForFinished(); + // add specific here: +} // void EsriDictionaryProcessorApp6::waitForFinished() + + +bool EsriDictionaryProcessorApp6::searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName) +{ + Q_UNUSED(key8LookupTable) + Q_UNUSED(toBeRemovedFromName) + const QString &originalKey = resultItem.key(); +// const QString &name = resultItem.name(); +// const QString &tags = resultItem.tags().join(QLatin1Char('|')); +// const QString &category = resultItem.category(); +// const QString &symbolclass = resultItem.symbolClass(); + + // Esri::ArcGISRuntime::Symbol * symbol = resultItem.symbol(); + +#ifdef APP6_DUMP + static QFile * file = nullptr; + + if (nullptr == file) + { + file = new QFile(); + file->setFileName(QStringLiteral("app6.info")); + } + + file->open(QIODevice::OpenModeFlag::Append | QIODevice::OpenModeFlag::Text); + + QTextStream out(file); + out << symbolclass << " ; " << category << " ; " << originalKey << " ; " << name << " ; " << tags << endl; + + file->close(); +#endif + + //TRACE_LOG(m_logger) + + // qCritical() << LOGFUNCTION << " originalKey='" << originalKey << "' namne ='" << name <<"'"; + + // check symbolClass: (to reduce empty keys, check symboClass first) + int symbolClass = resultItem.symbolClass().toInt(); + if ((symbolClass == 6) || // symbolClass ( 6) == TextSymbol + (symbolClass == 10) // symbolClass (10) == MaplexLabelPlacement + ) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " symbolClass does not match " + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + const int keySize = originalKey.size(); + if ((15 != keySize) && (10 != keySize)) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " keySize does not match," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + +// const QStringRef & baseKey = originalKey.midRef(4,5); + + return true; + +} // bool EsriDictionaryProcessorApp6::resultItemIsValid(const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem) + + + +bool EsriDictionaryProcessorApp6::processBaseSymbolCodeToPropertyTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + if (m_searchResultList.isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_searchResultList.isEmpty"; + return false; + } + + int resultItemCounter = 0; + int gctStringEmptyCounter = 0; + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + + // canceled? + // 2017-09-07, Qt5.9, N. Thoden + // A default initialized QFuture seems to have an inconsistent state: + // -> isStarted=1 <---!!! + // -> isRunning=0 + // -> isCanceled=1 <---!!! + // so check isCanceled() && isRunning() + // 2017-10-09, Qt5.9.1, N.Thoden + // Problöem still arises, so perform at a least a couple: + if (m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled() && m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning() && + (resultItemCounter >= 10)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled"; + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished(); + return false; + } + + + if (resultItemCounter == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + ++resultItemCounter; + + if ((resultItemCounter % 500) == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.key ='" << resultItem.key() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.name ='" << resultItem.name() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.category ='" << resultItem.category() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.symbolClass ='" << resultItem.symbolClass() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.tags ='" << resultItem.tags().join(QLatin1String(";")) << "'"; + + bool isValid = searchResultIsValid(QHash(), resultItem); + + if (!isValid) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " continue:: not valid " + << " key='" << resultItem.key() << "'" + << " name='" << resultItem.name() << "'"; + continue; + } + + const QString &originalKey = resultItem.key(); + const QString &baseKey = SidcBuilderBase::normalizeAPP6BaseSymbolCode( originalKey ); + + if (m_baseSymbolCodeToSymbolPropertyTable.contains(baseKey)) + { + /* FATAL_LOG(m_logger) << LOGFUNCTION + << " continue:: already EXISTS!!!" + << " baseKey='" << baseKey << "'" + << " originalKey='" << originalKey << "'";*/ + // It is normal here, comment out error message an continue + continue; + } + + SymbolProperties symProps; + symProps.setKey(baseKey); + symProps.setName(resultItem.name()); + symProps.setCategory(resultItem.category()); + symProps.setSymbolClass(resultItem.symbolClass()); + symProps.setTags(resultItem.tags()); + symProps.setOriginalKey(originalKey); + symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), baseKey)); + // retrieve GeometryType + + const QString &slClass = resultItem.symbolClass(); + + if (!slClass.isEmpty()) + { + bool isPoint = slClass.compare(QLatin1String("3"), Qt::CaseInsensitive) == 0; + bool isLine = slClass.compare(QLatin1String("4"), Qt::CaseInsensitive) == 0; + bool isArea = slClass.compare(QLatin1String("5"), Qt::CaseInsensitive) == 0; + + if (isPoint) + symProps.setGeometryType(GeometryType::Point); + else if (isLine) + symProps.setGeometryType(GeometryType::Polyline); + else if (isArea) + symProps.setGeometryType(GeometryType::Polygon); + else + { + FATAL_LOG(m_logger) << LOGFUNCTION + << " continue:: unknown geometry!!!" + << " baseKey='" << baseKey << "'" + << " originalKey='" << originalKey << "'"; + continue; + } + } + + /* + const QString cat = resultItem.category(); + const QVector &slCategory = cat.splitRef(QLatin1Char(':')); + + if (!slCategory.isEmpty()) + { + const QStringRef &geometryStr = slCategory.last().trimmed(); + bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; + bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; + bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; + bool isArea = geometryStr.compare(QLatin1String("Area"), Qt::CaseInsensitive) == 0; + + if (isPoint || isMainIcon) + symProps.setGeometryType(GeometryType::Point); + else if (isLine) + symProps.setGeometryType(GeometryType::Polyline); + else if (isArea) + symProps.setGeometryType(GeometryType::Polygon); + } + + + DEBUG_LOG(m_logger) << LOGFUNCTION << " XXXXXXXXX GeometryType:" + << " baseKey='" << baseKey << "'" + << " originalKey='" << originalKey << "'" + << "' slLast='" << slCategory.last().toString() << "'" + << " geoType= " << symProps.geometryType(); + */ + + // check for gct_-String: + if (symProps.geometryType() == GeometryType::Polyline || + symProps.geometryType() == GeometryType::Polygon) + { + const QString & gctString = symProps.gctString(); + if (gctString.isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " gctString is missing: baseKey='" << baseKey << "'" + << " geoType= " << symProps.geometryType() + << " tags=" << resultItem.tags().join(QLatin1String(";")); + ++gctStringEmptyCounter; + + // here define some special gct_string to demonstrate the function with APP6B + + if (QStringLiteral("G*C*MOLDM-*****") == baseKey) symProps.setTags(symProps.tags() << QStringLiteral("gct_line")); + if (QStringLiteral("G*C*MOOP--*****") == baseKey) symProps.setTags(symProps.tags() << QStringLiteral("gct_arrow_with_tail")); + if (QStringLiteral("G*T*GE----*****") == baseKey) symProps.setTags(symProps.tags() << QStringLiteral("gct_circle")); + if (QStringLiteral("G*T*GQ----*****") == baseKey) symProps.setTags(symProps.tags() << QStringLiteral("gct_circle")); + if (QStringLiteral("G*C*MMDP--*****") == baseKey) symProps.setTags(symProps.tags() << QStringLiteral("gct_two_line")); + + // so should be enough .... + + if (symProps.gctString().isEmpty() && (QStringLiteral("G*C*MDM---*****") != baseKey)) + { + continue; + } + } + } + + + m_baseSymbolCodeToSymbolPropertyTable[baseKey] = symProps; + + } // for + + m_baseSymbolCodeToSymbolPropertyTableFilled = true; + NOTICE_LOG(m_logger) << LOGFUNCTION << " ##### resultItemCounter=" << resultItemCounter + << " m_baseSymbolCodeToSymbolPropertyTable.size=" << m_baseSymbolCodeToSymbolPropertyTable.size() + << " gctStringEmptyCounter=" << gctStringEmptyCounter + << " threadId: " << QThread::currentThreadId(); + emit baseSymbolCodeToPropertyTableDone(); + + + checkIfAllAreDone(); // will potentially emit signal 'allIsDone' + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; +} // bool EsriDictionaryProcessorApp6::processBaseSymbolCodeToPropertyTable() + + +bool EsriDictionaryProcessorApp6::processModifierTable() +{ + m_modifierTableFilled = true; + return true; +} // bool EsriDictionaryProcessorApp6::processModifierTable() + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.h new file mode 100755 index 000000000..0da8ca198 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6.h @@ -0,0 +1,102 @@ +/* +** +** @RDE_HEADER@ +** Interface-Implementation of EsriDictionaryProcessorApp6. +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** 01.07.2016, JT : First edition for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + +// Own +#include "esri_dictionary_processor.h" + + +// Qt + + +// Esri + + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +class EsriDictionaryProcessorApp6 : public EsriDictionaryProcessor +{ + Q_OBJECT + + using BaseClass = EsriDictionaryProcessor; + +public: + /*! \name Construction, Destruction */ + //@{ + EsriDictionaryProcessorApp6(); + ~EsriDictionaryProcessorApp6(); + + void cancel(); + void waitForFinished(); + + EsriDictionaryProcessorApp6(const EsriDictionaryProcessorApp6 &other) = delete; + EsriDictionaryProcessorApp6 &operator=(const EsriDictionaryProcessorApp6 &other) = delete; + //@} + + bool searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName = nullptr) override; + + // + // Common: + // + /*! \name Common */ + //@{ + +protected: + //@} + + + // + // Job 1: BaseSymbolCodeToPropertyTable + // +public: + /*! \name Job 1: BaseSymbolCodeToPropertyTable */ + //@{ + bool processBaseSymbolCodeToPropertyTable() override; + //@} + + + // + // Job 2: ModifierTable + // +public: + /*! \name Job 2: ModifierTable */ + //@{ + bool processModifierTable() override; + //@} + +}; + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.cpp new file mode 100755 index 000000000..61c0227fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.cpp @@ -0,0 +1,469 @@ + + /** + ** + ** @RDE_HEADER@ + ** Interface-Implementation of EsriDictionaryProcessorApp6d + ** $Id$ + ** $HeadURL$ + ** $Author: turla + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Hardware-Environment: Intel-PC + ** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 + ** + ** Language ........: C++ 11 + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Author ...........: Jörg Turla, SPD G, Tel. 3132 + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Notes .........: + ** + ** 09.05.2018, JT : First edition for use with Qt5 + ** + ** ----------------------------------------------------------------------------------------------- + */ +// Own +#include "esri_dictionary_processor_app6d.h" + + +// ESRI + + +// Qt +#include + + + +#include // This file is created by RME, not ESRI + + +namespace AdvancedSymbology +{ + + EsriDictionaryProcessorApp6D::EsriDictionaryProcessorApp6D() + : BaseClass(AdvancedSymbology::SymbologyType::APP6D) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ThreadId=" << QThread::currentThreadId(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + + EsriDictionaryProcessorApp6D::~EsriDictionaryProcessorApp6D() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + this->cancel(); + this->waitForFinished(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void EsriDictionaryProcessorApp6D::cancel() +{ + BaseClass::cancel(); + // add specific here: +} + +void EsriDictionaryProcessorApp6D::waitForFinished() +{ + BaseClass::waitForFinished(); + // add specific here: +} + + +bool EsriDictionaryProcessorApp6D::searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName) +{ + const QString &originalKey = resultItem.key(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " originalKey='" << originalKey << "'"; + + // check symbolClass: (to reduce empty keys, check symboClass first) + int symbolClass = resultItem.symbolClass().toInt(); + if ((symbolClass == 6) || // symbolClass ( 6) == TextSymbol + (symbolClass == 10) // symbolClass (10) == MaplexLabelPlacement + ) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " symbolClass does not match " + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // + // size (25270100 || 25270100_4) [V100.0, V100.1] + // + const int keySize = originalKey.size(); + if (!((keySize == 8) || (keySize == 10))) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " keySize does not match," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + + // + // isFrame (key like '0_110_1c') [V100.0, V100.1] + // + if (originalKey.at(1) == QLatin1Char('_')) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " isFrame," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // + // reduce key to base (e.g. 25270100_4 -> 25270100) [V100.0, V100.1] + // + const QString &key8 = originalKey.left(8); + + bool ok = false; + key8.toInt(&ok); // check for being an integer + if (!ok) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " chars, " + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + + // V100.0: For these the key exists twice! (SymbolClass '3' and '5') + // -> prefer item with SymbolClass '3' + static const QSet listOfKnownDoubleEntries({QStringLiteral("25140103"), + QStringLiteral("25140606"), + QStringLiteral("25140607"), + QStringLiteral("25151407"), + QStringLiteral("25151408"), + QStringLiteral("25140104"), + QStringLiteral("25140102"), + QStringLiteral("25150101"), + QStringLiteral("25150102"), + QStringLiteral("25150103"), + QStringLiteral("25150104"), + QStringLiteral("25151802"), + QStringLiteral("25200500"), + QStringLiteral("25200600"), + QStringLiteral("25241403"), + QStringLiteral("25270703"), + QStringLiteral("25270704"), + QStringLiteral("25200400"), + QStringLiteral("25272100"), + }); + + if (listOfKnownDoubleEntries.contains(key8)) + { + const QString &symClass = resultItem.symbolClass(); + if (!symClass.compare(QLatin1String("3"))) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " listOfKnownDoubleEntries" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'" + << " symbolClass='" << symClass << "'"; + return false; // use other/proper with better SymbolClass instead + } + } + + // + // use key8 instead of key10 [V100.0, V100.1] + // + if (keySize == 10) + { + // + // there are entries with postfix (_1) and AND proper key8 + // (e.g. '25271800_3' ; ... ; and proper 25271800: + // + bool useOtherKey8 = key8LookupTable.contains(key8); + + if (useOtherKey8) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " useOtherKey8_a" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; // use other/proper key8 item instead + } + + // + // there are entries with postfix (_1) and AND NO proper key8 + // (e.g. '10120100_0' ; '10120100_1' ; '10120100_2' ; '10120100_3' ; but no '10120100' + // 10120100 = Movement And Maneuver ; Air Assult with Organic Lift - FullFrame + // + // Most of the times these are the FULL_FRAME symbols. (except "Maneuver Lines : Line of Contact" = 25140200_6) + // + // use neutral item instead + // + const QString &name = resultItem.name(); + if (name.contains(QStringLiteral("Neutral"))) + { + if (toBeRemovedFromName) + *toBeRemovedFromName = QStringLiteral("Neutral"); + } + else + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " useOtherKey8_bb" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; // wait for Neutral item + } + + } // if (keySize == 10) + + return true; + +} + +bool EsriDictionaryProcessorApp6D::processBaseSymbolCodeToPropertyTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + if (m_searchResultList.isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_searchResultList.isEmpty"; + return false; + } + + QHash key8LookupTable; + for (int i = 0; i < m_searchResultList.size(); ++i) + { + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem = m_searchResultList.at(i); + if (resultItem.key().size() == 8) + key8LookupTable[resultItem.key()] = i; + } + + int resultItemCounter = 0; + int gctStringEmptyCounter = 0; + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + + // canceled? + // 2017-09-07, Qt5.9, N. Thoden + // A default initialized QFuture seems to have an inconsistent state: + // -> isStarted=1 <---!!! + // -> isRunning=0 + // -> isCanceled=1 <---!!! + // so check isCanceled() && isRunning() + // 2017-10-09, Qt5.9.1, N.Thoden + // Problem still arises, so perform at a least a couple: + if (m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled() && m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning() && + (resultItemCounter >= 10)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled"; + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished(); + return false; + } + + + if (resultItemCounter == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + ++resultItemCounter; + + if ((resultItemCounter % 500) == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + + +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.key ='" << resultItem.key() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.name ='" << resultItem.name() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.category ='" << resultItem.category() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.symbolClass ='" << resultItem.symbolClass() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.tags ='" << resultItem.tags().join(QLatin1String(";")) << "'"; + + bool isValid = searchResultIsValid(key8LookupTable, resultItem); + + if (!isValid) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " continue:: not valid " + << " key='" << resultItem.key() << "'" + << " name='" << resultItem.name() << "'"; + continue; + } + + const QString &originalKey = resultItem.key(); + const QString &key8 = originalKey.left(8); + + if (m_baseSymbolCodeToSymbolPropertyTable.contains(key8)) + { + FATAL_LOG(m_logger) << LOGFUNCTION + << " continue:: already EXISTS!!!" + << " key8='" << key8 << "'" + << " originalKey='" << originalKey << "'"; + continue; + } + + SymbolProperties symProps; + symProps.setKey(key8); + symProps.setName(resultItem.name()); + symProps.setCategory(resultItem.category()); + symProps.setSymbolClass(resultItem.symbolClass()); + symProps.setTags(resultItem.tags()); + symProps.setOriginalKey(originalKey); + symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8)); + // retrieve GeometryType + const QString cat = resultItem.category(); + const QVector &slCategory = cat.splitRef(QLatin1Char(':')); + if (!slCategory.isEmpty()) + { + const QStringRef &geometryStr = slCategory.last().trimmed(); + bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; + bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; + bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; + bool isArea = geometryStr.compare(QLatin1String("Area"), Qt::CaseInsensitive) == 0; + + if (isPoint || isMainIcon) + symProps.setGeometryType(GeometryType::Point); + else if (isLine) + symProps.setGeometryType(GeometryType::Polyline); + else if (isArea) + symProps.setGeometryType(GeometryType::Polygon); + } + + DEBUG_LOG(m_logger) << LOGFUNCTION << " XXXXXXXXX GeometryType:" + << " key8='" << key8 << "'" + << " originalKey='" << originalKey << "'" + << "' slLast='" << slCategory.last().toString() << "'" + << " geoType= " << symProps.geometryType(); + + // check for gct_-String: + if (symProps.geometryType() == GeometryType::Polyline || + symProps.geometryType() == GeometryType::Polygon) + { + const QString gctString = symProps.gctString(); + if (gctString.isEmpty()) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " gctString empty: key8='" << key8 << "'" + << " geoType= " << symProps.geometryType() + << " tags=" << resultItem.tags().join(QLatin1String(";")); + ++gctStringEmptyCounter; + } + } + + m_baseSymbolCodeToSymbolPropertyTable[key8] = symProps; + + // For modelNG + m_searchResultListValid.append(resultItem); + } // for + + + m_baseSymbolCodeToSymbolPropertyTableFilled = true; + INFO_LOG(m_logger) << LOGFUNCTION << " ##### resultItemCounter=" << resultItemCounter + << " m_baseSymbolCodeToSymbolPropertyTable.size=" << m_baseSymbolCodeToSymbolPropertyTable.size() + << " gctStringEmptyCounter=" << gctStringEmptyCounter + << " threadId: " << QThread::currentThreadId(); + + emit baseSymbolCodeToPropertyTableDone(); + + checkIfAllAreDone(); // will potentially emit signal 'allIsDone' + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; +} + + +bool EsriDictionaryProcessorApp6D::processModifierTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + if (m_searchResultList.isEmpty()) + { + return false; + } + + int counter = 0; + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + ++counter; + + // canceled? + if (m_modifierTableWatcher.isCanceled() && m_modifierTableWatcher.isRunning()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isCanceled"; + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isStarted=" << m_modifierTableWatcher.isStarted(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isRunning=" << m_modifierTableWatcher.isRunning(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isCanceled=" << m_modifierTableWatcher.isCanceled(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isFinished=" << m_modifierTableWatcher.isFinished(); + return false; + } + + const QString &originalKey = resultItem.key(); + +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.key ='" << originalKey << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.name ='" << resultItem.name() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.category ='" << resultItem.category() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.symbolClass ='" << resultItem.symbolClass() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.tags ='" << resultItem.tags().join(QLatin1String(";")) << "'"; + + if (originalKey.length() == 5) // ToDo: check contraint? + { + bool isDigit = false; + originalKey.toInt(&isDigit); // check for being an integer + + if (isDigit) + { + const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following splitRef + const QVector &sl = resultItemName.splitRef(QLatin1String(" : ")); // otherwise ("resultItem.name().splitRef(...)") unpredictable results are possible + + // log multiple keys: + if (m_modifierTable.contains(originalKey)) + { + WARNING_LOG(m_logger) << LOGFUNCTION << " originalKey already in cont: key='" << originalKey << "'" << " resultItem.name() ='" << resultItem.name() << "'"; + } + + ModifierData modData; + + modData.m_modifierKey = originalKey; + + QStringRef symbolSetStringRef = originalKey.midRef(0, 2); + SidcDefinitions::SymbolSet symbolSetEnum = static_cast(symbolSetStringRef.toUInt()); + + if (!SidcDefinitions::symbolSets().contains(symbolSetEnum)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " Unknown symbol set code found, symbol set code = '" << symbolSetStringRef.toString() << "'" + << " originalKey = '" << originalKey << "'"; + symbolSetEnum = SidcDefinitions::SymbolSet::Unknown; + } + + modData.m_symbolSet = symbolSetEnum; + modData.m_modifierSector = originalKey.midRef(4, 1).toUInt(); + modData.m_modifierValue = originalKey.midRef(2, 2).toUInt(); + modData.m_modifierName = (sl.size() == 2) ? sl.last().toString() : resultItem.name(); + + m_modifierTable[originalKey] = modData; + + DEBUG_LOG(m_logger) << LOGFUNCTION << " originalKey ='" << originalKey << "'" << " sector = " << modData.m_modifierSector << " modifierName ='" << modData.m_modifierName << "'"; + } + } + + } // for + + m_modifierTableFilled = true; + DEBUG_LOG(m_logger) << LOGFUNCTION << " ##### counter=" << counter + << " m_modifierTable.size=" << m_modifierTable.size() + << " threadId: " << QThread::currentThreadId(); + + emit modifierTableDone(); + checkIfAllAreDone(); // will potentially emit signal 'allIsDone' + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; + +} + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.h new file mode 100755 index 000000000..840d37e6e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_app6d.h @@ -0,0 +1,73 @@ + + /** + ** @RDE_HEADER@ + ** Interface-Implementation of EsriDictionaryProcessorAPP6D + ** $Id$ + ** $HeadURL$ + ** $Author$ + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Hardware-Environment: Intel-PC + ** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 + ** + ** Language ........: C++ 11 + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Author ...........: Joerg Turla, SPD G, Tel. 3132 + ** + ** ----------------------------------------------------------------------------------------------- + ** + ** Notes .........: + ** + ** 09.05.2018, JT : First edition for use with Qt5 + ** + ** ----------------------------------------------------------------------------------------------- + */ +#pragma once + +#include "esri_dictionary_processor.h" + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +class EsriDictionaryProcessorApp6D : public EsriDictionaryProcessor +{ + Q_OBJECT + + using BaseClass = EsriDictionaryProcessor; + +public: + + EsriDictionaryProcessorApp6D(const EsriDictionaryProcessorApp6D &other) = delete; + EsriDictionaryProcessorApp6D &operator=(const EsriDictionaryProcessorApp6D &other) = delete; + + + /*! \name Construction, Destruction */ + //@{ + EsriDictionaryProcessorApp6D(); + ~EsriDictionaryProcessorApp6D(); + //@} + + void cancel(); + void waitForFinished(); + + + + bool searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName = nullptr) override; + + + bool processBaseSymbolCodeToPropertyTable() override; + + bool processModifierTable() override; + +}; // EsriDictionaryProcessorApp6D + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.cpp new file mode 100755 index 000000000..13be79ec0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.cpp @@ -0,0 +1,463 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of EsriDictionaryProcessorMil2525D + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "esri_dictionary_processor_mil2525d.h" + + +// ESRI + + +// Qt +#include + + +namespace AdvancedSymbology +{ + +EsriDictionaryProcessorMil2525D::EsriDictionaryProcessorMil2525D() + : BaseClass(AdvancedSymbology::SymbologyType::MIL2525D) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ThreadId=" << QThread::currentThreadId(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +EsriDictionaryProcessorMil2525D::~EsriDictionaryProcessorMil2525D() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + this->cancel(); + this->waitForFinished(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +void EsriDictionaryProcessorMil2525D::cancel() +{ + BaseClass::cancel(); + // add specific here: +} + +void EsriDictionaryProcessorMil2525D::waitForFinished() +{ + BaseClass::waitForFinished(); + // add specific here: +} + + +bool EsriDictionaryProcessorMil2525D::searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName) +{ + const QString &originalKey = resultItem.key(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " originalKey='" << originalKey << "'"; + + // check symbolClass: (to reduce empty keys, check symboClass first) + int symbolClass = resultItem.symbolClass().toInt(); + if ((symbolClass == 6) || // symbolClass ( 6) == TextSymbol + (symbolClass == 10) // symbolClass (10) == MaplexLabelPlacement + ) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " symbolClass does not match " + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // + // check if empty: [V100.0, ! V100.1] + // +#ifdef CHECK_HAS_EMPTY_KEY + if (originalKey.isEmpty()) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " empty key, " + << " name='" << resultItem.name() << "'"; + return false; + } +#endif // CHECK_HAS_EMPTY_KEY + + // + // size (25270100 || 25270100_4) [V100.0, V100.1] + // + const int keySize = originalKey.size(); + if (!((keySize == 8) || (keySize == 10))) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " keySize does not match," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + + // + // isFrame (key like '0_110_1c') [V100.0, V100.1] + // + if (originalKey.at(1) == QLatin1Char('_')) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " isFrame," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // + // isCharlie (key like '46120203_C') [V100.0, V100.1] + // + if ((keySize == 10) && (originalKey.rightRef(2).compare(QLatin1String("_C")) == 0)) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " isCharlie," + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // + // reduce key to base (e.g. 25270100_4 -> 25270100) [V100.0, V100.1] + // + const QString &key8 = originalKey.left(8); + + bool ok = false; + key8.toInt(&ok); // check for being an integer + if (!ok) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " chars, " + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; + } + + // V100.0: For these the key exists twice! (SymbolClass '3' and '5') + // -> prefer item with SymbolClass '3' + static const QSet listOfKnownDoubleEntries({QStringLiteral("25140103"), + QStringLiteral("25140606"), + QStringLiteral("25140607"), + QStringLiteral("25151407"), + QStringLiteral("25151408"), + QStringLiteral("25140104"), + QStringLiteral("25140102"), + QStringLiteral("25150101"), + QStringLiteral("25150102"), + QStringLiteral("25150103"), + QStringLiteral("25150104"), + QStringLiteral("25151802"), + QStringLiteral("25200500"), + QStringLiteral("25200600"), + QStringLiteral("25241403"), + QStringLiteral("25270703"), + QStringLiteral("25270704"), + QStringLiteral("25200400"), + QStringLiteral("25272100"), + }); + + if (listOfKnownDoubleEntries.contains(key8)) + { + const QString &symClass = resultItem.symbolClass(); + if (!symClass.compare(QLatin1String("3"))) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " listOfKnownDoubleEntries" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'" + << " symbolClass='" << symClass << "'"; + return false; // use other/proper with better SymbolClass instead + } + } + + // + // use key8 instead of key10 [V100.0, V100.1] + // + if (keySize == 10) + { + // + // there are entries with postfix (_1) and AND proper key8 + // (e.g. '25271800_3' ; ... ; and proper 25271800: + // + bool useOtherKey8 = key8LookupTable.contains(key8); + + if (useOtherKey8) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " useOtherKey8_a" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; // use other/proper key8 item instead + } + + // + // there are entries with postfix (_1) and AND NO proper key8 + // (e.g. '10120100_0' ; '10120100_1' ; '10120100_2' ; '10120100_3' ; but no '10120100' + // 10120100 = Movement And Maneuver ; Air Assult with Organic Lift - FullFrame + // + // Most of the times these are the FULL_FRAME symbols. (except "Maneuver Lines : Line of Contact" = 25140200_6) + // + // use neutral item instead + // + const QString &name = resultItem.name(); + if (name.contains(QStringLiteral("Neutral"))) + { + if (toBeRemovedFromName) + *toBeRemovedFromName = QStringLiteral("Neutral"); + } + else + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " useOtherKey8_bb" + << " originalKey='" << originalKey << "'" + << " name='" << resultItem.name() << "'"; + return false; // wait for Neutral item + } + + } // if (keySize == 10) + + return true; + +} + +bool EsriDictionaryProcessorMil2525D::processBaseSymbolCodeToPropertyTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + if (m_searchResultList.isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_searchResultList.isEmpty"; + return false; + } + + QHash key8LookupTable; + for (int i = 0; i < m_searchResultList.size(); ++i) + { + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem = m_searchResultList.at(i); + if (resultItem.key().size() == 8) + key8LookupTable[resultItem.key()] = i; + } + + int resultItemCounter = 0; + int gctStringEmptyCounter = 0; + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + + // canceled? + // 2017-09-07, Qt5.9, N. Thoden + // A default initialized QFuture seems to have an inconsistent state: + // -> isStarted=1 <---!!! + // -> isRunning=0 + // -> isCanceled=1 <---!!! + // so check isCanceled() && isRunning() + // 2017-10-09, Qt5.9.1, N.Thoden + // Problöem still arises, so perform at a least a couple: + if (m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled() && m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning() && + (resultItemCounter >= 10)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled"; + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isStarted(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isRunning(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isCanceled(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished=" << m_baseSymbolCodeToSymbolPropertyTableWatcher.isFinished(); + return false; + } + + + if (resultItemCounter == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + ++resultItemCounter; + + if ((resultItemCounter % 500) == 0) + INFO_LOG(m_logger) << LOGFUNCTION << " counter=" << resultItemCounter; + + +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.key ='" << resultItem.key() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.name ='" << resultItem.name() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.category ='" << resultItem.category() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.symbolClass ='" << resultItem.symbolClass() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.tags ='" << resultItem.tags().join(QLatin1String(";")) << "'"; + + bool isValid = searchResultIsValid(key8LookupTable, resultItem); + + if (!isValid) + { + DEBUG_LOG(m_logger) << LOGFUNCTION + << " continue:: not valid " + << " key='" << resultItem.key() << "'" + << " name='" << resultItem.name() << "'"; + continue; + } + + const QString &originalKey = resultItem.key(); + const QString &key8 = originalKey.left(8); + + if (m_baseSymbolCodeToSymbolPropertyTable.contains(key8)) + { + FATAL_LOG(m_logger) << LOGFUNCTION + << " continue:: already EXISTS!!!" + << " key8='" << key8 << "'" + << " originalKey='" << originalKey << "'"; + continue; + } + + SymbolProperties symProps; + symProps.setKey(key8); + symProps.setName(resultItem.name()); + symProps.setCategory(resultItem.category()); + symProps.setSymbolClass(resultItem.symbolClass()); + symProps.setTags(resultItem.tags()); + symProps.setOriginalKey(originalKey); + symProps.setSidc(SidcCodec::encodeBaseSymbolCode(m_baseSymbolCodeToSymbolPropertyTable.symbologyType(), key8)); + // retrieve GeometryType + const QString cat = resultItem.category(); + const QVector &slCategory = cat.splitRef(QLatin1Char(':')); + if (!slCategory.isEmpty()) + { + const QStringRef &geometryStr = slCategory.last().trimmed(); + bool isPoint = geometryStr.compare(QLatin1String("Point"), Qt::CaseInsensitive) == 0; + bool isMainIcon = geometryStr.compare(QLatin1String("Main Icon"), Qt::CaseInsensitive) == 0; + bool isLine = geometryStr.compare(QLatin1String("Line"), Qt::CaseInsensitive) == 0; + bool isArea = geometryStr.compare(QLatin1String("Area"), Qt::CaseInsensitive) == 0; + + if (isPoint || isMainIcon) + symProps.setGeometryType(GeometryType::Point); + else if (isLine) + symProps.setGeometryType(GeometryType::Polyline); + else if (isArea) + symProps.setGeometryType(GeometryType::Polygon); + } + + DEBUG_LOG(m_logger) << LOGFUNCTION << " XXXXXXXXX GeometryType:" + << " key8='" << key8 << "'" + << " originalKey='" << originalKey << "'" + << "' slLast='" << slCategory.last().toString() << "'" + << " geoType= " << symProps.geometryType(); + + // check for gct_-String: + if (symProps.geometryType() == GeometryType::Polyline || + symProps.geometryType() == GeometryType::Polygon) + { + const QString gctString = symProps.gctString(); + if (gctString.isEmpty()) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " gctString empty: key8='" << key8 << "'" + << " geoType= " << symProps.geometryType() + << " tags=" << resultItem.tags().join(QLatin1String(";")); + ++gctStringEmptyCounter; + } + + } + + + m_baseSymbolCodeToSymbolPropertyTable[key8] = symProps; + + // For modelNG + m_searchResultListValid.append(resultItem); + } // for + + m_baseSymbolCodeToSymbolPropertyTableFilled = true; + NOTICE_LOG(m_logger) << LOGFUNCTION << " ##### resultItemCounter=" << resultItemCounter + << " m_baseSymbolCodeToSymbolPropertyTable.size=" << m_baseSymbolCodeToSymbolPropertyTable.size() + << " gctStringEmptyCounter=" << gctStringEmptyCounter + << " threadId: " << QThread::currentThreadId(); + emit baseSymbolCodeToPropertyTableDone(); + + + checkIfAllAreDone(); // will potentially emit signal 'allIsDone' + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; +} + +bool EsriDictionaryProcessorMil2525D::processModifierTable() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + if (m_searchResultList.isEmpty()) + return false; + + + int counter = 0; + for (const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem : qAsConst(m_searchResultList)) + { + ++counter; + + // canceled? + if (m_modifierTableWatcher.isCanceled() && m_modifierTableWatcher.isRunning()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isCanceled"; + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isStarted=" << m_modifierTableWatcher.isStarted(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isRunning=" << m_modifierTableWatcher.isRunning(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isCanceled=" << m_modifierTableWatcher.isCanceled(); + ERROR_LOG(m_logger) << LOGFUNCTION << " m_modifierTableWatcher.isFinished=" << m_modifierTableWatcher.isFinished(); + return false; + } + + const QString &originalKey = resultItem.key(); + +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.key ='" << originalKey << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.name ='" << resultItem.name() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.category ='" << resultItem.category() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.symbolClass ='" << resultItem.symbolClass() << "'"; +// INFO_LOG(m_logger) << LOGFUNCTION << " resultItem.tags ='" << resultItem.tags().join(QLatin1String(";")) << "'"; + + if (originalKey.length() == 5) // ToDo: check contraint? + { + bool isDigit = false; + originalKey.toInt(&isDigit); // check for being an integer + + if (isDigit) + { + const QString &resultItemName = resultItem.name(); // store result item name locally to guaranty following splitRef + const QVector &sl = resultItemName.splitRef(QLatin1String(" : ")); // otherwise ("resultItem.name().splitRef(...)") unpredictable results are possible + + // log multiple keys: + if (m_modifierTable.contains(originalKey)) + ERROR_LOG(m_logger) << LOGFUNCTION << " originalKey already in cont: key='" << originalKey << "'" << " resultItem.name() ='" << resultItem.name() << "'"; + + ModifierData modData; + + modData.m_modifierKey = originalKey; + + SidcDefinitions::SymbolSet symbolSetEnum = static_cast(originalKey.midRef(0, 2).toUInt()); + + if (!SidcDefinitions::symbolSets().contains(symbolSetEnum)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " Unknown symbol set code found, symbol set code = '" << symbolSetEnum << "'" + << " originalKey = '" << originalKey << "'"; + symbolSetEnum = SidcDefinitions::SymbolSet::Unknown; + } + + modData.m_symbolSet = symbolSetEnum; + modData.m_modifierSector = originalKey.midRef(4, 1).toUInt(); + modData.m_modifierValue = originalKey.midRef(2, 2).toUInt(); + modData.m_modifierName = (sl.size() == 2) ? sl.last().toString() : resultItem.name(); + + m_modifierTable[originalKey] = modData; + + DEBUG_LOG(m_logger) << LOGFUNCTION << " originalKey ='" << originalKey << "'" << " sector = " << modData.m_modifierSector << " modifierName ='" << modData.m_modifierName << "'"; + } + } + + } // for + + m_modifierTableFilled = true; + DEBUG_LOG(m_logger) << LOGFUNCTION << " ##### counter=" << counter + << " m_modifierTable.size=" << m_modifierTable.size() + << " threadId: " << QThread::currentThreadId(); + + emit modifierTableDone(); + checkIfAllAreDone(); // will potentially emit signal 'allIsDone' + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; +} + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.h new file mode 100755 index 000000000..047740e07 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/esri_dictionary_processor_mil2525d.h @@ -0,0 +1,81 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of EsriDictionaryProcessorMil2525D + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "esri_dictionary_processor.h" + + +// Qt + + +// Esri + + + +//---------------------------------------------------------------------------- +namespace AdvancedSymbology +{ + +class EsriDictionaryProcessorMil2525D : public EsriDictionaryProcessor +{ + Q_OBJECT + + using BaseClass = EsriDictionaryProcessor; + +public: + /*! \name Construction, Destruction */ + //@{ + EsriDictionaryProcessorMil2525D(); + ~EsriDictionaryProcessorMil2525D(); + + void cancel(); + void waitForFinished(); + + EsriDictionaryProcessorMil2525D(const EsriDictionaryProcessorMil2525D &other) = delete; + EsriDictionaryProcessorMil2525D &operator=(const EsriDictionaryProcessorMil2525D &other) = delete; + //@} + + bool searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName = nullptr) override; + + // + // Common: + // + /*! \name Common */ + //@{ + +protected: + //@} + + + // + // Job 1: BaseSymbolCodeToPropertyTable + // +public: + /*! \name Job 1: BaseSymbolCodeToPropertyTable */ + //@{ + bool processBaseSymbolCodeToPropertyTable() override; + //@} + + + // + // Job 2: ModifierTable + // +public: + /*! \name Job 2: ModifierTable */ + //@{ + bool processModifierTable() override; + //@} + +}; + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp new file mode 100755 index 000000000..b813a8a0e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp @@ -0,0 +1,2519 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of SymbolDictionaryImpl + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_dictionary_impl.h" + +#include "symbol_dictionary.h" // Interface (enums) +#include "symbol_extension_renderer.h" +#include "esri_dictionary_processor_mil2525d.h" +#include "esri_dictionary_processor_app6.h" +#include "esri_dictionary_processor_app6d.h" +#include "sidc_builder_base.h" +#include "base_symbol_model.h" +#include +#include +#include + +#include +#include +#include +#include +#include + +// ESRI +#include +#include +#include +#include +#include + + +# include // This file is created by RME, not ESRI + +#if ACRGIS_VERSION >= 0x640100 // 100.1.0 / Update 1 +# define SYM_PROTECTION_AREAS_BECOMES_LINE +#endif + + +// Qt +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +// findSymbol and createSwatch : +// Lucas Danzinger: these are both async, and will both run in worker threads. +// https://earlyadopter.esri.com/project/forum/thread.html.... - Title: 'SymbolDictionary - createSwatch' +// : findSymbol and createSwatch + +namespace AdvancedSymbology +{ +// make sure, that both enums have identical values assigned and a static_cast works fine: +static_assert(static_cast(AdvancedSymbology::LoadStatus::Loaded) == static_cast(Esri::ArcGISRuntime::LoadStatus::Loaded), "LoadStatus mismatch"); +static_assert(static_cast(AdvancedSymbology::LoadStatus::Loading) == static_cast(Esri::ArcGISRuntime::LoadStatus::Loading), "LoadStatus mismatch"); +static_assert(static_cast(AdvancedSymbology::LoadStatus::FailedToLoad) == static_cast(Esri::ArcGISRuntime::LoadStatus::FailedToLoad), "LoadStatus mismatch"); +static_assert(static_cast(AdvancedSymbology::LoadStatus::NotLoaded) == static_cast(Esri::ArcGISRuntime::LoadStatus::NotLoaded), "LoadStatus mismatch"); +static_assert(static_cast(AdvancedSymbology::LoadStatus::Unknown) == static_cast(Esri::ArcGISRuntime::LoadStatus::Unknown), "LoadStatus mismatch"); + +} // namespace AdvancedSymbology + + + + +namespace AdvancedSymbology +{ + +QStringList listOfEtsPointSidcs_Internal() +{ + QStringList sidcs; + sidcs += SidcCodec::encodeCivilEts("PersFueAllg"); + sidcs += SidcCodec::encodeCivilEts("Polizei_Person"); + sidcs += SidcCodec::encodeCivilEts("Pers_FW_BerFue"); + return sidcs; +} + + +QStringList listOfPointSidcs_Internal() +{ + QStringList sidcs; + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10011500002102000000"); // mine_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002108000000"); // single_fire_impl + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002707050000"); // 25270705 -> Protection Areas : Minefield : Dummy + + + // SymbolSet 01 == air + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10030100001101000000"); // differs in APP6(D) + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10030100001201000000"); + + // SymbolSet 10 == Land Unit + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001100000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001101000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001102000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001103000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001104000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001105000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031000001106000000"); + + // SymbolSet 15 == Land Equipment + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001110000000"); // baseSymbolCode = 15 111000 Missle Launcher + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001100000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001101000000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001101010000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001101020000"); + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001101030000"); + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10011000001213030000"); // Movement and Maneuver : Reconnaissance 10 121303 (FULL_FRAME, but no real MainIcon) + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10031500001202000000"); // Vehicle : Tank 15 120200 + + + // Guez-IEDs + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10011500002104000000"); // LAND MINE - IED + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10013500001202000000"); // Weapon - IED + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10014000001103000000"); // IED SUICIDE BOMBER (OHNE ZickZack) + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10014000001103010000"); // IED SUICIDE BOMBER (MIT ZickZack) + // ^ + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10014000001103040000"); // IED suicide bomber + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10014000001101110000"); // BOOBY TRAP (replaced by 'IED suicide bomber') + + return sidcs; +} + +QStringList listOfLineSidcs_Internal() +{ + QStringList sidcs; + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10032500001406030000"); // hit_line_impl + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500001402000000"); // 25140200_6 == "Maneuver Lines : Line of Contact" (no key8-Entry) + +#ifdef SYM_PROTECTION_AREAS_BECOMES_LINE + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002711000000"); // Control Measure: Protection Areas : + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002713000000"); // Control Measure: Protection Areas : Assult Crossing (former GeometryType::area, now GeometryType::Line) + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002714000000"); // Control Measure: Protection Areas : Bridge +#endif // SYM_PROTECTION_AREAS_BECOMES_LINE + + return sidcs; +} + +QStringList listOfAreaSidcs_Internal() +{ + QStringList sidcs; + + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002408010000"); // area_fire_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002717000000"); // biological_agent_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10042500002701000000"); // building_outline_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002718000000"); // chemical_agent_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500001511000000"); // danger_area_impl +// sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D,"10012500002707010000"); // MineField + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002707060000"); // mine_field_impl + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002719000000"); // nuclear_agent_impl + +#ifndef SYM_PROTECTION_AREAS_BECOMES_LINE + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002711000000"); // Control Measure: Protection Areas : + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002713000000"); // Control Measure: Protection Areas : Assult Crossing (former GeometryType::area, now GeometryType::Line) + sidcs += SidcCodec::encodeComplete(SymbologyType::MIL2525D, "10012500002714000000"); // Control Measure: Protection Areas : Bridge +#endif // SYM_PROTECTION_AREAS_BECOMES_LINE + + return sidcs; +} + + +QStringList listOfPlanEditorSidcs_Internal() +{ + QStringList sidcs; + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25342300"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25140500"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25152100"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25141400"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25141700"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25290500"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25270503"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25341900"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25270504"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25230100"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25271100"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25341500"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25241202"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25241602"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25340800"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25270502"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25342201"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25271204"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25240103"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25240802"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25270501"); + sidcs += SidcCodec::encodeBaseSymbolCode(SymbologyType::MIL2525D, "25271600"); + + return sidcs; +} + + + +// helper function +bool check(QRegExp ®Exp, const QStringList ®ExStrings, const QString &token) +{ + for (const QString &rgExStr : regExStrings) + { + regExp.setPattern(rgExStr); + if (regExp.exactMatch(token)) + return true; + if (token.contains(rgExStr, Qt::CaseInsensitive)) + return true; + } // foreach + return false; +} + +// helper function +bool check(QRegExp ®Exp, const QString ®ExString, const QString &token) +{ + regExp.setPattern(regExString); + if (regExp.exactMatch(token)) + return true; + if (token.contains(regExString)) + return true; + return false; +} + + + +SymbolDictionaryImpl::SymbolDictionaryImpl(SymbologyType symbologyType, + const QString &symbologyResourcePath) + : SymbolDictionary() // Interface + , m_baseSymbolCodeToSymbolPropertyTable() + , m_etsSidcSymbolProperties(SymbologyType::None) + , m_etsSidcImages(SymbologyType::None) + , m_xmlSidcSymbolProperties(SymbologyType::None) + , m_xmlSymbols(SymbologyType::None,SidcCodec::SidcType::CivilXml) + , m_xmlSymbolCache() + , m_esriBaseSymbolModel(new BaseSymbolModel(this)) + , m_xmlBaseSymbolModel(new BaseSymbolModel(this)) + , m_etsBaseSymbolModel(new BaseSymbolModel(this)) + , m_changedDelayTimer(new QTimer(this)) + , m_isLoading(false) + , m_logger(getLogger("SymbolDictionaryImpl")) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symbologyType=" << symbologyType + << " resPath='" << symbologyResourcePath << "'" + << " ThreadId=" << QThread::currentThreadId(); + DEBUG_LOG(m_logger) << LOGFUNCTION << " symbologyType=" << symbologyType << ", resPath='" << symbologyResourcePath << "'"; + + switch (symbologyType) { + case SymbologyType::APP6B: + m_esriDictionaryProcessor = new EsriDictionaryProcessorApp6; // not full supported yet + break; + case SymbologyType::APP6D: + m_esriDictionaryProcessor = new EsriDictionaryProcessorApp6D; // not full supported yet + break; + case SymbologyType::MIL2525C: + m_esriDictionaryProcessor = nullptr; // not supported yet + break; + case SymbologyType::MIL2525D: + m_esriDictionaryProcessor = new EsriDictionaryProcessorMil2525D; + break; + case SymbologyType::None: + m_esriDictionaryProcessor = nullptr; + break; + } + + if (!m_esriDictionaryProcessor) + { + FATAL_LOG(m_logger) << LOGFUNCTION << " !!! no EsriDictionaryProcessor !!!"; + FATAL_LOG(m_logger) << LOGFUNCTION << " symbologyType=" << symbologyType << ", resPath='" << symbologyResourcePath << "'"; + } + + + m_changedDelayTimer->setSingleShot(true); + m_changedDelayTimer->setInterval(500); + connect(m_changedDelayTimer, &QTimer::timeout, this, &SymbolDictionaryImpl::changedDelayed); + + m_initOk = init(symbologyType, symbologyResourcePath); + + +// QTimer *timer = new QTimer(this); +// timer->setInterval(5000); +// connect(timer, &QTimer::timeout, this, [this]() { +// qCritical() << " ----------------------------------------------"; +// qCritical() << " m_findSymbol2symbolResult.size() = " << m_findSymbol2symbolResult.size(); +// qCritical() << " m_createSwatch2findSymbolTaskId.size() = " << m_createSwatch2findSymbolTaskId.size(); + +// }); +// timer->start(); + + + + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +SymbolDictionaryImpl::~SymbolDictionaryImpl() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + m_changedDelayTimer->stop(); + + if (m_esriDictionaryProcessor) + { + m_esriDictionaryProcessor->cancel(); + m_esriDictionaryProcessor->waitForFinished(); + } + + delete m_esri_dictionary; + delete m_esriDictionaryProcessor; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +bool SymbolDictionaryImpl::isOk() const +{ + return m_initOk && (nullptr != m_esri_dictionary); +} // bool SymbolDictionaryImpl::isOk() const + + +bool SymbolDictionaryImpl::init(SymbologyType symbologyType, const QString &symbologyResourcePath) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // cleanup : + delete m_esri_dictionary; + clearEtsSymbols(); + + m_createSwatch2findSymbolTaskId.clear(); + m_findSymbol2propertyResult.clear(); + m_findSymbol2symbolResult.clear(); + + // clear EsriDictProcessor!? + + // : cleanup + + m_symbolDictionaryType_own = symbologyType; + m_symbologyResourcePath = symbologyResourcePath; + + switch (m_symbolDictionaryType_own) + { + case SymbologyType::MIL2525D: + m_specificationType = QStringLiteral("mil2525d"); // 'mil2525d' - fixed string for QuartzRelease + break; + case SymbologyType::MIL2525C: + m_specificationType = QStringLiteral("mil2525c"); + break; + case SymbologyType::APP6B: + m_specificationType = QStringLiteral("app6b"); + break; + case SymbologyType::APP6D: + m_specificationType = QStringLiteral("app6d"); + break; + case SymbologyType::None: + // empty + break; + } // switch + + if (m_symbolDictionaryType_own != SymbologyType::None) + { +#ifdef USE_ARCADE_SYMBOLOGY + + // m_specificationType = QStringLiteral("/usr/share/arcgis/resources/symbols//mil2525d/mil2525d.stylx"); + // m_specificationType = QStringLiteral("/usr/share/arcgis/resources/symbols_arcade//mil2525d/mil2525d.stylx"); + QFile resFile(m_symbologyResourcePath); + if (m_symbologyResourcePath.isEmpty() || !resFile.exists()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " path is empty or does not exist: " << " m_symbologyResourcePath='" << m_symbologyResourcePath << "'"; + Q_ASSERT(false); + return false; + } + + NOTICE_LOG(m_logger) << LOGFUNCTION << " create EsriDict:" + << " m_specificationType='" << m_specificationType << "'" + << " m_symbologyResourcePath='" << m_symbologyResourcePath << "'"; + + // use ESRIs new static method introduced with V100.6: + m_esri_dictionary = Esri::ArcGISRuntime::DictionarySymbolStyle::createFromFile(m_symbologyResourcePath); + +#else + // QString symbologyResourcePath("/usr/share/arcgis/resources/symbols//mil2525d/mil2525d.stylx"); + if (symbologyResourcePath.isEmpty()) + { + INFO_LOG(m_logger) << LOGFUNCTION << " create EsriDict:" + << " m_specificationType='" << m_specificationType << "'"; + m_esri_dictionary = new Esri::ArcGISRuntime::DictionarySymbolStyle(m_specificationType); + } + else + { + QFile resFile(symbologyResourcePath); + if (!resFile.exists()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " path does not exist: " << " symbologyResourcePath='" << symbologyResourcePath << "'"; + Q_ASSERT(false); + return false; + } + + NOTICE_LOG(m_logger) << LOGFUNCTION << " create EsriDict:" + << " m_specificationType='" << m_specificationType << "'" + << " m_symbologyResourcePath='" << m_symbologyResourcePath << "'"; + m_esri_dictionary = new Esri::ArcGISRuntime::DictionarySymbolStyle(m_specificationType, m_symbologyResourcePath); + } + +#endif // USE_ARCADE_SYMBOLOGY + + if (m_esri_dictionary) + { + connect(m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::loadStatusChanged, + this, &SymbolDictionaryImpl::onLoadStatusChanged); + + connect(m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::errorOccurred, + this, &SymbolDictionaryImpl::onErrorDictionary); + } + } + + m_xmlSymbolCache = SymbologyXML::PixmapSymbolCache::instance(); + + if (m_xmlSymbolCache && !m_xmlSymbolCache->symbolTablesAlreadySet()) + { + SymbologyXML::SymbolTable *symbolFrames; ///< SymbolTable with Symbol-Frames + SymbologyXML::SymbolTable *mobilitySymbols; ///< SymbolTable with Mobility-Symbols + SymbologyXML::SymbolTable *bcdabSymbols; ///< SymbolTable with BCDAB-Symbols + SymbologyXML::SymbolTable *commandLevelSymbols; ///< SymbolTable with CommandLevel-Symbols + SymbologyXML::SymbolTable *branchSymbols; ///< SymbolTable with Branch (Truppengattung)-Symbols + SymbologyXML::SymbolTable *vehicleSymbols; ///< SymbolTable with Vehicle-Symbols + SymbologyXML::SymbolTable *intrinsicMobilitySymbols; ///< SymbolTable with Intrinsic-Mobility-Symbols + SymbologyXML::SymbolTable *armingSymbols; ///< SymbolTable with Arming-Symbols + SymbologyXML::SymbolTable *miscSymbols; ///< SymbolTable with Misc-Symbols + SymbologyXML::SymbolTable *addOnSymbols; ///< SymbolTable with addOn-Symbols + SymbologyXML::SymbolTable *sectorIcons; ///< SymbolTable with Sector-Icons + + m_xmlSymbolCache->setSymbolTables( symbolFrames = new SymbologyXML::SymbolTable() /* SymbolTable *frames, */ + , mobilitySymbols = new SymbologyXML::SymbolTable() /* SymbolTable *mobility, */ + , bcdabSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *bcdab, */ + , commandLevelSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *commandLevel, */ + , branchSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *branches, */ + , vehicleSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *vehicle, */ + , intrinsicMobilitySymbols = new SymbologyXML::SymbolTable() /* SymbolTable *intrinsicMobility, */ + , armingSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *arming, */ + , miscSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *misc, */ + , addOnSymbols = new SymbologyXML::SymbolTable() /* SymbolTable *addOnSymbole, */ + , sectorIcons = new SymbologyXML::SymbolTable() /* SymbolTable *sectorIcon */ ); + + auto setDirectory = [this](SymbologyXML::SymbolTable * symTab, const QString &path, const char *errMsg) + { + if (!symTab->setDirectory(path, QStringList(QStringLiteral("*.xml")))) + { + ERROR_LOG(m_logger) << errMsg; + } + }; + + setDirectory( symbolFrames , QStringLiteral(":/Symbole/Attributes/symbolframes") , "Error while reading SymbolFrame-XML-Files!" ); + setDirectory( branchSymbols , QStringLiteral(":/Symbole/Attributes/branch") , "Error while reading Branch/Truppengattung-XML-Files!" ); + setDirectory( mobilitySymbols , QStringLiteral(":/Symbole/Attributes/mobility") , "Error while reading Mobility-XML-Files!" ); + setDirectory( bcdabSymbols , QStringLiteral(":/Symbole/Attributes/bcdab") , "Error while reading BCDAB-XML-Files!" ); + setDirectory( commandLevelSymbols , QStringLiteral(":/Symbole/Attributes/commandlevel") , "Error while reading CommandLevel-XML-Files!" ); + setDirectory( vehicleSymbols , QStringLiteral(":/Symbole/Attributes/vehicle") , "Error while reading vehicle-XML-Files!" ); + setDirectory( intrinsicMobilitySymbols, QStringLiteral(":/Symbole/Attributes/intrinsicmobility"), "Error while reading Intrinsic-Mobility-XML-Files!" ); + setDirectory( armingSymbols , QStringLiteral(":/Symbole/Attributes/arming") , "Error while reading arming-XML-Files!" ); + setDirectory( miscSymbols , QStringLiteral(":/Symbole/Attributes/misc") , "Error while reading misc-XML-Files!" ); + setDirectory( addOnSymbols , QStringLiteral(":/Symbole/AddOnSymbole") , "Error while reading AddOn-Symbol-XML-Files!" ); + setDirectory( sectorIcons , QStringLiteral(":/Symbole/Attributes/sectoricon") , "Error while reading sectoricon-XML-Files!" ); + + // ToDo: delete SymbolTables at program end to avoid warning because mem leak + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; + return true; +} + +void SymbolDictionaryImpl::connectSignals() +{ + if (m_esri_dictionary) + { + connect(m_esri_dictionary, &Esri::ArcGISRuntime::DictionarySymbolStyle::fetchSymbolCompleted, + this, &SymbolDictionaryImpl::onFetchSymbolCompleted); + } +} + + +SymbologyType SymbolDictionaryImpl::symbologyType() const +{ + return m_symbolDictionaryType_own; +} + +QString SymbolDictionaryImpl::specificationType() const +{ + return m_specificationType; +} + +QString SymbolDictionaryImpl::symbologyResourcePath() const +{ + return m_symbologyResourcePath; +} + +const Esri::ArcGISRuntime::DictionarySymbolStyle *SymbolDictionaryImpl::getEsriSymbolDictionary() const +{ + return m_esri_dictionary; +} + + +QImage SymbolDictionaryImpl::temporaryImage(int sizeL) +{ + QImage image = ExtensionRenderer::createFullImage(sizeL, QColor(27, 27, 27, 127)); + + QPainter painter(&image); + QPen pen(Qt::black); + pen.setWidth(2.0); + painter.setPen(pen); + + const QRect &rect = image.rect(); + + painter.drawRect(image.rect()); + + pen.setColor(Qt::darkGray); + pen.setWidth(5.0); + painter.setPen(pen); + + painter.drawLine( rect.topLeft(), QPointF(rect.width() / 2.0, rect.height() * 0.75)); + painter.drawLine(QPointF(rect.width() / 2.0, rect.height() * 0.75), QPointF(rect.width() / 2.0, rect.height() * 0.25)); + painter.drawLine(QPointF(rect.width() / 2.0, rect.height() * 0.25), rect.bottomRight()); + + return image; +} + +QImage SymbolDictionaryImpl::notFoundImage(int sizeL, const QColor &fillColor) +{ + QImage image = ExtensionRenderer::createFullImage(sizeL); + + QPainter painter(&image); + painter.setPen(QPen(Qt::transparent)); + painter.setBrush(QBrush(fillColor)); + + const int minLength = std::min(image.rect().width(), image.rect().height()) * 0.42; + painter.drawEllipse(QPointF(image.rect().center()), minLength, minLength); + + painter.setPen(QPen(Qt::black)); + + QFont font = painter.font(); + font.setBold(true); + font.setPixelSize(static_cast(sizeL * 1.4)); + painter.setFont(font); + + QPointF pos(image.width() * 0.30, + image.height() * 0.80); + + painter.drawText(pos, QLatin1String("?")); + + return image; +} + +QSharedPointer SymbolDictionaryImpl::notFoundSymbolResult(const SymbolDataToRender &symDataToRender) +{ + QSharedPointer symResultNotFound = QSharedPointer(new SymbolResult); + SymbolImage symImage; + + QColor finalFillColor = Qt::yellow; // maybe AdvancedSymbology::SymbolDataToRender::unknownColor(); + if (symDataToRender.fillColorReplace && symDataToRender.fillColor.isValid()) + finalFillColor.setAlpha(symDataToRender.fillColor.alpha()); + + symImage.setImage(notFoundImage(symDataToRender.sizeL, finalFillColor)); + symResultNotFound->setSymbolDataToRender(symDataToRender); + symResultNotFound->setSymbolImage(symImage); + symResultNotFound->fireResultReady(); // ToDo: maybe async!?!? + return symResultNotFound; +} + +QSharedPointer SymbolDictionaryImpl::notFoundSymbolResult(int sizeL) +{ + SymbolDataToRender symDataToRender; + symDataToRender.sizeL = sizeL; + symDataToRender.fillColorReplace = false; + return notFoundSymbolResult(symDataToRender); +} + +QStringList SymbolDictionaryImpl::symbologyAttributeKeyList() const +{ + QStringList result = m_esri_dictionary->symbologyFieldNames() << m_esri_dictionary->textFieldNames(); + result.removeDuplicates(); + return result; +} // QStringList SymbolDictionaryImpl::symbologyAttributeKeyList() const + + +void SymbolDictionaryImpl::load() +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " ThreadId=" << QThread::currentThreadId(); + + if (m_isLoading) + return; + + m_isLoading = true; + + if (!m_esri_dictionary || isLoaded()) + return; + + m_esri_dictionary->load(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END"; +} + +bool SymbolDictionaryImpl::isLoaded() const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " ThreadId=" << QThread::currentThreadId(); + bool isLoaded = loadStatus() == LoadStatus::Loaded; + TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " isLoaded=" << isLoaded << " (loadStatus()=" << loadStatus() << ")"; + return isLoaded; +} + +LoadStatus SymbolDictionaryImpl::loadStatus() const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + + // LoadStatus for Esri: + Esri::ArcGISRuntime::LoadStatus esriLoadStatus = Esri::ArcGISRuntime::LoadStatus::Unknown; + + // SHOULD we have an esriDict or not? If not, it´s already loaded: + if (m_symbolDictionaryType_own == SymbologyType::None) + esriLoadStatus = Esri::ArcGISRuntime::LoadStatus::Loaded; + else + { + // Do we really have an esriDict? + if (m_esri_dictionary) + esriLoadStatus = m_esri_dictionary->loadStatus(); + else + esriLoadStatus = Esri::ArcGISRuntime::LoadStatus::Unknown; + + if (esriLoadStatus == Esri::ArcGISRuntime::LoadStatus::Loaded) + { + if (m_esriDictionaryProcessor && (! m_esriDictionaryProcessor->allJobsDone())) + esriLoadStatus = Esri::ArcGISRuntime::LoadStatus::Loading; + } + } + + LoadStatus finalLoadStatus = static_cast(esriLoadStatus); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " finalLoadStatus=" << finalLoadStatus + << " (esriLoadStatus=" << static_cast(esriLoadStatus); + return finalLoadStatus; +} + +bool SymbolDictionaryImpl::setEtsSymbol(int fileId, + const QString &encodedSidc, + const SymbolProperties &properties, + const QImage &image) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " fileId=" << fileId + << " sidc='" << encodedSidc << "'" + << " props.name='" << properties.name() << "'"; + + // some checks: + if (encodedSidc.isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " sidc is empty"; + return false; + } + if (properties.name().isEmpty()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " properties.name() is empty, " + << " sidc='" << encodedSidc << "'"; + return false; + } + + if (!SidcCodec::isEncoded(encodedSidc)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << "sidc is not encoded, sidc='" << encodedSidc << "'"; + return false; + } + + if (!SidcCodec::checkSidcSyntax(encodedSidc)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << "wrong encoding in sidc, sidc='" << encodedSidc << "'"; + return false; + } + + if (SidcCodec::decodeSidcType(encodedSidc) != SidcCodec::SidcType::CivilEts) + { + ERROR_LOG(m_logger) << LOGFUNCTION << "wrong sidc type, sidc='" << encodedSidc << "'. Type must be CivilEts!"; + return false; + } + + // 1: add to m_etsSidcSymbolProperties + m_etsSidcSymbolProperties[encodedSidc] = properties; + + // 2: add to m_etsSidcImages + m_etsSidcImages[encodedSidc] = image; + + // 3: add to m_etsSidcOrdered + if (!m_etsSidcOrdered.contains(encodedSidc)) + m_etsSidcOrdered.append(encodedSidc); + + // m_etsBaseSymbolModel : + m_etsBaseSymbolModel->insertEtsSymbol(fileId, encodedSidc, properties, image); + // : m_etsBaseSymbolModel + + + // 4. emit signal to update view: + + // emit nearly immediately + // QTimer::singleShot(0, [this]() { emit changed(); }); + emit changed(); + + // emit delayed + + m_changedDelayTimer->start(); // is restart timer if already running + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " sidc='" << encodedSidc << "'"; + return true; +} + +void SymbolDictionaryImpl::removeEtsSymbol(int fileId) +{ + // m_etsBaseSymbolModel : + m_etsBaseSymbolModel->removeEtsSymbol(fileId); + // : m_etsBaseSymbolModel +} + + +void SymbolDictionaryImpl::removeEtsSymbol(const QString &encodedSidc) +{ + m_etsSidcSymbolProperties.remove(encodedSidc); + m_etsSidcImages.remove(encodedSidc); + m_etsSidcOrdered.removeAll(encodedSidc); + + emit changed(); + m_changedDelayTimer->start(); // is restart timer if already running +} + +void SymbolDictionaryImpl::clearEtsSymbols() +{ + m_etsSidcSymbolProperties.clear(); + m_etsSidcImages.clear(); + m_etsSidcOrdered.clear(); + + emit changed(); + m_changedDelayTimer->start(); // is restart timer if already running +} + +int SymbolDictionaryImpl::addEtsSymbols(const QString &path) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" << " path ='" << path << "'" + << " current etsSymbolCount=" << this->etsSymbolCount(); + + if (path.isEmpty()) + return -1; // use qrc path!? + + int addedFiles = 0; + + QDir rootDir(path); + + // real work: + DEBUG_LOG(m_logger) << "Searching in path '" << path << "'"; + + QStringList slFilePaths; + + QDirIterator dir(path, + QDir::Files | QDir::Readable, QDirIterator::Subdirectories); + const QString gif(QStringLiteral(".gif")); + while (dir.hasNext()) + { + const QString &filePath = dir.next(); + if (!filePath.endsWith(gif)) + continue; + slFilePaths.append(filePath); + } // while + + // sort: + slFilePaths.sort(); + + // iterate over sorted files: + int fileId_substitute = 0; + for (const auto &filePath : qAsConst(slFilePaths)) + { + ++fileId_substitute; + // DEBUG_LOG(m_logger) << LOGFUNCTION << " found file= '" << filePath << "'"; + + QFileInfo fileInfo(filePath); + + const QString &curFilename = fileInfo.baseName(); // without suffix + const QString &humanReadableName = curFilename; + const QString key = curFilename; + + AdvancedSymbology::SymbolProperties symProps; + + // resultItem.key ='25152000_3' (mpl/symbol_dictionary_impl.cpp:418) + // resultItem.name ='Maneuver Areas : Attack by Fire Position : Friend' (mpl/symbol_dictionary_impl.cpp:419) + // resultItem.category ='Control Measure : Line' (mpl/symbol_dictionary_impl.cpp:420) + // resultItem.symbolClass ='4' (mpl/symbol_dictionary_impl.cpp:421) + // resultItem.tags ='Control Measure;Maneuver Areas;Attack by Fire Position;gct_arrow_with_tail;G*GPOAF---****X;MAIN;Line;Maneuver Areas : Attack by Fire Position;25152000' (mpl/symbol_dictionary_impl.cpp:422) + + // 1 key + symProps.setKey(key); + + // 2 name + symProps.setName(humanReadableName); + + + symProps.setSidc(SidcCodec::encodeCivilEts(key)); + + // 3 category + // eg: 3_Person (1_GIFs_Aktuell/WRett/3_Person/xy.gif + + // rootDir.absolutePath(): ':/advancedSymbology/CivilSymbols' + // filepath : ':/advancedSymbology/CivilSymbols/Sonstige/Bundeswehr_Stelle.gif' + // remove path from filePath: + QStringRef filePathReduced = filePath.midRef(rootDir.absolutePath().size() + 1); + // filepath 'Sonstige/Bundeswehr_Stelle.gif' + + QVector parts = filePathReduced.split(QLatin1Char('/')); + + // remove filename (to get dirname's as tags: + parts.removeLast(); + + if (!parts.isEmpty()) + { + const QString &dirName = parts.last().toString(); // eg: 3_Person (1_GIFs_Aktuell/WRett/3_Person/xy.gif + symProps.setCategory(dirName); + } + + // 4 symbolClass + symProps.setSymbolClass(QLatin1String("3")); // 18.10.2016, N.Thoden: 3 == PointSymbol (mil2525d.stylx - QuartzRelease) + + // 5 tags + QStringList tags; + tags.reserve(parts.size() + 2); + tags.append(ETS_SYMBOL_KEYWORD); // 'ETS' + for (const auto &item : qAsConst(parts)) + tags.append(item.toString()); + tags.append(humanReadableName); + + symProps.setTags(tags); + + // 6 GeometryType + symProps.setGeometryType(GeometryType::Point); // ETS-Symbols are always Points + + + // Image + QImage image(filePath); + + if (!image.isNull()) + { + if (this->setEtsSymbol(fileId_substitute, symProps.sidc(), symProps, image)) + ++addedFiles; + else + ERROR_LOG(m_logger) << LOGFUNCTION << " error proccessing1 " << filePath << "'"; + } + else + ERROR_LOG(m_logger) << LOGFUNCTION << " error proccessing2 " << filePath << "'"; + } + + DEBUG_LOG(m_logger) << LOGFUNCTION << " path ='" << path << "'," << " addedFiles ='" << addedFiles << "'"; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " path ='" << path << "'" + << " addedFiles ='" << addedFiles << "'" + << " current etsSymbolCount=" << this->etsSymbolCount(); + return addedFiles; +} + +int AdvancedSymbology::SymbolDictionaryImpl::etsSymbolCount() const +{ + return m_etsSidcSymbolProperties.count(); +} + +QStringList SymbolDictionaryImpl::etsSymbols() const +{ + return m_etsSidcOrdered; +} + + +bool SymbolDictionaryImpl::containsXmlSymbol(const QString &encodedSidc) const +{ + return m_xmlSymbols.containsSidc(encodedSidc); +} // bool SymbolDictionaryImpl::containsXmlSymbol(const QString &sidc) const + + +bool SymbolDictionaryImpl::setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const QString &xmlSymbol, const SymbolProperties &properties) +{ + SymbologyXML::SymbolReader xmlReader; + SymbologyXML::Symbol symbol; + + if (!xmlReader.read(xmlSymbol, symbol)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " read symbol failed"; + return false; + } + + // maybe xmlSymbol has an internal name. updated: + symbol.setName(name); + symbol.setID(fileId); + + if (!setXmlSymbol(fileId, name, operatorName, lastModified, symbol, properties)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " setXmlSymbol failed"; + return false; + } + return true; +} + +bool SymbolDictionaryImpl::setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol, const SymbolProperties &properties) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " fileId=" << fileId + << " name= '" << name << "'" + << " operatorName='" << operatorName << "'" + << " lastModified=" << lastModified + << " symbol.id=" << symbol.id() + << " symbol.getName()= '" << symbol.getName() << "'" + << " properties.name= '" << properties.name() << "'"; + + const int symbolId = fileId; // decision: we use the fileId as symbolId + + const QString &skey = QString::number(symbolId); + const QString &sidc = SidcCodec::encodeCivilXml(skey); + + if (m_xmlSymbols.containsSidc(sidc)) + DEBUG_LOG(m_logger) << LOGFUNCTION << " symbol to insert is already defined, update... (id=" << symbol.id() << ")"; + + m_xmlSymbols[sidc] = symbol; + + SymbolProperties propsCopy = properties; + + propsCopy.setName(name); + propsCopy.setSidc(sidc); + propsCopy.setKey(skey); + propsCopy.setGeometryType( GeometryType::Point ); + propsCopy.setSymbolClass(QStringLiteral("3")); + + m_xmlSidcSymbolProperties[sidc] = propsCopy; + + // clear cache: + if (m_xmlSymbolCache) + { + m_xmlSymbolCache->clearCache(SymbologyXML::PixmapSymbolCache::CacheType::CacheMainSymbols); + m_xmlSymbolCache->clearCache(SymbologyXML::PixmapSymbolCache::CacheType::CacheFullSymbols); + } + + // m_xmlBaseSymbolModel : + if (!m_xmlBaseSymbolModel->insertXmlSymbol(fileId, operatorName, lastModified, symbol, propsCopy)) + ERROR_LOG(m_logger) << LOGFUNCTION << " insertXmlSymbol failed, fileId=" << fileId; + + // : m_xmlBaseSymbolModel + + emit changed(); + m_changedDelayTimer->start(); // is restart timer if already running + + return true; +} + +void SymbolDictionaryImpl::removeXmlSymbol(int fileId) +{ + // m_xmlBaseSymbolModel : + if (!m_xmlBaseSymbolModel->removeXmlSymbol(fileId)) + ERROR_LOG(m_logger) << LOGFUNCTION << " removeXmlSymbol failed: fileId= '" << fileId + << " (m_xmlBaseSymbolModel->rowCount()=" << m_xmlBaseSymbolModel->rowCount(); +} + +void SymbolDictionaryImpl::removeXmlSymbol(const QString &encodedSidc) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << ", sidc= '" << encodedSidc << "'" + << ", m_xmlSymbols.size= " << m_xmlSymbols.size() + << ", m_xmlSidcSymbolProperties.size= " << m_xmlSidcSymbolProperties.size(); + + const SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(encodedSidc); + + if (SidcCodec::SidcType::CivilXml == sidcType) + { + m_xmlSymbols.remove(encodedSidc); + m_xmlSidcSymbolProperties.remove(encodedSidc); + + if (m_xmlSymbols.empty()) + { + if (m_xmlSymbolCache) + { + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheMainSymbols ); + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheFullSymbols ); + } + } + DEBUG_LOG(m_logger) << LOGFUNCTION << " emit CHANGED, sidc= '" << encodedSidc << "'" + << ", sidcType= '" << static_cast(sidcType); + emit changed(); + m_changedDelayTimer->start(); // is restart timer if already running + } else { + WARNING_LOG(m_logger) << LOGFUNCTION << " Wrong sidc/sidcType: sidc= '" << encodedSidc << "'" + << ", sidcType= '" << static_cast(sidcType); + } + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << ", sidc= '" << encodedSidc << "'" + << ", m_xmlSymbols.size= " << m_xmlSymbols.size() + << ", m_xmlSidcSymbolProperties.size= " << m_xmlSidcSymbolProperties.size(); +} + +void SymbolDictionaryImpl::clearXmlSymbols() +{ + // m_xmlBaseSymbolModel : + m_xmlBaseSymbolModel->clear(); + + + m_xmlSymbols.clear(); + m_xmlSidcSymbolProperties.clear(); + + if (nullptr == m_xmlSymbolCache) return; + + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheMainSymbols ); + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheFullSymbols ); + + emit changed(); + m_changedDelayTimer->start(); // is restart timer if already running + +} + +void SymbolDictionaryImpl::clearXmlSymbolCache() +{ + if (!m_xmlSymbolCache) + return; + + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheMainSymbols ); + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheFullSymbols ); + m_xmlSymbolCache->clearCache( SymbologyXML::PixmapSymbolCache::CacheAddOn ); +} + + +int SymbolDictionaryImpl::xmlSymbolCount() const +{ + return m_xmlSymbols.count(); +} // int SymbolDictionaryImpl::xmlSymbolCount() const + + +QStringList SymbolDictionaryImpl::xmlSymbols() const +{ + return m_xmlSymbols.keys(); +} // QStringList SymbolDictionaryImpl::xmlSymbols() const + + +QString SymbolDictionaryImpl::xmlSidc(const QString &xmlSymbol) const +{ + SymbologyXML::SymbolReader xmlReader; + SymbologyXML::Symbol symbol; + + if (xmlReader.read(xmlSymbol, symbol)) + { + return xmlSidc(symbol); + } + return QString(); +} // QString xmlSidc(const QString &xmlSymbol) const + + +QString SymbolDictionaryImpl::xmlSidc(const SymbologyXML::Symbol &symbol) const +{ + return symbol.isValid() ? SidcCodec::encodeCivilXml(QString::number(symbol.id())) : QString(); +} // QString SymbolDictionaryImpl::xmlSidc(const SymbologyXML::Symbol &symbol) const + + +SymbologyXML::Symbol SymbolDictionaryImpl::xmlSymbol(const QString &encodedSidc) const +{ + const SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(encodedSidc); + + if (SidcCodec::SidcType::CivilXml == sidcType) + { + if (m_xmlSymbols.contains(encodedSidc)) + { + return m_xmlSymbols[encodedSidc]; + } + } + return SymbologyXML::Symbol(); +} // SymbologyXML::Symbol SymbolDictionaryImpl::xmlSymbol(const QString &sidc) const + + +SymbolProperties SymbolDictionaryImpl::xmlSymbolProps(const QString &encodedSidc) const +{ + const SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(encodedSidc); + + if (SidcCodec::SidcType::CivilXml == sidcType) + { + if (m_xmlSidcSymbolProperties.contains(encodedSidc)) + { + return m_xmlSidcSymbolProperties[encodedSidc]; + } + } + return SymbolProperties(); +} // SymbolProperties SymbolDictionaryImpl::xmlSymbolProps(const QString &sidc) const + + +void SymbolDictionaryImpl::onLoadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus) +{ + DEBUG_LOG(m_logger) << LOGFUNCTION << " m_esri_dictionary(" << m_esri_dictionary << ")" + << " symType= '" << this->symbologyType() << "'" + << " loadStatus changes to " << static_cast(loadStatus) + << " ThreadId=" << QThread::currentThreadId(); + + if (!m_esriDictionaryProcessor) + return; + + if (loadStatus == Esri::ArcGISRuntime::LoadStatus::Loaded) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " ***** m_esri_dictionary " << m_esri_dictionary + << " loading done "; + + m_esriDictionaryProcessor->init(m_esri_dictionary); + m_esriDictionaryProcessor->prepare(); + + // continue if main job is finished: + connect(m_esriDictionaryProcessor, &EsriDictionaryProcessor::allIsDone, + this, &SymbolDictionaryImpl::onProcessorAllIsDone); + } +} + + +void SymbolDictionaryImpl::onProcessorAllIsDone() +{ + if (!m_esriDictionaryProcessor) + return; + + // take results into own member (to have easy access) + m_baseSymbolCodeToSymbolPropertyTable = m_esriDictionaryProcessor->baseSymbolCodeToSymbolPropertyTable(); + + // connect typical signals after main job of esriDictionaryProcessor is done: + connectSignals(); + + INFO_LOG(m_logger) << LOGFUNCTION << " SymbolDictionaryImpl: m_baseSymbolCodeToSymbolPropertyTable.size=" << m_baseSymbolCodeToSymbolPropertyTable.size(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " ***** emit loaded"; + + // setup some items to new symbol_model_esri: + m_esriBaseSymbolModel->clear(); + + + INFO_LOG(m_logger) << LOGFUNCTION << " ######### m_BaseSymbolModel.rowCount = " << m_esriBaseSymbolModel->rowCount(); + + emit loaded(); +} + +BaseSymbolModel* SymbolDictionaryImpl::getBaseSymbolModelEsri() +{ + if (m_esriBaseSymbolModel->rowCount() == 0) + { + // Note: 14.01. 2020, N. Thoden + // initModel with the vecData does not really work. + // The m_vecData of m_baseSymbolModel contains a Esri::ArcGISRuntime::Symbol*. + // This object has to be created using the mainThread (V100.0 .. V100.6) + // That could be done by the EsriDictionaryProcessorXYZ, but that increases + // the startup time :-( + // So it (Esri::ArcGISRuntime::Symbol) has to be created on demand. + // That means if required (columns SEARCH_ICON, FETCH_ICON) within the model. + // That possibility is choosen: + + const QList &searchResultList + = m_esriDictionaryProcessor->getSearchResultListValid(); + m_esriBaseSymbolModel->initModel(this, searchResultList, m_baseSymbolCodeToSymbolPropertyTable); + } + + return m_esriBaseSymbolModel; +} + +bool SymbolDictionaryImpl::searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName) +{ + if (!m_esriDictionaryProcessor) + return false; + return m_esriDictionaryProcessor->searchResultIsValid(key8LookupTable, resultItem, toBeRemovedFromName); +} + + +QSharedPointer SymbolDictionaryImpl::symbolPropertyImage(QSharedPointer symResult, const SymbolProperties &symbolProperties, int sizeL) const +{ + const QString &sidc = symbolProperties.sidc(); + const QString &originalKey = symbolProperties.originalKey(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " sidc='" << sidc << "'" + << " originalKey='" << originalKey << "'" + << " symbolProperties.name='" << symbolProperties.name() << "'" + << " sizeL=" << sizeL; + + if (symResult.isNull()) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " symResult is null!!!" + << " props.name= '" << symbolProperties.name() << "'"; + return notFoundSymbolResult(sizeL); + } + if (!SidcCodec::isEncoded(sidc)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " sidc not encoded: sidc= '" << sidc << "'"; + return notFoundSymbolResult(sizeL); + } + + if (originalKey.isEmpty()) + { + // ExtraSymbols: originalKey can be empty. + if (!SidcCodec::isCivil(sidc)) + ERROR_LOG(m_logger) << LOGFUNCTION << " originalKey is empty" << " props.name= '" << symbolProperties.name() << "'"; + return notFoundSymbolResult(sizeL); + } + + if (! m_esriDictionaryProcessor) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " originalKey= '" << originalKey << "' no esriDictionaryProcessor"; + return notFoundSymbolResult(sizeL); + } + + if (! m_esriDictionaryProcessor->symbolPropertyImageContains(originalKey)) + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " originalKey= '" << originalKey << "' not found"; + return notFoundSymbolResult(sizeL); + } + + // transfer GeometryType: + symResult->setGeometryType(symbolProperties.geometryType()); + + // transfer spiOriginalKey, spiSizeL - used at onEsriSymbolSwatchCompleted (save image in cache etc) + SymbolDataToRender symDataToRender = symResult->symbolDataToRender(); + symDataToRender.spiOriginalKey = originalKey; + symDataToRender.spiSizeL = sizeL; + symResult->setSymbolDataToRender(symDataToRender); + + + symResult = m_esriDictionaryProcessor->symbolPropertyImage(symResult, originalKey); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " originalKey='" << originalKey << "'" + << " symbolProperties.name='" << symbolProperties.name() << "'" + << " sizeL=" << sizeL; + return symResult; +} + +QSharedPointer SymbolDictionaryImpl::symbolPropertyImage(const SymbolProperties &symbolProperties, int sizeL) const +{ + return symbolPropertyImage(QSharedPointer(new SymbolResult), symbolProperties, sizeL); +} + + +QStringList SymbolDictionaryImpl::cachedBaseSymbolCodes() const +{ + return QStringList() << m_baseSymbolCodeToSymbolPropertyTable.keys() << m_etsSidcOrdered; +} // QStringList SymbolDictionaryImpl::cachedBaseSymbolCodes() const + + +SymbolProperties SymbolDictionaryImpl::symbolProperties(const QString &baseSymbolCode) const +{ + auto it = m_baseSymbolCodeToSymbolPropertyTable.find(baseSymbolCode); + if (it != m_baseSymbolCodeToSymbolPropertyTable.end()) + { + return it.value(); + } + + // try ets: + auto itEts = m_etsSidcSymbolProperties.find(baseSymbolCode); + if (itEts != m_etsSidcSymbolProperties.end()) + { + return itEts.value(); + } + + // try xml + auto itXml = m_xmlSidcSymbolProperties.find(baseSymbolCode); + if (itXml != m_xmlSidcSymbolProperties.end()) + { + return itXml.value(); + } + + return SymbolProperties(); +} + +QSharedPointer SymbolDictionaryImpl::fetchSymbol(const QString &sidc, + int sizeL) const +{ + SymbolDataToRender symDataToRender; + symDataToRender.sidc = sidc; + symDataToRender.sizeL = sizeL; + + return fetchSymbol(symDataToRender); +} + + +QSharedPointer SymbolDictionaryImpl::fetchSymbol(const SymbolDataToRender &symDataToRender) const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symDataToRender=" << symDataToRender.toString(); + +// const QString &sidc = symDataToRender.sidc; + const QString &sidc = symDataToRender.sidcAccordingRole(); + + if (!SidcCodec::isEncoded(sidc)) + { + WARNING_LOG(m_logger) << LOGFUNCTION << " sidc not encoded: sidc= '" << sidc << "'"; + return notFoundSymbolResult(symDataToRender); + } + +// if (!SidcCodec::isEncoded(sidc)) +// { +// if (!SidcCodec::compatibilityMode()) +// { +// ERROR_LOG(m_logger) << LOGFUNCTION << " Wrong sidc codec" << " sidc= '" << sidc; +// return notFoundSymbolResult(symDataToRender.sizeL); +// } +// sidc = SidcCodec::compatibilityIsM25DSymbol(sidc) ? SidcCodec::encodeComplete(SymbologyType::MIL2525D,sidc) : SidcCodec::encodeCivilEts(sidc); // just for backwards compatibility +// } + + const SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(sidc); + switch (sidcType) + { + case SidcCodec::SidcType::CivilEts : + { + // + // handle ETS Symbols + // + auto it = m_etsSidcImages.find(sidc); + if (it != m_etsSidcImages.end()) + { + // Create SymbolResult as ret-value + QSharedPointer symResult = QSharedPointer(new SymbolResult); + + // save some values from caller: + symResult->setSymbolDataToRender(symDataToRender); + + // ETS-Symbols are always Points + symResult->setGeometryType(GeometryType::Point); + + const QImage &extraImg = it.value(); // Ets -> scaling is done in renderExtensions + + QColor colorToBeReplaced; + auto itSymbolProps = m_etsSidcSymbolProperties.find(sidc); + if (itSymbolProps != m_etsSidcSymbolProperties.end()) + { + const SymbolProperties &symProps = itSymbolProps.value(); + colorToBeReplaced = symProps.colorToBeReplaced(); + } + +#define FETCH_SYMBOL_ETS_CONCURRENT +#ifdef FETCH_SYMBOL_ETS_CONCURRENT + // symDataToRender contains flag 'symDataToRender' + symResult->setFuture(QtConcurrent::run(renderExtensions, extraImg, symDataToRender, colorToBeReplaced, symDataToRender.renderJustCoreImage)); + +#else + QImage imageCopy = extraImg; + imageCopy = renderExtensions(imageCopy, symDataToRender, colorToBeReplaced, symDataToRender.renderJustCoreImage); + + SymbolImage symImage; + symImage.setImage(imageCopy); + symImage.setValid(true); + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); // ToDo: maybe async!?!? + +#endif // FETCH_SYMBOL_ETS_CONCURRENT + + return symResult; + } // if (m_extraSidcImages.contains(sidc)) + } break; + + case SidcCodec::SidcType::CivilXml : + { + // + // OR XML Symbols + // + + if (m_xmlSymbolCache) + { + if (m_xmlSymbols.containsSidc(SidcCodec::extractCivilXmlBaseSidc(sidc))) //// use only base-sidc to lookup symbol + { + QSharedPointer symResult = QSharedPointer(new SymbolResult); + + symResult->setSymbolDataToRender(symDataToRender); + symResult->setGeometryType(GeometryType::Point); + + /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * Don't use async rendering here, because the image will be drawn with QGraphicsItems. This must + * be done in main thread othwise the application can crash. + * JT 2017/12/14 + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + QImage image = renderXML_Symbol(m_xmlSymbolCache, + m_xmlSymbols, + symDataToRender, + symDataToRender.renderJustCoreImage); + SymbolImage symImage; + symImage.setImage(image); + symImage.setValid(!image.isNull()); + + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); + + return symResult; + } + else + ERROR_LOG(m_logger) << LOGFUNCTION << " symbol must be inserted before usage (sidc=" << sidc << ")"; + } + else + ERROR_LOG(m_logger) << LOGFUNCTION << " get instance of SymbologyXML::SymbolCacheWithTables failed."; + } break; + + default: + { + // + // handle Esri-Dictionary + // + + if (! m_esri_dictionary) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no esri_dictionary"; + return notFoundSymbolResult(symDataToRender); + } + + if (! isLoaded()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " esri_dictionary not loaded"; + return notFoundSymbolResult(symDataToRender); + } + + const SymbologyType requestedSymType = SidcCodec::decodeSymbologyType(sidc); + if (requestedSymType != m_symbolDictionaryType_own) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " requested SymbologyType is not available" + << " (sidc = '" << sidc << "'" + << ", symbolDictionaryType_own=" << m_symbolDictionaryType_own + << ", decodeSymbologyType=" << SidcCodec::decodeSymbologyType(sidc) << ")"; + // return notFoundSymbolResult(symDataToRender); + } + + if (SidcCodec::SidcType::Complete != SidcCodec::decodeSidcType(sidc)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " Sidc is not complete " << " sidc= '" << sidc; + return notFoundSymbolResult(symDataToRender); + } + + // linear search - maybe optimize. But how many different icons are really rendered in parallel? + for (const QWeakPointer &res : qAsConst(m_findSymbol2symbolResult)) + { + auto sp = res.toStrongRef(); + if (!sp) + continue; + if (sp->symbolDataToRender() == symDataToRender) + { + DEBUG_LOG(m_logger) << "Found render request: " << sp.data(); + return sp; + } + } + + // Create SymbolResult as ret-value + QSharedPointer symResult = QSharedPointer(new SymbolResult); + + symResult->setSymbolDataToRender(symDataToRender); + + const QVariantMap keys({{QStringLiteral("sidc"), SidcCodec::decodeRawSidc(sidc)}, // set sidc of symbol in case of MIL2525 + {QStringLiteral("sic"), SidcCodec::decodeRawSidc(sidc)}}); // set sidc of symbol in case of APP6 + + Esri::ArcGISRuntime::TaskWatcher tw = m_esri_dictionary->fetchSymbol(keys); + QUuid fsTaskId; + if (tw.isValid()) + { + fsTaskId = tw.taskId(); + + if (doParanoiaChecks()) + if (fsTaskId.isNull()) + abort(); + + // store taskId in symResult: + symResult->setTaskId(fsTaskId); + + // and put into map to be able to inform customer if swatch is completed: + m_findSymbol2symbolResult[fsTaskId] = symResult.toWeakRef(); + + DEBUG_LOG(m_logger) << LOGFUNCTION << " TaskWatcher valid: fsTaskId=" << fsTaskId; + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " TaskWatcher invalid" + << " ThreadId=" << QThread::currentThreadId(); + + if (doParanoiaChecks()) + abort(); + + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " symDataToRender=" << symDataToRender.toString() + << " fsTaskId=" << fsTaskId; + return symResult; + } + } // switch(sidcType) + + return notFoundSymbolResult(symDataToRender); +} + + + + +QSharedPointer SymbolDictionaryImpl::findImage(const SymbolDataToRender &symDataToRender) const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symDataToRender=" << symDataToRender.toString(); + + const QString &sidc = symDataToRender.sidc; + + if (!SidcCodec::isEncoded(sidc)) + { + WARNING_LOG(m_logger) << LOGFUNCTION << " sidc not encoded: sidc= '" << sidc << "'"; + return notFoundSymbolResult(symDataToRender); + } + + const QString &baseSymbolCode = SidcBuilderBase::concreteSidcToBaseSymbolCode(sidc); + + // + // !isCivil && m_baseSymbolCodeToSymbolPropertyTable.contains(baseSymbolCode) && + // (geoType == GeometryType::Polygon) || (geoType == GeometryType::Polyline) + // -> createSwatch() + // + if ((!SidcCodec::isCivil(sidc)) && m_baseSymbolCodeToSymbolPropertyTable.contains(baseSymbolCode)) + { + const SymbolProperties &symbolProperties = m_baseSymbolCodeToSymbolPropertyTable[baseSymbolCode]; + const GeometryType geoType = symbolProperties.geometryType(); + if ((geoType == GeometryType::Polygon) || (geoType == GeometryType::Polyline)) + { + // prepare SymbolResult as ret-value + QSharedPointer preparedSymResult = QSharedPointer(new SymbolResult); + // save some values from caller: + preparedSymResult->setSymbolDataToRender(symDataToRender); + + QSharedPointer symResult = symbolPropertyImage(preparedSymResult, symbolProperties, symDataToRender.sizeL); // including GeometryType + + return symResult; + } + } + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " symDataToRender=" << symDataToRender.toString(); + + return fetchSymbol(symDataToRender); +} + +QSharedPointer SymbolDictionaryImpl::findPreview(const QString &sidc, int sizeL) const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " sidc='" << sidc << "'"; + + SymbolDataToRender symDataToRender; + + symDataToRender.role = Role::Neutral; + symDataToRender.fillColor = Qt::yellow; // for XML + symDataToRender.fillColor.setAlpha(128); // for XML + + symDataToRender.sidc = sidc; + symDataToRender.sizeL = sizeL; + symDataToRender.renderJustCoreImage = true; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " sidc='" << sidc << "'"; + return findImage(symDataToRender); // maybe avoid to surrounding area (for Injury, NoPosition etc) for PointSymbols!? +} + + +QSharedPointer SymbolDictionaryImpl::findBaseSymbol(const QString &sidc) const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " sidc_8or20chars='" << sidc << "'"; + + if (!SidcCodec::isEncoded(sidc)) + { + WARNING_LOG(m_logger) << LOGFUNCTION << " sidc not encoded: sidc= '" << sidc << "'"; + return notFoundSymbolResult(); + } + + SidcCodec::SidcType sidcType = SidcCodec::decodeSidcType(sidc); + + switch(sidcType) + { + case SidcCodec::SidcType::CivilEts : + { + // + // handle ExtraDir + // + auto it = m_etsSidcImages.find(sidc); + if (it != m_etsSidcImages.end()) + { + // Create SymbolResult as ret-value + QSharedPointer symResult = notFoundSymbolResult(); + + // save some values from caller: + + symResult->setSymbolDataToRender(SymbolDataToRender(it.key())); + + // ETS-Symbols are always Points + symResult->setGeometryType(GeometryType::Point); + + const QImage &image = it.value(); + + SymbolImage symImage; + symImage.setImage(image); + symImage.setValid(true); + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); // ToDo: maybe async!?!? + + return symResult; + } // if (m_extraSidcImages.contains(sidc)) + } break; + + case SidcCodec::SidcType::CivilXml : + { + // + // OR handle XML symbols + // + + if (m_xmlSymbolCache) + { + if (m_xmlSymbols.containsSidc(sidc)) + { + SymbolDataToRender symRender(sidc); + int symWidth = qRound(symRender.sizeL*1.7); + int symHeight = qRound(symRender.sizeL*1.7); + QSharedPointer symResult = notFoundSymbolResult(); + + symResult->setSymbolDataToRender(symRender); + symResult->setGeometryType(GeometryType::Point); + + const QImage image = + m_xmlSymbolCache-> getComponentPixmap(m_xmlSymbols[sidc], + SymbologyXML::PixmapSymbolCache::CacheType::CacheMainSymbols, + SymbologyXML::SymbolTypes::AdditionalSymbolData(), + QSize(symWidth,symHeight), + QColor(), /* const QColor& rgbaLine */ + QColor() /* rgbaRole */ ); + if (!image.isNull()) + { + SymbolImage symImage; + QTransform flipVertical; + flipVertical.scale(1.0, -1.0); + + symImage.setImage(image.transformed(flipVertical)); + symImage.setValid(true); + + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " sidc='" << sidc << "'"; + + return symResult; + } + + ERROR_LOG(m_logger) << LOGFUNCTION << "creating base symbol im from xml symbol failed (sidc=" << sidc << ")"; + } + else ERROR_LOG(m_logger) << LOGFUNCTION << "symbol must be inserted before usage (sidc=" << sidc << ")"; + } + else ERROR_LOG(m_logger) << LOGFUNCTION << "get instance of SymbologyXML::SymbolCacheWithTables failed."; + + } break; + + default: + { + // + // OR handle Esri-Dictionary + // + + // If requested (encoded) sidc is CMPL, so convert to BASE: + QString baseSymbolCode = sidc; + if (SidcCodec::decodeSidcType(sidc) == SidcCodec::SidcType::Complete) + baseSymbolCode = SidcBuilderBase::concreteSidcToBaseSymbolCode(sidc); + + if (m_baseSymbolCodeToSymbolPropertyTable.contains(baseSymbolCode)) + { + const SymbolProperties &symbolProperties = m_baseSymbolCodeToSymbolPropertyTable[baseSymbolCode]; + + + // prepare SymbolResult + QSharedPointer preparedSymResult = QSharedPointer(new SymbolResult); + // save some values from caller: + preparedSymResult->setSymbolDataToRender(SymbolDataToRender(baseSymbolCode)); + + // Create SymbolResult as ret-value + QSharedPointer symResult = symbolPropertyImage(preparedSymResult, symbolProperties); // including GeometryType + + return symResult; + } // if (m_baseSymbolCodeToSymbolPropertyTable.contains(baseSymbolCode)) + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " not found:" + << " sidc='" << sidc << "'" + << " baseSymbolCode='" << baseSymbolCode << "'"; + } + } break; + + } // switch(sidcType) + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " sidc='" << sidc << "'"; + + return notFoundSymbolResult(); +} + + + + +void SymbolDictionaryImpl::onFetchSymbolCompleted(QUuid fsTaskId, Esri::ArcGISRuntime::Symbol *symbol) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symType= '" << this->symbologyType() << "'" + << " fsTaskId= '" << fsTaskId << "'" + << " symbol= '" << symbol << "'" + << " ThreadId=" << QThread::currentThreadId(); + + if (! symbol) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " START" + << " symType= '" << this->symbologyType() << "'" + << " fsTaskId= '" << fsTaskId << "'" + << " no symbol!!!"; + + if (doParanoiaChecks()) + abort(); + + return; + } + + QSharedPointer symResult = m_findSymbol2symbolResult.value(fsTaskId); + if (!symResult) + { + // it´s legal, that the result does not exist anymore. + // Example: if used in a model::data(), the request occur very quickly. + // So the second request may be done before the first can be answered. + // So just a Debug msg: + DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult not found or already been deleted" + << " fsTaskId= '" << fsTaskId << "'"; + return; + } + + // + // retrieve GeometryType : + // + const QString &sidc = symResult->symbolDataToRender().sidc; + + // try baseSymbolCode + const QString &baseSymbolCode = SidcBuilderBase::concreteSidcToBaseSymbolCode(sidc); + DEBUG_LOG(m_logger) << LOGFUNCTION << " baseSymbolCode = '" << baseSymbolCode << "'"; + if (m_baseSymbolCodeToSymbolPropertyTable.contains(baseSymbolCode)) + { + const SymbolProperties &symbolProperties = m_baseSymbolCodeToSymbolPropertyTable[baseSymbolCode]; + symResult->setGeometryType(symbolProperties.geometryType()); + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " baseSymbolCode not found for sidc='" << sidc << "'" + << ", baseSymbolCode= '" << baseSymbolCode << "'" + << ", fsTaskId= '" << fsTaskId << "'"; + } + // : retrieve GeometryType + +// FATAL_LOG(m_logger) << LOGFUNCTION << " XXXXXXXXXX geometryType = " << symResult->geometryType(); + + + // + // retrieve Image : + // + { + connect(symbol, &Esri::ArcGISRuntime::Symbol::createSwatchCompleted, + this, &SymbolDictionaryImpl::onSwatchCompleted); + +#ifdef USE_ARCADE_SYMBOLOGY + Esri::ArcGISRuntime::TaskWatcher tw; + if (symResult->geometryType() == GeometryType::Polygon) + // area/Polygon -> request rectangle, otherwise quadratic swatch: + tw = symbol->createSwatch(CREATE_SWATCH_PARAMETER.m_width, CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_screenScale); + else + tw = symbol->createSwatch(CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_height, CREATE_SWATCH_PARAMETER.m_screenScale); +#else + Esri::ArcGISRuntime::TaskWatcher tw = symbol->createSwatch(CREATE_SWATCH_SCREEN_SCALE); // CREATE_SWATCH_SCREEN_SCALE +#endif // USE_ARCADE_SYMBOLOGY + QUuid csTaskId; + if (tw.isValid()) + { + csTaskId = tw.taskId(); + DEBUG_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher valid: csTaskId=" << csTaskId; + + if (doParanoiaChecks()) + if (csTaskId.isNull()) + abort(); + + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher invalid" + << " ThreadId=" << QThread::currentThreadId(); + + if (doParanoiaChecks()) + abort(); + + } + + if (! csTaskId.isNull()) + m_createSwatch2findSymbolTaskId[csTaskId] = fsTaskId; + else + ERROR_LOG(m_logger) << LOGFUNCTION << " csTaskWatcher invalid"; + + } // retrieve Image + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " fs-taskId= '" << fsTaskId << "'" +// << " cs-taskId= '" << csTaskId << "'" + << " symbol= '" << symbol << "'"; +} + +void SymbolDictionaryImpl::onSwatchCompleted(const QUuid &csTaskId, const QImage &image) +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " symType= '" << this->symbologyType() << "'" + << " csTaskId= '" << csTaskId << "'" + << " image.isNull= '" << image.isNull() << "'" + << " image.size()= '" << image.size().width() << " - " << image.size().height() + << " image.colorTable().size()= '" << image.colorTable().size() << "'" + << " ThreadId=" << QThread::currentThreadId(); + + auto it = m_createSwatch2findSymbolTaskId.find(csTaskId); + if (it == m_createSwatch2findSymbolTaskId.end()) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no taskIdMapping" + << " csTaskId= '" << csTaskId << "'"; + + if (doParanoiaChecks()) + abort(); + + return; + } + + // map to external (findSymbol) taskId + const QUuid &fsTaskId = it.value(); + DEBUG_LOG(m_logger) << LOGFUNCTION << " START" + << " fsTaskId= '" << fsTaskId << "'" + << " csTaskId= '" << csTaskId << "'"; + +//// emit findSymbolCompleted(fsTaskId, image); + + + if (m_findSymbol2symbolResult.contains(fsTaskId)) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult found..." << " fsTaskId= '" << fsTaskId << "'"; + + QSharedPointer symResult = m_findSymbol2symbolResult[fsTaskId]; + if (symResult) + { + DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult found and still valid..." + << " fsTaskId= '" << fsTaskId << "'"; + + const SymbolDataToRender &symToRender = symResult->symbolDataToRender(); + +// DEBUG_LOG(m_logger) << LOGFUNCTION << " sidc=" << symToRender.sidc << " image.size=" << image.width() << " - " << image.height(); + + + // 'renderExtensions': maybe transfer to workerThread: + // N. Thoden, 2016-08-18: + // On my maschine (AS502541 with i7;3.5GHz;octa-core) 100 calls took ~60ms + // -> one call tooks ~0.6ms + +#define CONCURRENT +#ifdef CONCURRENT + + // start computation like: + // QFuture QtConcurrent::run(Function function, arg1, arc2...) + // ^^^^^^^^^^ without() + symResult->setFuture(QtConcurrent::run(renderExtensions, image, symToRender, QColor(), symToRender.renderJustCoreImage)); + +#else // CONCURRENT + + image = renderExtensions(image, symToRender, QColor(), symToRender.renderJustCoreImage); + + SymbolImage symImage; + symImage.setImage(image); + symImage.setValid(true); + symResult->setSymbolImage(symImage); + symResult->fireResultReady(); // ToDo: maybe async!?!? + +#endif // CONCURRENT + + } + +// else +// { +// // THis can happen in case of high number of request... +// DEBUG_LOG(m_logger) << LOGFUNCTION << " SymbolResult has already been deleted" << " fsTaskId= '" << fsTaskId << "'"; +// } + + // cleanup + m_findSymbol2symbolResult.remove(fsTaskId); + + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION << " no taskIdMapping" + << " csTaskId= '" << csTaskId << "'"; + + if (doParanoiaChecks()) + abort(); + + } + + + // cleanup + m_createSwatch2findSymbolTaskId.erase(it); + + // see also: "SymbolDictionary - findSymbolCompleted without taskId" + // https://earlyadopter.esri.com/project/forum/thread.html?cap=FA3A32558952489280FB472D26FA8192&forid={A612A2F3-E344-4BD0-A1EA-0CE2DA5E694E}&topid={432F3A6B-E323-4628-BF39-77DB7BAAC9A1} + Esri::ArcGISRuntime::Symbol *symbol = qobject_cast(sender()); + if (symbol) + symbol->deleteLater(); + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " symType= '" << this->symbologyType() << "'" + << " csTaskId= '" << csTaskId << "'"; +} + +QImage renderXML_Symbol(const QSharedPointer &xmlSymbolCache, + const SidcCodec::SidcHashTable &xmlSymbols, + const SymbolDataToRender &symbolDataToRender, + bool renderJustCoreImage) +{ + const QString &sidc = symbolDataToRender.sidc; + const QColor &roleColor = symbolDataToRender.fillColor; + const QColor &injuryColor = symbolDataToRender.injuryColor; + + SymbologyXML::SymbolTypes::t_state state = SymbologyXML::SymbolTypes::STATE_UNDEFINED; + SymbologyXML::SymbolTypes::t_uncertainty uncertainty = SymbologyXML::SymbolTypes::UNCERTAINTY_UNDEFINED; + SymbologyXML::SymbolTypes::t_affil affil = SymbologyXML::SymbolTypes::AFFIL_UNDEFINED; + SymbologyXML::SymbolTypes::t_mob mob = SymbologyXML::SymbolTypes::MOB_UNDEFINED; + + SymbologyXML::SymbolTypes::AdditionalSymbolData additionalSymbolData; + + const QString & rawSidc = SidcCodec::decodeRawSidc(sidc); + QString symbolId; + SymbologyXML::Symbol xmlSymbol; + + if (SymbologyXML::xmlSymbolDecodeId(rawSidc,symbolId,state,uncertainty,affil,mob)) + { + xmlSymbol = xmlSymbols[SidcCodec::encodeCivilXml(symbolId)]; + + xmlSymbol.setAffil( affil ); + xmlSymbol.setMob( mob ); + + additionalSymbolData.m_state = state; + additionalSymbolData.m_uncertainty = uncertainty; + + } + else + { + xmlSymbol = xmlSymbols[sidc]; // use base symbol + additionalSymbolData.m_state = SymbologyXML::SymbolTypes::STATE_PRESENT; + additionalSymbolData.m_uncertainty = SymbologyXML::SymbolTypes::UNCERTAINTY_UNDEFINED; + } + + double symbolScale = symbolDataToRender.sizeL * 1.7 * ((xmlSymbol.getScale() > 0) ? xmlSymbol.getScale() : 1.0); + + const QSize &imgSize = QSize(symbolScale, symbolScale); + + // transfer symbolDataToRender.role to xmlSymbol.affiliation: + // ToDo: distinguish using role from Sidc or from symbolDataToRender + + if (SymbologyXML::SymbolTypes::AFFIL_UNDEFINED == affil) + { + xmlSymbol.setAffil( SymbologyXML::Symbol::roleToAffiliation(symbolDataToRender.role) ); + } + + additionalSymbolData.m_filltype = SymbologyXML::SymbolTypes::FILLTYPE_FILLED; + additionalSymbolData.m_scale = SymbologyXML::SymbolTypes::SCALE_UNDEFINED; + + if (!renderJustCoreImage) + { + switch(symbolDataToRender.injury) + { + case Injury::Hit : additionalSymbolData.m_vbg.vbg = SymbologyXML::SymbolTypes::vbg_et::MITTLERER_TREFFER; break; + case Injury::MobilityKill : additionalSymbolData.m_vbg.vbg = SymbologyXML::SymbolTypes::vbg_et::BEWEGUNGSUNFAEHIG; break; + case Injury::WeaponKill : additionalSymbolData.m_vbg.vbg = SymbologyXML::SymbolTypes::vbg_et::AUSFALL_WAFFENANLAGE; break; + case Injury::TotalKill : additionalSymbolData.m_vbg.vbg = SymbologyXML::SymbolTypes::vbg_et::TOTALAUSFALL; break; + case Injury::NoInjury : + default : additionalSymbolData.m_vbg.vbg = SymbologyXML::SymbolTypes::vbg_et::EINSATZBEREIT; break; + } + additionalSymbolData.m_vbg.color = injuryColor; + + for (const AdditionalSymbolType additionalSymbolType : qAsConst(symbolDataToRender.additionalSymbols)) + { + switch (additionalSymbolType) + { + case AdditionalSymbolType::Manipulation : additionalSymbolData.m_modifier.setManipulation(true); break; + case AdditionalSymbolType::NoPosition : additionalSymbolData.m_modifier.setNoPosition(true); break; + case AdditionalSymbolType::BiteError : additionalSymbolData.m_modifier.setByteError(true); break; + case AdditionalSymbolType::NbcProtection : additionalSymbolData.m_modifier.setNbcProtection(true); break; + default : break; + } + } + } + + QImage image = xmlSymbolCache->getPixmap(xmlSymbol, + additionalSymbolData, + imgSize, + QColor(0,0,0), /* const QColor& rgbaLine */ + roleColor, /* rgbaRole */ + true, true); + if (image.isNull()) + { + LOGGER_T m_logger = getLogger("SymbolDictionaryImpl"); + ERROR_LOG(m_logger) << LOGFUNCTION << " render XML symbol (sidc='" << sidc <<"') failed."; + return QImage(); + } + + if (symbolDataToRender.marking) + { + QImage fullImage(image.width(), image.height(), QImage::Format_ARGB32); + fullImage.fill(Qt::transparent); + + // TODO: check + ExtensionRenderer::renderMarking(fullImage, roleColor); + + QPainter painter(&fullImage); + painter.drawImage(image.rect(), image, image.rect()); + painter.end(); + + return fullImage; + } + + return image; + +} // QImage renderXML_Symbol(...) + + +QImage renderExtensions(QImage &coreImage, + const SymbolDataToRender &symbolDataToRender, + const QColor &colorToBeReplaced, + bool renderJustCoreImage) +{ + LOGGER_T m_logger = getLogger("SymbolDictionaryImpl"); + + + TRACE_LOG(m_logger) << LOGFUNCTION << " START" + << " ThreadId=" << QThread::currentThreadId() + << " symbolDataToRender= " << symbolDataToRender.toString(); + + if (coreImage.isNull()) + WARNING_LOG(m_logger) << LOGFUNCTION << " coreImage.isNull"; + + if (symbolDataToRender.sizeL <= 0) + WARNING_LOG(m_logger) << LOGFUNCTION << " sizeL is <= 0! sizeL=" << symbolDataToRender.sizeL; + + // manual delay : + //QThread::msleep(1000); + // : manual delay + + const QString &sidc = symbolDataToRender.sidcAccordingRole(); + + + // + // Prepare FullImage + // + QImage fullImage = ExtensionRenderer::createFullImage(symbolDataToRender.sizeL); + bool isEts = (SidcCodec::SidcType::CivilEts == SidcCodec::decodeSidcType(sidc)); + + // + // CoreImage + // + + // + // CoreImage: replace Color: + // + if (symbolDataToRender.fillColorReplace) + { + // oldColor + QVector oldColorVec; + if (isEts) + { + if (colorToBeReplaced.isValid()) + oldColorVec.append(colorToBeReplaced); + else + ERROR_LOG(m_logger) << LOGFUNCTION << " colorToBeReplaced is invalid" + << " sidc=" << symbolDataToRender.sidc; + } + else + oldColorVec = ExtensionRenderer::identityToColor(sidc); + +// coreImage.save(QLatin1String("/tmp/dummy.png")); + + for (const QColor &oldColor : qAsConst(oldColorVec)) + { + if (oldColor.isValid()) + { + if (ExtensionRenderer::replaceColor(coreImage, + oldColor.rgba(), + symbolDataToRender.fillColor.rgba())) + break; // finish loop, if first oldColor was found (and image is modfied) + } + else + { + ERROR_LOG(m_logger) << LOGFUNCTION + << " sidc='" << symbolDataToRender.sidc << "', identityToColor failed"; + } + } + + } // if (symbolDataToRender.fillColorReplace) + + + // + // CoreImage: Scale coreImage (to fit into fullImage): + // + QSize newSize; + if (isEts) + { + newSize = fullImage.size(); // ETS has more height then width + } + else + { + +#ifdef USE_ARCADE_SYMBOLOGY + newSize = fullImage.size(); +#else + Q_DECL_CONSTEXPR double esriL = (CREATE_SWATCH_SCREEN_SCALE * 20) * 1.3; // to let the big clover&diamond (incl. echelon) fit into the marking rect + // ( 5 * 20) * 1.15 = 115 + newSize = coreImage.size() * static_cast(symbolDataToRender.sizeL) / esriL; +#endif // USE_ARCADE_SYMBOLOGY + + // replace honoring the hotSpot by simple scaling : + int hqFdTf = QStringRef(&sidc, 7, 1).toInt(); + // int amplifierDescriptor = QStringRef(&sidc, 8, 2).toInt(); + if (((hqFdTf > 0) && ((hqFdTf < 8)))) // HeadQuarter/FeintDummy/TaskFore have more height then width + newSize = fullImage.size(); + // : replace honoring the hotSpot by simple scaling + } // if (isEts) + + // scale + coreImage = coreImage.scaled(newSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); + + if (coreImage.isNull()) + WARNING_LOG(m_logger) << LOGFUNCTION << " image isNull "; + + // Just CoreImage? + if (renderJustCoreImage) + return coreImage; + + // + // FullImage: 1. create Marking: + // + if (symbolDataToRender.marking) + ExtensionRenderer::renderMarking(fullImage, symbolDataToRender.fillColor); + + // + // FullImage: 2. merge CoreImage + // + ExtensionRenderer::mergeCoreImageIntoFullImage(fullImage, coreImage); + + // + // FullImage: 5. Injury and AddOns: + // + ExtensionRenderer::renderInjuryAddSymbols(fullImage, + symbolDataToRender.injury, + symbolDataToRender.injuryColor, + symbolDataToRender.additionalSymbols, + symbolDataToRender.fillColor); + + if (fullImage.isNull()) + WARNING_LOG(m_logger) << LOGFUNCTION << " fullImage is Null!"; + + TRACE_LOG(m_logger) << LOGFUNCTION << " END" + << " ThreadId=" << QThread::currentThreadId() + << " symbolDataToRender= " << symbolDataToRender.toString(); + return fullImage; +} + + +QStringList SymbolDictionaryImpl::symbolModifierKeys() const +{ + if (!m_esriDictionaryProcessor) + return QStringList(); + return m_esriDictionaryProcessor->symbolModifierKeys(); +} + +bool SymbolDictionaryImpl::symbolModifierData(const QString &key, ModifierData &data) const +{ + if (!m_esriDictionaryProcessor) + return false; + return m_esriDictionaryProcessor->symbolModifierData(key, data); +} + +QList SymbolDictionaryImpl::symbolModifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const +{ + if (!m_esriDictionaryProcessor) + return QList(); + return m_esriDictionaryProcessor->symbolModifierList(symbolSet, modifierSector).toList(); +} + +QList SymbolDictionaryImpl::symbolModifierList(const QString &baseSymbolCode, unsigned int modifierSector) const +{ + if (!m_esriDictionaryProcessor) + return QList(); + + // check baseSymbolCode, must contains 8 digits + + if (!QRegExp(QStringLiteral("^[0-9]{8,8}$")).exactMatch(baseSymbolCode)) + { + ERROR_LOG(m_logger) << LOGFUNCTION << " Invalid baseSymbolCode \"" << baseSymbolCode << "\". Must be made up of 8 digits."; + return QList(); + } + + SidcDefinitions::SymbolSet symbolSetBaseCode = SidcDefinitions::castToSymbolSet(baseSymbolCode.midRef(0, 2).toUInt()); + + return m_esriDictionaryProcessor->symbolModifierList(symbolSetBaseCode, modifierSector).toList(); +} + + +int SymbolDictionaryImpl::symbologySpecificCount() const +{ + TRACE_LOG(m_logger) << LOGFUNCTION << " START"; + int count = m_baseSymbolCodeToSymbolPropertyTable.size(); + TRACE_LOG(m_logger) << LOGFUNCTION << " END" << " count=" << count; + return count; +} + +bool SymbolDictionaryImpl::insertXmlTestSymbol(const SymbolProperties &symbolProps) +{ + QString xmlString = QString::fromUtf8 + ( R"XML( + + + test_lines + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + )XML" ); + + return setXmlSymbol(4711, + QLatin1String("Name"), + QLatin1String("OperatorTestSymbol"), + 0, + xmlString, + symbolProps); +} + +bool SymbolDictionaryImpl::insertXmlComplexTestSymbol(const SymbolProperties &symbolProps) +{ + QString xmlString = QString::fromUtf8 + ( R"XML( + + + test complex symbol + + + + + + + + + + + + + + + + + + + + + + + )XML" ); + return setXmlSymbol(4712, QLatin1String("Name"), QLatin1String("OperatorComplexSymbol"), 0, xmlString, symbolProps); +} + + +int SymbolDictionaryImpl::count() const +{ + return symbologySpecificCount() + etsSymbolCount() + xmlSymbolCount(); +} + + + +QString SymbolDictionaryImpl::toString() const +{ + QString str; + str.append(QStringLiteral(" m_specificationType='%1'").arg(m_specificationType)); + str.append(QStringLiteral(" SymbologyType=%1").arg(AdvancedSymbology::toString(m_symbolDictionaryType_own))); + str.append(QStringLiteral(" m_symbologyResourcePath='%1'").arg(m_symbologyResourcePath)); + + str.append(QStringLiteral(" m_createSwatch2findSymbolTaskId.size=%1").arg(m_createSwatch2findSymbolTaskId.size())); + str.append(QStringLiteral(" m_findSymbol2symbolResult.size=%1").arg(m_findSymbol2symbolResult.size())); + + return str; +} + +QStringList SymbolDictionaryImpl::symbologyFieldNamesInternal() const +{ + if (!m_esri_dictionary) + return QStringList(); + return m_esri_dictionary->symbologyFieldNames(); +} + +QStringList SymbolDictionaryImpl::textFieldNamesInternal() const +{ + if (!m_esri_dictionary) + return QStringList(); + return m_esri_dictionary->textFieldNames(); +} + +void SymbolDictionaryImpl::onErrorDictionary(const Esri::ArcGISRuntime::Error &error) +{ + FATAL_LOG(m_logger) << LOGFUNCTION << " ---EsriError--- occured: " + << " code=" << error.code() + << ", domain=" << static_cast(error.domain()) + << ", extendedErrorType=" << static_cast(error.extendedErrorType()) + << ", message='" << error.message() << "'" + << ", additionalMessage='" << error.additionalMessage() << "'"; +} + + +int minNumberOfPoints(GeometryType gt) +{ + switch (gt) + { + case GeometryType::Undefined: + return -1; + case GeometryType::Point: + return 1; + case GeometryType::Polyline: + return 2; + case GeometryType::Polygon: + return 3; + } + return -1; +} + + +//----------------------------------------------------------------------------- +// output operator: +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +QString toString(LoadStatus type) +{ + switch (type) + { + case LoadStatus::Loaded: + return QLatin1String("Loaded"); + case LoadStatus::Loading: + return QLatin1String("Loading"); + case LoadStatus::FailedToLoad: + return QLatin1String("FailedToLoad"); + case LoadStatus::NotLoaded: + return QLatin1String("NotLoaded"); + case LoadStatus::Unknown: + return QLatin1String("Unknown"); + } // switch + return QLatin1String("LoadStatusToStringERROR"); +} + + +//----------------------------------------------------------------------------- +QString toString(SymbologyType type) +{ + switch (type) + { + case SymbologyType::None: + return QLatin1String("None"); + case SymbologyType::MIL2525C: + return QLatin1String("MIL2525C"); + case SymbologyType::APP6B: + return QLatin1String("APP-6(B)"); + case SymbologyType::APP6D: + return QLatin1String("APP-6(D)"); + case SymbologyType::MIL2525D: + return QLatin1String("MIL2525D"); + } // switch + return QLatin1String("symbologyToStringERROR"); +} + +bool fromString(SymbologyType &symbologyType, const QString &str) +{ + if (str.compare(QLatin1String("NONE"), Qt::CaseInsensitive) == 0) + { + symbologyType = SymbologyType::None; + return true; + } + if (str.compare(QLatin1String("APP6B"), Qt::CaseInsensitive) == 0) + { + symbologyType = SymbologyType::APP6B; + return true; + } + if (str.compare(QLatin1String("APP6D"), Qt::CaseInsensitive) == 0) + { + symbologyType = SymbologyType::APP6D; + return true; + } + if (str.compare(QLatin1String("MIL2525C"), Qt::CaseInsensitive) == 0) + { + symbologyType = SymbologyType::MIL2525C; + return true; + } + if (str.compare(QLatin1String("MIL2525D"), Qt::CaseInsensitive) == 0) + { + symbologyType = SymbologyType::MIL2525D; + return true; + } + return false; +} + + +QString toString(AdvancedSymbology::GeometryType gt) +{ + switch (gt) + { + case GeometryType::Undefined: + return QLatin1String("Undefined"); + case GeometryType::Point: + return QLatin1String("Point"); + case GeometryType::Polyline: + return QLatin1String("Polyline"); + case GeometryType::Polygon: + return QLatin1String("Polygon"); + } + return QLatin1String("geometryTypeToStringERROR"); +} + +//----------------------------------------------------------------------------- +QString toString(AdvancedSymbology::Role value) +{ + switch (value) + { + case Role::Pending: + return QLatin1String("Pending"); + case Role::Unknown: + return QLatin1String("Unknown"); + + case Role::AssumedFriend: + return QLatin1String("AssumedFriend"); + case Role::Friend: + return QLatin1String("Friend"); + + case Role::Neutral: + return QLatin1String("Neutral"); + + case Role::SuspectJoker: + return QLatin1String("SuspectJoker"); + case Role::HostileFaker: + return QLatin1String("HostileFaker"); + } // switch + return QLatin1String("ERROR-Role"); +} + + + +std::ostream &operator<<(std::ostream &stream, const AdvancedSymbology::Role &value) +{ + stream << AdvancedSymbology::toString(value); + return stream; +} + +std::ostream &operator<<(std::ostream &stream, const AdvancedSymbology::LoadStatus &value) +{ + stream << AdvancedSymbology::toString(value); + return stream; +} + +std::ostream &operator<<(std::ostream &stream, const AdvancedSymbology::GeometryType &value) +{ + stream << AdvancedSymbology::toString(value); + return stream; +} + +std::ostream &operator<<(std::ostream &stream, const AdvancedSymbology::SymbologyType &value) +{ + stream << AdvancedSymbology::toString(value); + return stream; +} + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.h new file mode 100755 index 000000000..57436a2e6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.h @@ -0,0 +1,302 @@ +/** + * @RDE_HEADER@ + * Interface-Implementation of SymbolDictionaryImpl + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include // Our interface "SymbolDictionary" +#include "esri_dictionary_processor.h" +#include "advanced_symbology_logging.h" + +// Esri +#include + + +class QStandardItemModel; +class QTimer; + +namespace SymbologyXML { class PixmapSymbolCache; } + +//---------------------------------------------------------------------------- +/** + * Support advanced Symbology (like APP6 and MIL2525). + * Some extensions like injury/damage are added to standard and rendered to the final image. + * It is related to SituationMap. + * + */ +namespace AdvancedSymbology +{ +class BaseSymbolModel; + +QStringList listOfEtsPointSidcs_Internal(); + +QStringList listOfPointSidcs_Internal(); +QStringList listOfLineSidcs_Internal(); +QStringList listOfAreaSidcs_Internal(); +QStringList listOfPlanEditorSidcs_Internal(); + + + +/*! + * \addtogroup AdvancedSymbology + * @{ Handle the symbology based on MIL2525 and APP6 standard + */ + + +/** + * @brief The SymbolDictionaryImpl class + * + * Current focus: Only access to the dictionary for generating images/icons + * Wrapper to EsriSymbolDictionaryImpl + */ +class ADVANCED_SYMBOLOGY_EXPORT SymbolDictionaryImpl : public /*virtual*/ SymbolDictionary +{ + Q_OBJECT + +public: + /*! \name Construction, Destruction */ + //@{ + SymbolDictionaryImpl(SymbologyType symbologyType, + const QString &symbologyResourcePath); + virtual ~SymbolDictionaryImpl(); +private: + bool init(SymbologyType symbologyType, const QString &symbologyResourcePath); + void connectSignals(); + +public: + + bool isOk() const override; + + void load() override; + + bool isLoaded() const override; + bool isLoading() const { return m_isLoading; } + + LoadStatus loadStatus() const override; + + + bool setEtsSymbol(int fileId, + const QString &encodedSidc, + const SymbolProperties &properties, + const QImage &image) override; + void removeEtsSymbol(int fileId) override; + void removeEtsSymbol(const QString &encodedSidc) override; + void clearEtsSymbols() override; + + int addEtsSymbols(const QString &path) override; + int etsSymbolCount() const override; + QStringList etsSymbols() const override; + + bool containsXmlSymbol(const QString &encodedSidc) const override; + bool setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const QString &xmlSymbol, const SymbolProperties &properties) override; + bool setXmlSymbol(int fileId, const QString &name, const QString &operatorName, qint64 lastModified, const SymbologyXML::Symbol &symbol, const SymbolProperties &properties) override; + void removeXmlSymbol(int fileId) override; /**< Remove symbol from dictionary */ + void removeXmlSymbol(const QString &encodedSidc) override; + void clearXmlSymbols() override; + void clearXmlSymbolCache() override; + + int xmlSymbolCount() const override; + QStringList xmlSymbols() const override; + QString xmlSidc(const QString &xmlSymbol) const override; + QString xmlSidc(const SymbologyXML::Symbol &symbol) const override; + + SymbologyXML::Symbol xmlSymbol(const QString &encodedSidc) const override; + SymbolProperties xmlSymbolProps(const QString &encodedSidc) const override; + + SymbolDictionaryImpl(const SymbolDictionaryImpl &other) = delete; + SymbolDictionaryImpl &operator=(const SymbolDictionaryImpl &other) = delete; + //@} + + + SymbologyType symbologyType() const override; + QString specificationType() const override; + QString symbologyResourcePath() const override; + + int symbologySpecificCount() const override; + + const Esri::ArcGISRuntime::DictionarySymbolStyle *getEsriSymbolDictionary() const; + + + static QImage temporaryImage(int sizeL = 100); + static QImage notFoundImage(int sizeL = 100, const QColor &fillColor = QColor(255, 255, 0, 128)); + static QSharedPointer notFoundSymbolResult(const SymbolDataToRender &symDataToRender); + static QSharedPointer notFoundSymbolResult(int sizeL = 100); + + QStringList symbologyAttributeKeyList() const override; + + QStringList cachedBaseSymbolCodes() const override; + + SymbolProperties symbolProperties(const QString &baseSymbolCode) const override; + + bool searchResultIsValid(const QHash &key8LookupTable, + const Esri::ArcGISRuntime::SymbolStyleSearchResult &resultItem, + QString *toBeRemovedFromName = nullptr); + + + QSharedPointer symbolPropertyImage(const SymbolProperties &symbolProperties, int sizeL = 100) const override; + QSharedPointer symbolPropertyImage(QSharedPointer symResult, const SymbolProperties &symbolProperties, int sizeL = 100) const; + + + + + /*! \name Render symbol: findImage, findPreview, findBaseSymbol*/ + //@{ + // for concrete symbols (with frame, modifier, injury..) + QSharedPointer findImage(const SymbolDataToRender &symDataToRender) const override; + + // for concrete symbols (with frame) + QSharedPointer findPreview(const QString &sidc, int sizeL = 100) const override; + + // for abstract object (just baseSymbol/Mainicon) + QSharedPointer findBaseSymbol(const QString &sidc) const override; + //@} + + + /*! \name Fetch + * Similar to findImage, except that fetchSymbol returns a different baseSymbolIcon for multiPoint sidcs. + * In most cases you should prefer findImage, findPreview, findBaseSymbol + */ + //@{ + QSharedPointer fetchSymbol(const QString &sidc, int sizeL = 100) const override; + QSharedPointer fetchSymbol(const SymbolDataToRender &symDataToRender) const override; + //@} + + + + QStringList symbolModifierKeys() const override; + + bool symbolModifierData(const QString &key, ModifierData &data) const override; + + QList symbolModifierList(SidcDefinitions::SymbolSet symbolSet, unsigned int modifierSector) const override; + QList symbolModifierList(const QString &baseSymbolCode, unsigned int modifierSector) const override; + + + bool insertXmlTestSymbol(const SymbolProperties &symbolProps) override; + bool insertXmlComplexTestSymbol(const SymbolProperties &symbolProps) override; + + int count() const override; + + + //------------------------------- + +// void createSidc(QString &sidc_inOut, +// SymbolTypes::t_affil identity, // friend, neutral... +// SymbolTypes::t_state state) const override // present, anticipated +// {}; + + + QString toString() const override; + + + + const EsriDictionaryProcessor *getEsriDictionaryProcessor() const + { + return m_esriDictionaryProcessor; + } + const SidcCodec::SidcHashTable baseSymbolCodeToSymbolPropertyTable() const + { + if (!m_esriDictionaryProcessor) + return SidcCodec::SidcHashTable(); + return m_esriDictionaryProcessor->baseSymbolCodeToSymbolPropertyTable(); + } + + + QStringList symbologyFieldNamesInternal() const; + QStringList textFieldNamesInternal() const; + + BaseSymbolModel* getBaseSymbolModelEsri(); + + BaseSymbolModel* getBaseSymbolModelXML() { return m_xmlBaseSymbolModel; } + const BaseSymbolModel* getBaseSymbolModelXML() const { return m_xmlBaseSymbolModel; } + + BaseSymbolModel* getBaseSymbolModelEts() { return m_etsBaseSymbolModel; } + const BaseSymbolModel* getBaseSymbolModelEts() const { return m_etsBaseSymbolModel; } + +protected Q_SLOTS: + void onErrorDictionary(const Esri::ArcGISRuntime::Error &error); + void onLoadStatusChanged(Esri::ArcGISRuntime::LoadStatus loadStatus); + void onProcessorAllIsDone(); + + void onFetchSymbolCompleted(QUuid fsTaskId, Esri::ArcGISRuntime::Symbol *symbol); + + void onSwatchCompleted(const QUuid &csTaskId, const QImage &image); + +private: + Esri::ArcGISRuntime::DictionarySymbolStyle *m_esri_dictionary = nullptr; + +protected: + + bool m_initOk; + // ESRI data: + QString m_specificationType; + SymbologyType m_symbolDictionaryType_own = SymbologyType::MIL2525C; + QString m_symbologyResourcePath; + + // // OWN data: + + // createSwatch-Uuid -> findSymbol-Uuid + QMap m_createSwatch2findSymbolTaskId; + + + // searchSymbol-Uuid -> propertyResult + mutable QMap> m_findSymbol2propertyResult; + + // findSymbol-Uuid -> symbolResult + mutable QMap> m_findSymbol2symbolResult; + + +// QStringList m_sidcList; +// QList m_symbolProperties; +// QHash m_sidcToSymbolProperties; + + EsriDictionaryProcessor *m_esriDictionaryProcessor = nullptr; + + SidcCodec::SidcHashTable m_baseSymbolCodeToSymbolPropertyTable; // just a copy + + + + // to extent the esriDict by own entries : + SidcCodec::SidcHashTable m_etsSidcSymbolProperties; + SidcCodec::SidcHashTable m_etsSidcImages; + QStringList m_etsSidcOrdered; + + SidcCodec::SidcHashTable m_xmlSidcSymbolProperties; + SidcCodec::SidcHashTable m_xmlSymbols; + QSharedPointer m_xmlSymbolCache; + + // : to extent the esriDict by own entries + + // EsriSymbols: + BaseSymbolModel *m_esriBaseSymbolModel = nullptr; + + // XML: + BaseSymbolModel *m_xmlBaseSymbolModel = nullptr; + + // Ets: + BaseSymbolModel *m_etsBaseSymbolModel = nullptr; + + + QTimer *m_changedDelayTimer; + bool m_isLoading; + LOGGER_T m_logger; ///< Interface of the Logging-Facility +}; + + + +QImage renderExtensions(QImage &coreImage, + const SymbolDataToRender &symbolDataToRender, + const QColor &colorToBeReplaced, + bool renderJustCoreImage = false); + +QImage renderXML_Symbol(const QSharedPointer &xmlSymbolCache, + const SidcCodec::SidcHashTable &xmlSymbols, + const SymbolDataToRender &symbolDataToRender, + bool renderJustCoreImage = false); + +} // namespace AdvancedSymbology + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.cpp new file mode 100755 index 000000000..4c8d46d92 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.cpp @@ -0,0 +1,417 @@ +/** + * @RDE_HEADER@ + * Class ExtensionRenderer + * $Id$ + * $HeadURL$ + * $Author$ + */ + +// Own +#include "symbol_extension_renderer.h" +#include "sidc_codec.h" + +// ESRI + + +// Qt +#include + +#include + +const double g_factor = 0.95; + +namespace AdvancedSymbology +{ + +QImage ExtensionRenderer::createFullImage(int sizeL, const QColor &fillColor) +{ + const int fullSizeW = sizeL * 1.7; // FRIEND 1.5 L + const int fullSizeH = sizeL * 1.7; // try and error: '1.7'; + // N. Thoden, 17.03.2020: + // Increase height to 2.2 to avoid FeintDummy (and mobility?) exceeds upper edge. + // But unfortunately then the map_object_custom_view has small icons - :-( + // Stay at 1.7 + + QImage fullImage(fullSizeW, fullSizeH, QImage::Format_ARGB32); + if (fillColor.isValid()) + fullImage.fill(fillColor); + else + fullImage.fill(Qt::transparent); + + // for debugging : + if (0) + { + QPainter painter(&fullImage); + QPen pen(Qt::black); + pen.setWidth(2.0); + painter.setPen(pen); + painter.drawRect(fullImage.rect()); + } + // : for debugging + + return fullImage; +} + + +void ExtensionRenderer::renderMarking(QImage &fullImage, const QColor &color) +{ + QPainter painter(&fullImage); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + + QRect smallerRect(0, 0, + fullImage.width()*g_factor, fullImage.width()*g_factor); // we know, that the fullImage has more height, than width + + const QPoint offset(((fullImage.width() - smallerRect.width()) / 2), + ((fullImage.height() - smallerRect.height()) / 2)); + smallerRect.moveTo(offset); + + painter.setPen(QPen(Qt::NoPen)); // rect with no outter line + // maybe: QColor colorWithoutAlpha = color; colorWithoutAlpha.setAlpha(255); + painter.setBrush(QBrush(color, Qt::Dense5Pattern)); // fillPattern (Dense4Pattern .. Dense6Pattern) + painter.drawRect(smallerRect); + + painter.end(); +} + +// hotSpotOfCoreImage - not be finished +QPoint hotSpotOfCoreImage(const QImage &coreImage, + const QString &sidc) +{ + int hqFdTf = QString(sidc[7]).toInt(); + + if ((hqFdTf < 1) || ((hqFdTf > 7))) + return QPoint(); + +// int identity = QString(sidc[3]).toInt(); + +// bool taskForce = hqFdTf & 4; // mask +// bool headquarters = hqFdTf & 2; // mask +// bool feintDummy = hqFdTf & 1; // mask + + + /* + *Identity + Pending, ///< 0 + Unknown, ///< 1 + + AssumedFriend, ///< 2 + Friend, ///< 3 + + Neutral, ///< 4 + + SuspectJoker, ///< 5 + HostileFaker ///< 6 + */ + + // set x value: + QPoint hotSpot = coreImage.rect().center(); + + // set y value: + // do not honor the frame (unknown/hostile vs. friend/neutral) + // accept a small error to ease the calculation: + + // move hotSpot to bottom -> / + // move hotSpot to top -> * + switch (hqFdTf) + { + case 1: + case 5: + hotSpot.ry() *= 1.3; + break; + case 2: + hotSpot.ry() /= 1.7; + break; + case 3: + case 4: + // empty (it´s not worth) + break; + case 6: + case 7: + case 8: + break; + } // switch + + return hotSpot; +} + + + +QVector ExtensionRenderer::identityToColor(const QString &sidc) +{ + // The following color constants are taken from ArcGis Qt-SDK 10.2.5 + const QString &rawSidc = SidcCodec::decodeRawSidc(sidc); + QVector colorVec; + colorVec.reserve(2); + + if (rawSidc.length() >= 4) + { + const QChar pos2 = rawSidc[1]; // according Mil2525Charlie + const QChar ident = rawSidc[3]; // according Mil2525Delta + + // Unknown + if (ident == QLatin1Char('0') || + ident == QLatin1Char('1') || + + pos2 == QLatin1Char('U') || + pos2 == QLatin1Char('P') || + pos2 == QLatin1Char('G') || + pos2 == QLatin1Char('W') + ) + { + colorVec.append(QColor(255, 255, 128)); + colorVec.append(QColor(255, 255, 0)); // 10012500002108000000@Mil2525D: color = QColor(255, 255, 0); + + // secondary: + colorVec.append(QColor(239, 239, 15)); // SchadMat: 10012500003210000000@MilAPP6D: color = QColor(239, 239, 15) = some kind of yellow + } + // Friend + else if (ident == QLatin1Char('2') || + ident == QLatin1Char('3') || + + pos2 == QLatin1Char('F') || + pos2 == QLatin1Char('A') || + pos2 == QLatin1Char('M') || + pos2 == QLatin1Char('D') + ) + { + colorVec.append(QColor(128, 224, 255)); + + // secondary: + colorVec.append(QColor(0, 0, 0)); // SchadMat: 10032500003210000000@MilAPP6D: color = QColor(0, 0, 0) = black + } + // Neutral + else if (ident == QLatin1Char('4') || + + pos2 == QLatin1Char('N') || + pos2 == QLatin1Char('L') + ) + { + colorVec.append(QColor(170, 255, 170)); + + // secondary: + colorVec.append(QColor(0, 255, 0)); // SchadMat: 10042500003210000000@MilAPP6D: color = QColor(0, 0, 0) = some kind of light green + colorVec.append(QColor(85, 255, 0)); // MedVaclandezone?: 10042500003211000000@MilAPP6D: color = QColor(0, 0, 0) = some kind of light green + } + // Hostile + else if (ident == QLatin1Char('5') || + ident == QLatin1Char('6') || + + pos2 == QLatin1Char('H') || + pos2 == QLatin1Char('S') + ) + { + colorVec.append(QColor(255, 128, 128)); + + // secondary: + colorVec.append(QColor(255, 0, 0)); // SchadMat: 10062500003210000000@MilAPP6D: color = QColor(255, 0, 0) = red + } + } // if (rawSidc.length() >= 2) + + return colorVec; +} + + +bool ExtensionRenderer::replaceColor(QImage &img, + const QRgb &oldColor, + const QRgb &newColor) +{ +#ifdef REPLACE_COLOR_DEBUG + std::cerr << " oldColor=" << oldColor << " newColor=" << newColor << std::endl; +#endif // REPLACE_COLOR_DEBUG + + bool modified = false; + + if (img.format() != QImage::Format_RGB32 && + img.format() != QImage::Format_ARGB32) + { + img = img.convertToFormat(QImage::Format_ARGB32); + modified = true; + } + + if (oldColor != newColor) + { + int xmax = img.width(); + int ymax = img.height(); + for (int x = 0; x < xmax; ++x) + { + for (int y = 0; y < ymax; ++y) + { + const QPoint curPixel(x, y); + const QRgb &pixel = img.pixel(curPixel); + + if (pixel == oldColor) + { + img.setPixel(curPixel, newColor); + modified = true; + } + } // for + } // for + } + + return modified; +} + + +void ExtensionRenderer::mergeCoreImageIntoFullImage(QImage &fullImage, + const QImage &coreImage) +{ + QPainter painter(&fullImage); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + + QPoint offset((fullImage.width() - coreImage.width()) / 2, + (fullImage.height() - coreImage.height()) / 2); + + QRect r = coreImage.rect(); + r.moveTo(offset); + painter.drawImage(r, coreImage, coreImage.rect()); + + painter.end(); +} + +void ExtensionRenderer::renderInjuryAddSymbols(QImage &fullImage, + const Injury &injury, + const QColor &injuryColor, + const AdditionalSymbolTypeCont &additionalSymbols, + const QColor &mainColor) +{ + QPainter painter(&fullImage); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + + int width = fullImage.size().width(); + + // scaled and centered rect; + QRect smallerRect(0, 0, + fullImage.width()*g_factor, fullImage.width()*g_factor); // we know, that the fullImage has more height, than width + + const QPoint offset(((fullImage.width() - smallerRect.width()) / 2), + ((fullImage.height() - smallerRect.height()) / 2)); + smallerRect.moveTo(offset); + + // + // handle additionalSymbolType + // + { + int penWidth = width / 25; + + for (AdditionalSymbolType additionalSymbolType : additionalSymbols) + { + double dimensionX = smallerRect.size().width(); // small + double dimensionY = fullImage.size().height(); // big + + // + // First switch + // + QColor col = Qt::red; + switch (additionalSymbolType) + { + case AdditionalSymbolType::Manipulation: + col = Qt::black; + dimensionY -= penWidth * 2.5; + break; + case AdditionalSymbolType::NoPosition: + col = Qt::red; + dimensionY -= penWidth * 1.5; + break; + case AdditionalSymbolType::BiteError: + col = Qt::yellow; + dimensionY -= penWidth * 0.5; + break; + case AdditionalSymbolType::NbcProtection: + col = mainColor; + break; + } //switch (additionalSymbolType) + + + // + // Second switch + // + switch (additionalSymbolType) + { + case AdditionalSymbolType::Manipulation: + { + QPen pen(col); + pen.setWidth(penWidth); + + double stepWidth = dimensionX / 6.0; + + for (int i = 0; i < 6; ++i) + { + if (i % 2) + pen.setColor(Qt::white); + else + pen.setColor(col); + painter.setPen(pen); + painter.drawLine(QPointF(smallerRect.left() + stepWidth * i, dimensionY), + QPointF(smallerRect.left() + stepWidth * (i + 1), dimensionY)); + } + } + break; + + case AdditionalSymbolType::BiteError: + case AdditionalSymbolType::NoPosition: + { + QPen pen(col); + pen.setWidth(penWidth); + painter.setPen(pen); + painter.drawLine(QPointF(smallerRect.left(), dimensionY), + QPointF(smallerRect.right(), dimensionY)); + } + break; + case AdditionalSymbolType::NbcProtection: + { + int y = (penWidth / 2.0) + (width * 0.01); + QPen pen(col); + pen.setWidth(penWidth); + painter.setPen(pen); + painter.drawLine(QPointF(smallerRect.left(), y), + QPointF(smallerRect.center().x() - (width * 0.1), y)); + } + + } // switch + + } // for + } // additionalSymbolType + + + // + // handle injury + // + { + int penWidth = width / 20; + + QPen pen(injuryColor); + pen.setWidth(penWidth); + painter.setPen(pen); + + // handle injury {Hit, MobilityKill, WeaponKill, TotalKill} + switch (injury) + { + case AdvancedSymbology::Injury::Hit: + { + QPoint left(smallerRect.left(), fullImage.height() / 2); + QPoint right(smallerRect.right(), fullImage.height() / 2); + painter.drawLine(left, right); + } + break; + case AdvancedSymbology::Injury::MobilityKill: + painter.drawLine(smallerRect.topLeft(), smallerRect.bottomRight()); + break; + case AdvancedSymbology::Injury::WeaponKill: + painter.drawLine(smallerRect.bottomLeft(), smallerRect.topRight()); + break; + case AdvancedSymbology::Injury::TotalKill: + painter.drawLine(smallerRect.topLeft(), smallerRect.bottomRight()); + painter.drawLine(smallerRect.bottomLeft(), smallerRect.topRight()); + break; + case AdvancedSymbology::Injury::NoInjury: + break; + } // switch + + } // injury + + painter.end(); + +} + + +} // namespace AdvancedSymbology diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.h new file mode 100755 index 000000000..96f9355a0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyImpl/symbol_extension_renderer.h @@ -0,0 +1,56 @@ +/** + * @RDE_HEADER@ + * Class ExtensionRenderer + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +// Own +#include "advanced_symbology_logging.h" +#include +#include + +// ESRI + +// Qt +#include +#include + + +namespace AdvancedSymbology +{ + +/** + * @brief The SymbolDictionaryImpl class + * + * Current focus: Only access to the dictionary for generating images/icons + * Wrapper to EsriSymbolDictionaryImpl + */ +class ADVANCED_SYMBOLOGY_EXPORT ExtensionRenderer +{ +public: + + static QImage createFullImage(int sizeL, const QColor &fillColor = QColor()); + + static void renderMarking(QImage &fullImage, const QColor &color); + + static QVector identityToColor(const QString &sidc); + static bool replaceColor(QImage &img, + const QRgb &oldColor, + const QRgb &newColor); + + static void mergeCoreImageIntoFullImage(QImage &fullImage, const QImage &coreImage); + + static void renderInjuryAddSymbols(QImage &fullImage, + const Injury &injury, + const QColor &injuryColor, + const AdditionalSymbolTypeCont &additionalSymbols, + const QColor &mainColor); + +}; + + +} // namespace AdvancedSymbology + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/CMakeLists.txt new file mode 100755 index 000000000..9706d0d28 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/CMakeLists.txt @@ -0,0 +1,59 @@ +# +# $Id$ +# $HeadURL$ +# $Author$ +# + +# LIBRARY + +SET(SymbologyXML_SRCS + attribute_data.h + symbology_xml_export.h + pixmap_symbol_cache.cpp + pixmap_symbol_cache.h + primitive.cpp + primitive.h + symbol.cpp + symbol.h + symbol_id_t.h + symbol_types.cpp + symbol_types.h + symbol_exporter.cpp + symbol_exporter.h + symbol_reader.cpp + symbol_reader.h + symbol_table.cpp + symbol_table.h + symbol_writer.cpp + symbol_writer.h + symbol_custom_graphics_item_group.h + symbol_custom_graphics_item_group.cpp + xml_symbol_codec.h +) + +SOURCE_GROUP(SymbologyXML FILES ${SymbologyXML_SRCS}) + +QT6_ADD_RESOURCES(SymbologyXML_SRCS SymbologyXML.qrc) + +NGL_ADD_LIBRARY(WS advancedSymbologyXML SHARED ${SymbologyXML_SRCS}) + +NGL_TARGET_INCLUDE_DIRECTORIES(advancedSymbologyXML + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/.. +) + +NGL_TARGET_LINK_LIBRARIES(advancedSymbologyXML + PRIVATE + situationMapCommon + Qt6::Gui + Qt6::Widgets + PUBLIC + LtsWidgets + NGLLogger + Qt6::Core +) + +NGL_INSTALL_TARGET(advancedSymbologyXML) + +# Gui subdirectory requires situationMapGeometryModel and advancedSymbology - deferred +# ADD_SUBDIRECTORY(Gui) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/CMakeLists.txt b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/CMakeLists.txt new file mode 100755 index 000000000..34c80c8ae --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/CMakeLists.txt @@ -0,0 +1,41 @@ +# +# $Id$ +# $HeadURL$ +# $Author$ +# + +# LIBRARY + +SET(SymbologyXML_Gui_SRCS + symbology_xml_gui_export.h + symbol_dialog.cpp + symbol_dialog.h +) + +SOURCE_GROUP(SymbologyXML_Gui FILES ${SymbologyXML_Gui_SRCS}) + +NGL_ADD_LIBRARY(WS advancedSymbologyXML_Gui SHARED ${SymbologyXML_Gui_SRCS}) + +NGL_TARGET_INCLUDE_DIRECTORIES(advancedSymbologyXML_Gui + PUBLIC + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_SOURCE_DIR}/../.. + ${CMAKE_CURRENT_SOURCE_DIR}/../../.. + ${CMAKE_CURRENT_SOURCE_DIR}/../../../../Common +) + +NGL_TARGET_LINK_LIBRARIES(advancedSymbologyXML_Gui + PRIVATE + situationMapCommon + situationMapGeometryModel + advancedSymbology + NGLLogger + Qt5::Gui + PUBLIC + LtsWidgets + NGLLogger + Qt5::Core +) + +NGL_INSTALL_TARGET(advancedSymbologyXML_Gui) + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.cpp new file mode 100755 index 000000000..5c78aea07 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.cpp @@ -0,0 +1,831 @@ +/** +** +** @RDE_HEADER@ +** Implementation of dialog to modify xml symbols +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** 14.12.2017, JT : First edition for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#include "symbol_dialog.h" + +#include + +#include +#include + +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + + +namespace SymbologyXML +{ + struct PartyInformation + { + int id; + QString name; + QColor color; + AdvancedSymbology::Role role; + }; // PartyInformation + + + class SymbolDialog::InternalData + { + public: + + static PartyInformation m_defaultParty; + + const AdvancedSymbology::SymbolDictionary & m_symbolDict; + QPointer m_geometryModel; + uint m_symbolId; + QVector m_partyVector; + + SituationMap::GeometryModel::Node m_currentNode; + + QLabel * m_laSymbol = nullptr; + QLabel * m_laAffiliation = nullptr; + QLabel * m_laMobility = nullptr; + QLabel * m_laOffsetX = nullptr; + QLabel * m_laOffsetY = nullptr; + QLabel * m_laTeam = nullptr; + QLabel * m_laTeamD = nullptr; + QLabel * m_laScale = nullptr; + QLabel * m_laStatus = nullptr; + QLabel * m_laView = nullptr; + LtsWidgets::LtsComboBox * m_cbAffiliation = nullptr; + LtsWidgets::LtsComboBox * m_cbMobility = nullptr; + QCheckBox * m_cbDir = nullptr; + QLabel * m_laSymbolID = nullptr; + QLineEdit * m_leOffsetX = nullptr; + QLineEdit * m_leOffsetY = nullptr; + LtsWidgets::LtsComboBox * m_cbTeam = nullptr; + LtsWidgets::LtsComboBox * m_cbTeamD = nullptr; + LtsWidgets::LtsComboBox * m_cbStatus = nullptr; + QLineEdit * m_leDir = nullptr; + QLineEdit * m_leScale = nullptr; + QCheckBox * m_cbSymbolState = nullptr; + QCheckBox * m_cbUncertainty = nullptr; + QLineEdit * m_leTextW = nullptr; + QLineEdit * m_leTextXY = nullptr; + QLineEdit * m_leTextV = nullptr; + QLineEdit * m_leTextT = nullptr; + QLineEdit * m_leTextZ = nullptr; + QLineEdit * m_leTextEF = nullptr; + QLineEdit * m_leTextG = nullptr; + QLineEdit * m_leTextH = nullptr; + QLineEdit * m_leTextM = nullptr; + QLineEdit * m_leTextJ = nullptr; + + explicit InternalData( const AdvancedSymbology::SymbolDictionary &symbolDict, SituationMap::GeometryModel * geomModel ) + : m_symbolDict(symbolDict), m_geometryModel(geomModel), m_symbolId(std::numeric_limits::max()) + { + } // InternalData(SituationMap::Map *map) + + + ~InternalData() = default; + + void buildDialog( SymbolDialog * dlg ); + void setLabels(); + + void updatePartyComboBox( QComboBox * cb ); + + static void updateStateComboBox( QComboBox * cb ); + static void updateAffiliationComboBox( QComboBox * cb ); + static void updateMobilityComboBox( QComboBox * cb ); + + }; // SymbolDialog::InternalData + + PartyInformation SymbolDialog::InternalData::m_defaultParty = {-1,QString(),QColor(Qt::gray),AdvancedSymbology::Role::Unknown}; + + SymbolDialog::SymbolDialog( const AdvancedSymbology::SymbolDictionary &symbolDict, SituationMap::GeometryModel * geomModel, bool autoApply, QWidget *parent) + : LtsWidgets::LtsDialog(parent,(autoApply) ? LtsWidgets::ButtonCombination::CloseOnly : LtsWidgets::ButtonCombination::OkApplyCancel, true) + , m_internal( new InternalData(symbolDict,geomModel)) + { + if (autoApply) + { + setUnchangeable(); + m_buttonBox->setAttribute(Qt::WA_DeleteOnClose); // to same as LtsDialog::plan_editor_compatibility + m_buttonBox->getButton(LtsWidgets::DialogButton::Ok)->setVisible(false); + m_buttonBox->getButton(LtsWidgets::DialogButton::Apply)->setVisible(false); + m_buttonBox->getButton(LtsWidgets::DialogButton::Close)->setText(tr("Close")); + } + + m_internal->buildDialog( this ); + + QObject::connect( m_internal->m_cbAffiliation, static_cast(&LtsWidgets::LtsComboBox::activated), this, [this](int idx) + { + SymbolTypes::t_affil affil = SymbolTypes::t_affil(m_internal->m_cbAffiliation->itemData(idx).toInt()); + + m_internal->m_cbSymbolState->setDisabled((affil == SymbolTypes::t_affil::PENDING) || + (affil == SymbolTypes::t_affil::SUSPECT) || + (affil == SymbolTypes::t_affil::ASSUMED_FRIEND)); + + emit changedSymbolAffiliation( affil ); + emit changed(); + } ); + + QObject::connect( m_internal->m_cbMobility, static_cast(&LtsWidgets::LtsComboBox::activated), this, [this](int idx) + { + SymbolTypes::t_mob mob = SymbolTypes::t_mob(m_internal->m_cbMobility->itemData(idx).toInt()); + emit changedSymbolMobility( mob ); + emit changed(); + } ); + + connect( m_internal->m_cbDir, &QCheckBox::stateChanged, this, [this](int) + { + m_internal->m_leDir->setEnabled( m_internal->m_cbDir->isChecked() ); + emit changed(); + }); + + QObject::connect( m_internal->m_cbSymbolState, &QCheckBox::clicked, this, [this](bool checked) + { + emit changedSymbolState( (checked) ? SymbologyXML::SymbolTypes::t_state::STATE_ANTICIPATED : SymbologyXML::SymbolTypes::t_state::STATE_PRESENT ); + emit changed(); + } ); + + QObject::connect( m_internal->m_cbUncertainty, &QCheckBox::clicked, this, [this](bool checked) + { + emit changedSymbolUncertainty( (checked) ? SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_UNCERTAIN : SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_CERTAIN ); + emit changed(); + } ); + + QObject::connect( m_internal->m_cbStatus, static_cast(&LtsWidgets::LtsComboBox::activated), this, [this](int idx) + { + SituationMap::GeometryModel::t_vbg_et vbg = SituationMap::GeometryModel::t_vbg_et(m_internal->m_cbStatus->itemData(idx).toInt()); + emit changedSymbolVBG(vbg); + emit changed(); + } ); + + QObject::connect( m_internal->m_cbTeam, static_cast(&LtsWidgets::LtsComboBox::activated), this, [this](int idx) + { + int partyId = m_internal->m_cbTeam->itemData(idx).toInt(); + emit changedParty(partyId); + emit changed(); + } ); + + QObject::connect( m_internal->m_cbTeamD, static_cast(&LtsWidgets::LtsComboBox::activated), this, [this](int idx) + { + int partyId = m_internal->m_cbTeamD->itemData(idx).toInt(); + emit changedDamageParty(partyId); + emit changed(); + } ); + + auto emitChangedOffset = [this](const QString &) + { + emit changedOffset( QPoint(m_internal->m_leOffsetX->text().toInt(),m_internal->m_leOffsetY->text().toInt())); + emit changed(); + }; + connect( m_internal->m_leOffsetX, &QLineEdit::textEdited, this, emitChangedOffset ); + connect( m_internal->m_leOffsetY, &QLineEdit::textEdited, this, emitChangedOffset ); + + connect(m_internal->m_leScale, &QLineEdit::textEdited, this, [this](const QString &scaleTxt) { emit changedScale( scaleTxt.toDouble() );}); + connect(m_internal->m_cbDir, &QCheckBox::clicked, this, [this](bool checked) { emit changedDirection( checked, m_internal->m_leScale->text().toDouble() ); }); + + connect(m_internal->m_leDir, &QLineEdit::textEdited, this, [this](const QString &scaleTxt) + { + emit changedDirection( m_internal->m_cbDir->isChecked(), scaleTxt.toDouble() ); + emit changed(); + } ); + + connect( m_internal->m_leTextW , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextW (txt); emit changed(); } ); + connect( m_internal->m_leTextXY, &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextXY(txt); emit changed(); } ); + connect( m_internal->m_leTextV , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextV (txt); emit changed(); } ); + connect( m_internal->m_leTextT , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextT (txt); emit changed(); } ); + connect( m_internal->m_leTextZ , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextZ (txt); emit changed(); } ); + connect( m_internal->m_leTextEF, &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextEF(txt); emit changed(); } ); + connect( m_internal->m_leTextG , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextG (txt); emit changed(); } ); + connect( m_internal->m_leTextH , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextH (txt); emit changed(); } ); + connect( m_internal->m_leTextM , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextM (txt); emit changed(); } ); + connect( m_internal->m_leTextJ , &QLineEdit::textEdited, this, [this](const QString& txt) { emit changedTextJ (txt); emit changed(); } ); + + connect( this, &SymbolDialog::changed, this, &SymbolDialog::updateSymbolPixmap ); + + } // SymbolDialog::SymbolDialog(SituationMap::Map *map) + + + SymbolDialog::SymbolDialog( const AdvancedSymbology::SymbolDictionary &symbolDict, bool autoApply, QWidget * parent ) : SymbolDialog(symbolDict,nullptr,autoApply,parent) {;} + + + SymbolDialog::~SymbolDialog() { delete m_internal; } + + SymbolTypes::t_affil SymbolDialog::symbolAffiliation() const { return SymbolTypes::t_affil(m_internal->m_cbAffiliation->currentData().toInt()); } + SymbolTypes::t_mob SymbolDialog::symbolMobility() const { return SymbolTypes::t_mob(m_internal->m_cbMobility->currentData().toInt());} + + SymbolTypes::t_state SymbolDialog::symbolState() const { return (m_internal->m_cbSymbolState->isChecked()) ? SymbologyXML::SymbolTypes::t_state::STATE_ANTICIPATED : SymbologyXML::SymbolTypes::t_state::STATE_PRESENT; } + SymbolTypes::t_uncertainty SymbolDialog::symbolUncertainty() const { return (m_internal->m_cbUncertainty->isChecked()) ? SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_UNCERTAIN : SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_CERTAIN; } + SituationMap::GeometryModel::t_vbg_et SymbolDialog::symbolVBG() const { return SituationMap::GeometryModel::t_vbg_et(m_internal->m_cbStatus->currentData().toInt()); } + + int SymbolDialog::partyId() const { return m_internal->m_partyVector.value(m_internal->m_cbTeam->currentIndex(),m_internal->m_defaultParty).id; } + QColor SymbolDialog::partyColor() const { return m_internal->m_partyVector.value(m_internal->m_cbTeam->currentIndex(),m_internal->m_defaultParty).color; } + QString SymbolDialog::partyName() const { return m_internal->m_partyVector.value(m_internal->m_cbTeam->currentIndex(),m_internal->m_defaultParty).name; } + AdvancedSymbology::Role SymbolDialog::partyRole() const { return m_internal->m_partyVector.value(m_internal->m_cbTeam->currentIndex(), m_internal->m_defaultParty).role; } + + int SymbolDialog::damagedPartyId() const { return m_internal->m_partyVector.value(m_internal->m_cbTeamD->currentIndex(),m_internal->m_defaultParty).id; } + QColor SymbolDialog::damagedPartyColor() const { return m_internal->m_partyVector.value(m_internal->m_cbTeamD->currentIndex(),m_internal->m_defaultParty).color; } + QString SymbolDialog::damagedPartyName() const { return m_internal->m_partyVector.value(m_internal->m_cbTeamD->currentIndex(),m_internal->m_defaultParty).name; } + + QPoint SymbolDialog::pixelOffset() const { return QPoint(m_internal->m_leOffsetX->text().toInt(),m_internal->m_leOffsetY->text().toInt()); } + double SymbolDialog::scale() const { return m_internal->m_leScale->text().toDouble(); } + + bool SymbolDialog::directionValid() const { return m_internal->m_cbDir->isChecked(); } + int SymbolDialog::directionDegree() const { return m_internal->m_leDir->text().toInt(); } + + QString SymbolDialog::textW() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textXY() const { return m_internal->m_leTextXY->text(); } + QString SymbolDialog::textV() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textT() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textZ() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textEF() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textG() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textH() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textM() const { return m_internal->m_leTextW->text(); } + QString SymbolDialog::textJ() const { return m_internal->m_leTextW->text(); } + + void SymbolDialog::setSymbolAffiliation(SymbolTypes::t_affil affil) { m_internal->m_cbAffiliation->setCurrentIndex(m_internal->m_cbAffiliation->findData(affil)); } + void SymbolDialog::setSymbolMobility(SymbolTypes::t_mob mob) { m_internal->m_cbMobility->setCurrentIndex(m_internal->m_cbMobility->findData(mob)); } + void SymbolDialog::setSymbolState(SymbolTypes::t_state state) { m_internal->m_cbSymbolState->setChecked( SymbologyXML::SymbolTypes::t_state::STATE_ANTICIPATED == state ); } + void SymbolDialog::setSymbolUncertainty(SymbolTypes::t_uncertainty uncertainty) { m_internal->m_cbUncertainty->setChecked(SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_UNCERTAIN == uncertainty ); } + void SymbolDialog::setSymbolVBG(SituationMap::GeometryModel::t_vbg_et vbg) { m_internal->m_cbStatus->setCurrentIndex(m_internal->m_cbStatus->findData(int(vbg))); } + void SymbolDialog::setPartyId(int id ) { m_internal->m_cbTeam->setCurrentIndex(m_internal->m_cbTeam->findData(id)); } + void SymbolDialog::setDamagedPartyId(int id) { m_internal->m_cbTeamD->setCurrentIndex(m_internal->m_cbTeamD->findData(id)); } + + void SymbolDialog::setPixelOffset( const QPoint &offset ) + { + m_internal->m_leOffsetX->setText( QString::number(offset.x()) ); + m_internal->m_leOffsetY->setText( QString::number(offset.y()) ); + } + + void SymbolDialog::setScale(double scale) { QLocale c; m_internal->m_leScale->setText( c.toString(scale) );} + void SymbolDialog::setDirectionValid( bool ok ) { m_internal->m_cbDir->setChecked(ok); } + void SymbolDialog::setDirectionDegree( int angle ) { m_internal->m_leDir->setText(QString::number(angle)); } + + void SymbolDialog::updateSymbolPixmap() + { + AdvancedSymbology::SymbolResultWatcher *symbolGuard = new AdvancedSymbology::SymbolResultWatcher(this); + connect(symbolGuard, &AdvancedSymbology::SymbolResultWatcher::resultReady, this, [this, symbolGuard]() + { + QSharedPointer symbolResult = symbolGuard->symbolResult(); + if (symbolResult) + { + m_internal->m_laView->setPixmap( QPixmap::fromImage(symbolResult->symbolImage().image()).scaled(symbolPixmapSize(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation) ); + } + symbolGuard->deleteLater(); + }); + + SymbolTypes::t_state state = m_internal->m_cbSymbolState->isChecked() ? SymbolTypes::t_state::STATE_ANTICIPATED : SymbolTypes::t_state::STATE_PRESENT; + SymbolTypes::t_uncertainty uncertainty = m_internal->m_cbUncertainty->isChecked() ? SymbolTypes::t_uncertainty::UNCERTAINTY_UNCERTAIN : SymbolTypes::t_uncertainty::UNCERTAINTY_CERTAIN; + + SymbolTypes::t_affil affil = symbolAffiliation(); + SymbolTypes::t_mob mob = symbolMobility(); + + if (SymbolTypes::t_affil::AFFIL_UNDEFINED == affil) + { + AdvancedSymbology::Role role = partyRole(); + + affil = SymbologyXML::Symbol::roleToAffiliation(role); + } + + AdvancedSymbology::SymbolDataToRender symDataToRender; + + symDataToRender.sidc = AdvancedSymbology::SidcCodec::encodeCivilXmlSymbolId(m_internal->m_symbolId,state,uncertainty,affil,mob); + symDataToRender.fillColor = partyColor(); + symDataToRender.injuryColor = damagedPartyColor(); + symDataToRender.injury = AdvancedSymbology::Injury::NoInjury; + + switch (symbolVBG()) + { + case SituationMap::GeometryModel::t_vbg_et::ANNAEHENDER_TREFFER : + case SituationMap::GeometryModel::t_vbg_et::TREFFER_OHNE_WIRKUNG : + case SituationMap::GeometryModel::t_vbg_et::EINSATZBEREIT : symDataToRender.injury = AdvancedSymbology::Injury::NoInjury; break; + + case SituationMap::GeometryModel::t_vbg_et::AUSFALL_WAFFENANLAGE : + case SituationMap::GeometryModel::t_vbg_et::AUSFALL_WAFFENANLAGE_SICHTB : symDataToRender.injury = AdvancedSymbology::Injury::WeaponKill; break; + + case SituationMap::GeometryModel::t_vbg_et::BEWEGUNGSUNFAEHIG : + case SituationMap::GeometryModel::t_vbg_et::BEWEGUNGSUNFAEHIG_SICHTB : symDataToRender.injury = AdvancedSymbology::Injury::MobilityKill; break; + + case SituationMap::GeometryModel::t_vbg_et::LEICHTER_TREFFER : + case SituationMap::GeometryModel::t_vbg_et::MITTLERER_TREFFER : + case SituationMap::GeometryModel::t_vbg_et::SCHWERER_TREFFER : symDataToRender.injury = AdvancedSymbology::Injury::Hit; break; + case SituationMap::GeometryModel::t_vbg_et::TOTALAUSFALL : symDataToRender.injury = AdvancedSymbology::Injury::TotalKill; break; + case SituationMap::GeometryModel::t_vbg_et::ZEITLICHER_AUSFALL : symDataToRender.injury = AdvancedSymbology::Injury::TotalKill; break; + } // switch (symbolVBG()) + + symbolGuard->setSymbolResult( m_internal->m_symbolDict.fetchSymbol(symDataToRender)); + } // void SymbolDialog::updateSymbolPixmap() + + + + void SymbolDialog::setNode(int symbolId, const SituationMap::GeometryModel::Node &node) + { + m_internal->m_symbolId = uint(symbolId); + + m_internal->m_laSymbolID->setText( QString::number(m_internal->m_symbolId) ); + + if (nullptr == m_internal->m_geometryModel) + { + m_internal->m_currentNode = SituationMap::GeometryModel::Node(); // set invalid node + return; + } + + SymbolTypes::t_affil affil = SymbolTypes::t_affil( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Affiliation).toInt() ); + m_internal->m_cbAffiliation->setCurrentIndex(m_internal->m_cbAffiliation->findData(affil)); + + SymbolTypes::t_mob mob = SymbolTypes::t_mob( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Mobility).toInt() ); + m_internal->m_cbMobility->setCurrentIndex(m_internal->m_cbMobility->findData(mob)); + + m_internal->m_leOffsetX->setText(m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolOffsetX).toString() ); + m_internal->m_leOffsetY->setText(m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolOffsetY).toString() ); + m_internal->m_leDir->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolDirection).toString() ); + m_internal->m_leScale->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolExplicitScale).toString() ); + + m_internal->m_leTextEF->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_EF).toString() ); + m_internal->m_leTextG ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_G).toString() ); + m_internal->m_leTextH ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_H).toString() ); + m_internal->m_leTextJ ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_KLNPJ).toString() ); + m_internal->m_leTextM ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_M).toString() ); + m_internal->m_leTextT ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_T).toString() ); + m_internal->m_leTextV ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_V).toString() ); + m_internal->m_leTextW ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_W).toString() ); + m_internal->m_leTextXY->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_XY).toString() ); + m_internal->m_leTextZ ->setText( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::Text_Z).toString() ); + + m_internal->m_cbTeam->setCurrentIndex(m_internal->m_cbTeam->findData( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::ForceId))); + m_internal->m_cbTeamD->setCurrentIndex(m_internal->m_cbTeamD->findData( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::DamageForceId))); + + SituationMap::GeometryModel::t_vbg_et vbg = SituationMap::GeometryModel::t_vbg_et(m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::att_vbg_et).toInt()); + m_internal->m_cbStatus->setCurrentIndex(m_internal->m_cbStatus->findData(int(vbg))); + + SymbologyXML::SymbolTypes::t_state state = SymbologyXML::SymbolTypes::t_state( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolState).toInt() ); + m_internal->m_cbSymbolState->setChecked( SymbologyXML::SymbolTypes::t_state::STATE_ANTICIPATED == state ); + + SymbologyXML::SymbolTypes::t_uncertainty uncertainty = SymbologyXML::SymbolTypes::t_uncertainty( m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::SymbolUncertainty).toInt() ); + m_internal->m_cbUncertainty->setChecked(SymbologyXML::SymbolTypes::t_uncertainty::UNCERTAINTY_UNCERTAIN == uncertainty ); + + /* + bool + m_internal->m_geometryModel->getAttribute(node,SituationMap::GeometryModel::Attribute::AbcProtection); + */ + + m_internal->m_currentNode = node; + + m_internal->m_laView->setPixmap(QPixmap::fromImage(AdvancedSymbology::SymbolDictionary::temporaryImage())); + + updateSymbolPixmap(); + + } // void SymbolDialog::setNodeint symbolId, const SituationMap::GeometryModel::Node &node) + + + bool SymbolDialog::applyToNode(const SituationMap::GeometryModel::Node &node) const + { + if ((nullptr == m_internal->m_geometryModel) || (!node.isValid())) return false; + + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolOffsetX,pixelOffset().x()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolOffsetY,pixelOffset().y()); + + if (directionValid()) + { + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolDirection,directionDegree()); + } + else + { + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolDirection,0.0); + } + + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolExplicitScale,scale()); + + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_EF,textEF()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_G,textG()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_H,textH()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_KLNPJ,textJ()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_M,textM()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_T,textT()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_V,textV()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_W,textW()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_XY,textXY()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Text_Z,textZ()); + + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::ForceId,partyId()); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::DamageForceId,damagedPartyId()); + + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::att_vbg_et,int(symbolVBG())); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolState,int(symbolState())); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::SymbolUncertainty,int(symbolUncertainty())); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Affiliation,int(symbolAffiliation())); + m_internal->m_geometryModel->setPrimitiveAttribute(node,SituationMap::GeometryModel::Attribute::Mobility,int(symbolMobility())); + + return true; + } // void SymbolDialog::applyToNode(const SituationMap::GeometryModel::Node &node) const + + + bool SymbolDialog::apply() + { + bool canCloseDialog = applyToNode( m_internal->m_currentNode ); + + emit applyChanges(this,canCloseDialog); + + return canCloseDialog; + } // bool SymbolDialog::apply() + + + void SymbolDialog::aboutToClose() + { + emit signalAboutToClose(); + } // void SymbolDialog::aboutToClose() + + + void SymbolDialog::updateParties( const QVector &partyIds + , const QVector &partyColors + , const QVector &partyNames + , const QVector &partyRoles ) + { + m_internal->m_partyVector.clear(); + m_internal->m_partyVector.reserve(partyIds.size()); + + for (int i = 0; i < partyIds.size(); ++i) + { + PartyInformation pInfo; + + pInfo.id = partyIds[i]; + pInfo.color = partyColors[i]; + pInfo.name = partyNames[i]; + pInfo.role = partyRoles[i]; + m_internal->m_partyVector << pInfo; + } + + m_internal->updatePartyComboBox( m_internal->m_cbTeam ); + m_internal->updatePartyComboBox( m_internal->m_cbTeamD ); + + } // void SymbolDialog::updateParties(const QVector &partyIds, const QVector &partyColors, const QVector &partyNames) + + + void SymbolDialog::retranslate() + { + // lupdate doesn't like translate(tr("foo")) ... + const QString txt(tr("Symbol Modification")); + translate(txt); + + m_internal->setLabels(); + } // void SymbolDialog::retranslate() + + + void SymbolDialog::InternalData::buildDialog(SymbolDialog * dlg) + { + QVBoxLayout * layout = new QVBoxLayout(dlg); + QHBoxLayout * layoutHeader = new QHBoxLayout(); + QHBoxLayout * layoutSymbol = new QHBoxLayout(); + + layout->addStretch(2); + + layout->addLayout( layoutHeader ); + { + m_laSymbol = new QLabel(dlg); + m_laSymbolID = new QLabel( QStringLiteral("???????"), dlg ); + m_laTeam = new QLabel(dlg); + + layoutHeader->addStretch(2); + layoutHeader->addWidget( m_laSymbol ); + layoutHeader->addWidget( m_laSymbolID ); + layoutHeader->addStretch(2); + QFont labelFont = m_laSymbol->font(); + labelFont.setPointSizeF(labelFont.pointSizeF()*1.5); + labelFont.setBold(true); + m_laSymbol->setFont(labelFont); + m_laSymbolID->setFont(labelFont); + } + + layout->addSpacing(10); + QFrame * separator = new QFrame(dlg); + separator->setFrameStyle(QFrame::HLine | QFrame::Plain); + layout->addWidget(separator); + layout->addSpacing(10); + + layout->addLayout( layoutSymbol ); + { + QVBoxLayout * layoutAttr = new QVBoxLayout(); + QGridLayout * layoutLeftText = new QGridLayout(); + QVBoxLayout * layoutSymbolView = new QVBoxLayout(); + QGridLayout * layoutRightText = new QGridLayout(); + + layoutSymbol->addStretch(2); + + layoutSymbol->addSpacing( 20 ); + layoutSymbol->addLayout(layoutAttr); + { + QHBoxLayout * layoutCertainty = new QHBoxLayout(); + + layoutAttr->addLayout(layoutCertainty); + { + m_cbSymbolState = new QCheckBox(dlg); + m_cbUncertainty = new QCheckBox(dlg); + + + layoutCertainty->addWidget( m_cbSymbolState ); + layoutCertainty->addStretch( 2 ); + layoutCertainty->addWidget( m_cbUncertainty ); + } + layoutSymbol->addSpacing( 20 ); + + QFormLayout * layoutAttrForm = new QFormLayout(); + + layoutAttr->addLayout(layoutAttrForm); + { + m_laAffiliation = new QLabel(dlg); + m_cbAffiliation = new LtsWidgets::LtsComboBox(dlg); + + m_laMobility = new QLabel(dlg); + m_cbMobility = new LtsWidgets::LtsComboBox(dlg); + + m_laOffsetX = new QLabel(dlg); + m_leOffsetX = new QLineEdit(dlg); + m_leOffsetX->setToolTip(tr("Offset X")); + + m_laOffsetY = new QLabel(dlg); + m_leOffsetY = new QLineEdit(dlg); + m_leOffsetY->setToolTip(tr("Offset Y")); + + m_cbDir = new QCheckBox(dlg); + m_leDir = new QLineEdit(dlg); + + m_laScale = new QLabel(dlg); + m_leScale = new QLineEdit(dlg); + + m_laTeam = new QLabel(dlg); + m_cbTeam = new LtsWidgets::LtsComboBox(dlg); + + m_laStatus = new QLabel(dlg); + m_cbStatus = new LtsWidgets::LtsComboBox(dlg); + + m_laTeamD = new QLabel(dlg); + m_cbTeamD = new LtsWidgets::LtsComboBox(dlg); + + layoutAttrForm->addRow( m_laAffiliation, m_cbAffiliation ); + layoutAttrForm->addRow( m_laMobility , m_cbMobility ); + layoutAttrForm->addRow( m_laStatus , m_cbStatus ); + layoutAttrForm->addRow( m_laTeam , m_cbTeam ); + layoutAttrForm->addRow( m_laTeamD , m_cbTeamD ); + + /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * What's the object to move the symbol away from it's center or rotate it? + * For the first hide widget placing .... + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + #ifdef NEEDLESS_WIDGETS + + layoutAttrForm->addRow( m_laOffsetX , m_leOffsetX ); + layoutAttrForm->addRow( m_laOffsetY , m_leOffsetY ); + layoutAttrForm->addRow( m_cbDir , m_leDir ); + + #else + + m_laOffsetX->setVisible(false); + m_leOffsetX->setVisible(false); + + m_laOffsetY->setVisible(false); + m_leOffsetY->setVisible(false); + + m_cbDir->setVisible(false); + m_leDir->setVisible(false); + + #endif + + layoutAttrForm->addRow( m_laScale , m_leScale ); + + m_leOffsetX->setValidator( new QIntValidator(m_leOffsetX)); + m_leOffsetY->setValidator( new QIntValidator(m_leOffsetY)); + m_leDir ->setValidator( new QIntValidator( -360, 360, m_leDir)); + + m_cbDir->setChecked(false); + m_leDir->setEnabled(false); + + m_leScale->setValidator( new QDoubleValidator(m_leScale)); + } + layoutAttrForm->setLabelAlignment(Qt::AlignRight); + } + + layoutSymbol->addStretch(2); + + layoutSymbol->addLayout( layoutLeftText ); + { + m_leTextW = new QLineEdit(dlg); + m_leTextW->setToolTip(tr("W")); + m_leTextXY = new QLineEdit(dlg); + m_leTextXY->setToolTip(tr("XY")); + m_leTextV = new QLineEdit(dlg); + m_leTextV->setToolTip(tr("V")); + m_leTextT = new QLineEdit(dlg); + m_leTextT->setToolTip(tr("T")); + m_leTextZ = new QLineEdit(dlg); + m_leTextZ->setToolTip(tr("Z")); + + layoutLeftText->setRowStretch(0,0); + layoutLeftText->setRowStretch(1,0); + layoutLeftText->setRowStretch(2,0); + layoutLeftText->setRowStretch(3,0); + layoutLeftText->setRowStretch(4,0); + + layoutLeftText->setColumnStretch(0,0); + layoutLeftText->setColumnStretch(1,2); + + layoutLeftText->addWidget( new QLabel(QStringLiteral("W")) , 0 , 0, Qt::Alignment::enum_type::AlignRight ); + layoutLeftText->addWidget( new QLabel(QStringLiteral("X|Y")), 1 , 0, Qt::Alignment::enum_type::AlignRight ); + layoutLeftText->addWidget( new QLabel(QStringLiteral("V")) , 2 , 0, Qt::Alignment::enum_type::AlignRight ); + layoutLeftText->addWidget( new QLabel(QStringLiteral("T")) , 3 , 0, Qt::Alignment::enum_type::AlignRight ); + layoutLeftText->addWidget( new QLabel(QStringLiteral("Z")) , 4 , 0, Qt::Alignment::enum_type::AlignRight); + + layoutLeftText->addWidget( m_leTextW , 0 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutLeftText->addWidget( m_leTextXY, 1 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutLeftText->addWidget( m_leTextV , 2 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutLeftText->addWidget( m_leTextT , 3 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutLeftText->addWidget( m_leTextZ , 4 , 1, Qt::Alignment::enum_type::AlignLeft ); + } + + layoutSymbol->addLayout( layoutSymbolView ); + { + QPixmap symbolPixmap(symbolPixmapSize()); + + symbolPixmap.fill(QColor(Qt::gray)); + + m_laView = new QLabel(dlg); + m_laView->setPixmap( symbolPixmap ); + layoutSymbolView->addStretch(2); + layoutSymbolView->addWidget(m_laView); + layoutSymbolView->addStretch(2); + } + + layoutSymbol->addLayout( layoutRightText ); + { + m_leTextEF = new QLineEdit(dlg); + m_leTextEF->setToolTip(tr("E|F")); + m_leTextG = new QLineEdit(dlg); + m_leTextG->setToolTip(tr("G")); + m_leTextH = new QLineEdit(dlg); + m_leTextH->setToolTip(tr("H")); + m_leTextM = new QLineEdit(dlg); + m_leTextM->setToolTip(tr("M")); + m_leTextJ = new QLineEdit(dlg); + m_leTextJ->setToolTip(tr("J|K|L|N|P")); + + layoutRightText->setRowStretch(0,0); + layoutRightText->setRowStretch(1,0); + layoutRightText->setRowStretch(2,0); + layoutRightText->setRowStretch(3,0); + layoutRightText->setRowStretch(4,0); + + layoutRightText->setColumnStretch(0,2); + layoutRightText->setColumnStretch(1,0); + + layoutRightText->addWidget( m_leTextEF, 0 , 0, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( m_leTextG , 1 , 0, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( m_leTextH , 2 , 0, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( m_leTextM , 3 , 0, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( m_leTextJ , 4 , 0, Qt::Alignment::enum_type::AlignLeft ); + + layoutRightText->addWidget( new QLabel(QStringLiteral("E|F")) , 0 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( new QLabel(QStringLiteral("G")) , 1 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( new QLabel(QStringLiteral("H")) , 2 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( new QLabel(QStringLiteral("M")) , 3 , 1, Qt::Alignment::enum_type::AlignLeft ); + layoutRightText->addWidget( new QLabel(QStringLiteral("J|K|L|N|P")) , 4 , 1, Qt::Alignment::enum_type::AlignLeft); + } + + layoutSymbol->addStretch(2); + } + + setLabels(); + + } // void SymbolDialog::InternalData::buildDialog(SymbolDialog * dlg) + + + void SymbolDialog::InternalData::setLabels() + { + m_laSymbol -> setText(tr("Symbol")); + m_laAffiliation -> setText(tr("Affiliation:")); + m_laMobility -> setText(tr("Mobility:")); + m_laOffsetX -> setText(tr("Offset [Pixel] X:")); + m_laOffsetY -> setText(tr("Offset [Pixel] Y:")); + m_laTeam -> setText(tr("Symbol Color Party:")); + m_laTeamD -> setText(tr("Status Color Party:")); + m_laStatus -> setText(tr("Status:")); + m_laScale -> setText(tr("Scale:")); + m_cbSymbolState -> setText(tr("Planned")); + m_cbUncertainty -> setText(tr("Uncertainty")); + m_cbDir -> setText(tr("Direction [degree]:")); + + updateStateComboBox( m_cbStatus ); + updateAffiliationComboBox( m_cbAffiliation ); + updateMobilityComboBox( m_cbMobility ); + + } // void SymbolDialog::InternalData::setLabels(SymbolDialog * dlg) + + + void SymbolDialog::InternalData::updateStateComboBox(QComboBox *cb) + { + cb->clear(); + + cb->addItem( tr("Ready for Operation") , SymbolTypes::vbg_et::EINSATZBEREIT ); + cb->addItem( tr("Light Hit") , SymbolTypes::vbg_et::LEICHTER_TREFFER ); + cb->addItem( tr("Medium Hit") , SymbolTypes::vbg_et::MITTLERER_TREFFER ); + cb->addItem( tr("Fatal Hit") , SymbolTypes::vbg_et::SCHWERER_TREFFER ); + cb->addItem( tr("Immobilised") , SymbolTypes::vbg_et::BEWEGUNGSUNFAEHIG ); + cb->addItem( tr("Immobilised in View") , SymbolTypes::vbg_et::BEWEGUNGSUNFAEHIG_SICHTB ); + cb->addItem( tr("Malfunction Weapons") , SymbolTypes::vbg_et::AUSFALL_WAFFENANLAGE ); + cb->addItem( tr("Malfunction Weapons in View"), SymbolTypes::vbg_et::AUSFALL_WAFFENANLAGE_SICHTB ); + cb->addItem( tr("Complete Failure") , SymbolTypes::vbg_et::TOTALAUSFALL ); + cb->addItem( tr("Temporary Failure") , SymbolTypes::vbg_et::ZEITLICHER_AUSFALL ); + cb->addItem( tr("Future Hit") , SymbolTypes::vbg_et::ANNAEHENDER_TREFFER ); + cb->addItem( tr("Inefficacious Hit") , SymbolTypes::vbg_et::TREFFER_OHNE_WIRKUNG ); + + } // void SymbolDialog::InternalData::updateStateComboBox(QComboBox *cb) + + + void SymbolDialog::InternalData::updateAffiliationComboBox(QComboBox * cb) + { + cb->clear(); + + cb->addItem( tr("Undefined") , SymbolTypes::t_affil::AFFIL_UNDEFINED ); + cb->addItem( tr("Unknown") , SymbolTypes::t_affil::UNKNOWN ); + cb->addItem( tr("Friend") , SymbolTypes::t_affil::FRIEND ); + cb->addItem( tr("Neutral") , SymbolTypes::t_affil::NEUTRAL ); + cb->addItem( tr("Enemy") , SymbolTypes::t_affil::ENEMY ); + cb->addItem( tr("Pending") , SymbolTypes::t_affil::PENDING ); + cb->addItem( tr("Assumed Friend") , SymbolTypes::t_affil::ASSUMED_FRIEND ); + cb->addItem( tr("Suspect") , SymbolTypes::t_affil:: SUSPECT ); + + } // void SymbolDialog::InternalData::updateAffiliationComboBox(QComboBox * cb) + + + void SymbolDialog::InternalData::updateMobilityComboBox(QComboBox * cb) + { + cb->clear(); + + cb->addItem( tr("Undefined") , SymbolTypes::t_mob::MOB_UNDEFINED ); + cb->addItem( tr("Airborne") , SymbolTypes::t_mob::MOB_AIRBORNE ); + cb->addItem( tr("Amphibious") , SymbolTypes::t_mob::MOB_AMPHIBIOUS ); + cb->addItem( tr("Barge") , SymbolTypes::t_mob::MOB_BARGE ); + cb->addItem( tr("Bicycle Equipped") , SymbolTypes::t_mob::MOB_BICYCLE_EQUIPPED ); + cb->addItem( tr("Over Snow") , SymbolTypes::t_mob::MOB_OVER_SNOW ); + cb->addItem( tr("Pack Animals") , SymbolTypes::t_mob::MOB_PACK_ANIMALS ); + cb->addItem( tr("Semi Trailer") , SymbolTypes::t_mob::MOB_SEMI_TRAILER ); + cb->addItem( tr("Sled") , SymbolTypes::t_mob::MOB_SLED ); + cb->addItem( tr("Tracked") , SymbolTypes::t_mob::MOB_TRACKED ); + cb->addItem( tr("Trailer") , SymbolTypes::t_mob::MOB_TRAILER ); + cb->addItem( tr("Train") , SymbolTypes::t_mob::MOB_TRAIN ); + cb->addItem( tr("Wheel") , SymbolTypes::t_mob::MOB_WHEEL ); + cb->addItem( tr("Wheeled and Tracked") , SymbolTypes::t_mob::MOB_WHEELED_AND_TRACKED ); + cb->addItem( tr("Wheel all Terrain") , SymbolTypes::t_mob::MOB_WHEEL_ALL_TERRAIN ); + + } // void SymbolDialog::InternalData::updateAffiliationComboBox(QComboBox * cb) + + + void SymbolDialog::InternalData::updatePartyComboBox(QComboBox *cb) + { + cb->clear(); + + for (const auto &pInfo : std::as_const(m_partyVector)) + { + QPixmap colorIcon(30,30); + + colorIcon.fill(pInfo.color); + cb->addItem(colorIcon, pInfo.name, pInfo.id); + } + } // void SymbolDialog::InternalData::updatePartyComboBox(QComboBox * cb) + + + +} // namespace SymbologyXML + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.h new file mode 100755 index 000000000..007092244 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbol_dialog.h @@ -0,0 +1,234 @@ +/** +** +** @RDE_HEADER@ +** Definition of dialog to modify xml symbols +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** 14.12.2017, JT : First edition for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + +#pragma once + +#include "symbology_xml_gui_export.h" + +#include + +#include + +#include + +#include + + +namespace SymbologyXML +{ + /** + * \brief Implements a dialog to set parameters and attributes of a xml symbol. + * A xml symbol will be descipted by it's symbol id and some parameters like the affiliation, the mobility and the injury. Additionally several + * attributes like text lines or colors can be defined by the user. + */ + class SYMBOLOGY_XML_GUI_EXPORT SymbolDialog : public LtsWidgets::LtsDialog + { + Q_OBJECT + + public: + + /** + Defines the size of the symbol preview image in dialog. + */ + static QSize symbolPixmapSize() { return QSize(200,200); } + + /** + Construction for use with SituationMap::GeometryModel to edit a symbol node. + @param symbolDict Symbol dictionary that store information about the symbol + @param geomModel Pointer to + @param autoApply If true the user changes should be applied emmediately by caller (use change signals for implementation), an apply button doesn't exist. + In other case the signal applyChanges is emmitted when the apply has been clicked by user. If a GeoemtryModel node has been set with setNode, + this node will be updated automatically. + @param parent Parent widget for QObject hierarchy. + + */ + explicit SymbolDialog( const AdvancedSymbology::SymbolDictionary &symbolDict, SituationMap::GeometryModel * geomModel, bool autoApply, QWidget * parent ); + + /** + Construction for using a "standalone" dialog + */ + explicit SymbolDialog( const AdvancedSymbology::SymbolDictionary &symbolDict, bool autoApply, QWidget * parent ); + + /** + Destruction + */ + virtual ~SymbolDialog(); + + /** + * Retranslate all labelling of dialog. + */ + void retranslate() override; + + /** + * Define the existing parties with names and colors. + */ + void updateParties( const QVector &partyIds + , const QVector &partyColors + , const QVector &partyNames + , const QVector &partyRoles ); + + /** + * Set values of parameters and attributes from node of geometry model. + */ + void setNode( int symbolId, const SituationMap::GeometryModel::Node &node ); + + /** + * Store values from dialog to node of geometry model. Returns true on success. + */ + bool applyToNode(const SituationMap::GeometryModel::Node &node) const; + + /** + * Update preview image of the symbol. + */ + void updateSymbolPixmap(); + + /** + * Get single parameter or attribute from dialog. + * @{ + */ + SymbolTypes::t_affil symbolAffiliation() const; + SymbolTypes::t_mob symbolMobility() const; + + SymbolTypes::t_state symbolState() const; + SymbolTypes::t_uncertainty symbolUncertainty() const; + SituationMap::GeometryModel::t_vbg_et symbolVBG() const; + + int partyId() const; + QColor partyColor() const; + QString partyName() const; + AdvancedSymbology::Role partyRole() const; + + int damagedPartyId() const; + QColor damagedPartyColor() const; + QString damagedPartyName() const; + + QPoint pixelOffset() const; + double scale() const; + + bool directionValid() const; + int directionDegree() const; + + QString textW() const; + QString textXY() const; + QString textV() const; + QString textT() const; + QString textZ() const; + QString textEF() const; + QString textG() const; + QString textH() const; + QString textM() const; + QString textJ() const; + + /** @} */ + + /** + * Set single parameter or attribute from dialog. + * @{ + */ + void setSymbolAffiliation(SymbolTypes::t_affil affil); + void setSymbolMobility(SymbolTypes::t_mob mob); + + void setSymbolState(SymbolTypes::t_state state); + void setSymbolUncertainty(SymbolTypes::t_uncertainty uncertainty); + void setSymbolVBG(SituationMap::GeometryModel::t_vbg_et vbg); + + void setPartyId(int id ); + + void setDamagedPartyId(int id); + + void setPixelOffset( const QPoint &offset ); + void setScale(double scale); + + void setDirectionValid( bool ok ); + void setDirectionDegree( int angle ); + /** @} */ + + signals: + + /** + * Signals to announce changes of values by the user. + * @{ + */ + + void changedSymbolAffiliation( SymbolTypes::t_affil ); + void changedSymbolMobility( SymbolTypes::t_mob ); + + void changedSymbolState( SymbolTypes::t_state ); + + void changedSymbolUncertainty( SymbolTypes::t_uncertainty ); + + void changedSymbolVBG( SituationMap::GeometryModel::t_vbg_et vbg ); + + void changedParty( int partyId ); + void changedDamageParty( int partyId ); + + void changedOffset( const QPoint & ); + + void changedScale( double ); + + void changedDirection( bool valid, int degree ); + + void changedTextW ( const QString & ); + void changedTextXY( const QString & ); + void changedTextV ( const QString & ); + void changedTextT ( const QString & ); + void changedTextZ ( const QString & ); + void changedTextEF( const QString & ); + void changedTextG ( const QString & ); + void changedTextH ( const QString & ); + void changedTextM ( const QString & ); + void changedTextJ ( const QString & ); + + void changed(); + + /** @} */ + + /** + Signal to notify the caller that the apply button has been clicked. + @param self Pointer to this instance of dialog to make changed values accessable + @param canCloseDialog Set to true if saving values was successful and the dialog should be closed. + */ + void applyChanges( SymbolDialog * self, bool & canCloseDialog ); + + void signalAboutToClose(); + + protected: + + bool apply() override; + + void aboutToClose() override; + + private: + + class InternalData; + + InternalData *m_internal; + + }; // SymbolDialog + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbology_xml_gui_export.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbology_xml_gui_export.h new file mode 100755 index 000000000..c96a7bb11 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Gui/symbology_xml_gui_export.h @@ -0,0 +1,22 @@ +/** + * Export definitions + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef SYMBOLOGY_XML_GUI_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define SYMBOLOGY_XML_GUI_EXPORT +# else +# ifdef MAKE_ADVANCEDSYMBOLOGYXML_GUI_LIB +# define SYMBOLOGY_XML_GUI_EXPORT Q_DECL_EXPORT +# else +# define SYMBOLOGY_XML_GUI_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/BiteError.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/BiteError.xml new file mode 100755 index 000000000..91a927624 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/BiteError.xml @@ -0,0 +1,11 @@ + + + + BiteError + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopLeft.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopLeft.xml new file mode 100755 index 000000000..bd5d5d480 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopLeft.xml @@ -0,0 +1,11 @@ + + + + LinienOben + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopRight.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopRight.xml new file mode 100755 index 000000000..9b663a351 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/LineTopRight.xml @@ -0,0 +1,11 @@ + + + + LinienOben + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/Manipulation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/Manipulation.xml new file mode 100755 index 000000000..87a3938df --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/Manipulation.xml @@ -0,0 +1,15 @@ + + + + Manipulation + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/NoPosition.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/NoPosition.xml new file mode 100755 index 000000000..4fdab21c0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/NoPosition.xml @@ -0,0 +1,11 @@ + + + + NoPosition + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TerrainMarker.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TerrainMarker.xml new file mode 100755 index 000000000..6405a3804 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TerrainMarker.xml @@ -0,0 +1,11 @@ + + + + mine + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TextboxAnchor.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TextboxAnchor.xml new file mode 100755 index 000000000..62ee07584 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/TextboxAnchor.xml @@ -0,0 +1,23 @@ + + + + NoPosition + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/WeaponFirePoint.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/WeaponFirePoint.xml new file mode 100755 index 000000000..843ca0b6c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/WeaponFirePoint.xml @@ -0,0 +1,11 @@ + + + + WeaponFirePoint + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineActivated.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineActivated.xml new file mode 100755 index 000000000..fa209b104 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineActivated.xml @@ -0,0 +1,11 @@ + + + + mine + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineDeactivated.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineDeactivated.xml new file mode 100755 index 000000000..187745dd3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/mineDeactivated.xml @@ -0,0 +1,19 @@ + + + + mine + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/singleFire.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/singleFire.xml new file mode 100755 index 000000000..227472093 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/singleFire.xml @@ -0,0 +1,51 @@ + + + + singleFire + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/smartFire.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/smartFire.xml new file mode 100755 index 000000000..b6e0a6b01 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/smartFire.xml @@ -0,0 +1,127 @@ + + + + smartFire + + + + + +Innenkreuz links unten -> rechts oben + + + + +Innenkreuz links oben -> rechts unten + + + + + +Aussen links unten + + + + +Aussen links oben + + + + + +Aussen rechts unten + + + + +Aussen rechts unten + + + + + +senkrecht mitte oben + + + + +senkrecht mitte unten + + + + + +soll horizontal mitte links + + + + + +soll horizontal mitte rechts + + + + + + + + + + +Innenkreuz links unten -> rechts oben + + + + +Innenkreuz links oben -> rechts unten + + + + + +Aussen links unten + + + + +Aussen links oben + + + + + +Aussen rechts unten + + + + +Aussen rechts unten + + + + + +senkrecht mitte oben + + + + +senkrecht mitte unten + + + + + +soll horizontal mitte links + + + + + +soll horizontal mitte rechts + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgFireKill.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgFireKill.xml new file mode 100755 index 000000000..7e572dc68 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgFireKill.xml @@ -0,0 +1,11 @@ + + + + vbgFireKill + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgHit.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgHit.xml new file mode 100755 index 000000000..8918f678c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgHit.xml @@ -0,0 +1,11 @@ + + + + vbgHit + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgMobilityKill.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgMobilityKill.xml new file mode 100755 index 000000000..3e8243ec3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/AddOnSymbole/vbgMobilityKill.xml @@ -0,0 +1,11 @@ + + + + vbgFireKill + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ADGun.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ADGun.xml new file mode 100755 index 000000000..5fd124c83 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ADGun.xml @@ -0,0 +1,21 @@ + + + + Arming Air Defence Gun + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ATGun.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ATGun.xml new file mode 100755 index 000000000..99e539ecf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_ATGun.xml @@ -0,0 +1,18 @@ + + + + Arming Anti Tank Gun + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_air_defence_missile_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_air_defence_missile_launcher.xml new file mode 100755 index 000000000..b2e02addb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_air_defence_missile_launcher.xml @@ -0,0 +1,35 @@ + + + + arming_air_defence_missile_launcher + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_missile_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_missile_launcher.xml new file mode 100755 index 000000000..e1b3bcb2e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_missile_launcher.xml @@ -0,0 +1,32 @@ + + + + arming_antitank_missile_launcher + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_rocket_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_rocket_launcher.xml new file mode 100755 index 000000000..a90ef73dd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_antitank_rocket_launcher.xml @@ -0,0 +1,30 @@ + + + + arming_antitank_rocket_launcher + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_auto_weapon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_auto_weapon.xml new file mode 100755 index 000000000..410979809 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_auto_weapon.xml @@ -0,0 +1,18 @@ + + + + Arming Auto Weapon + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_flame_thrower.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_flame_thrower.xml new file mode 100755 index 000000000..b20570b56 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_flame_thrower.xml @@ -0,0 +1,19 @@ + + + + arming_flame_thrower + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_grenade_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_grenade_launcher.xml new file mode 100755 index 000000000..0f29e3c24 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_grenade_launcher.xml @@ -0,0 +1,24 @@ + + + + arming_grenade_launcher + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_gun.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_gun.xml new file mode 100755 index 000000000..602b8bada --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_gun.xml @@ -0,0 +1,13 @@ + + + + Arming Gun + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_howitzer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_howitzer.xml new file mode 100755 index 000000000..2bcb93a23 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_howitzer.xml @@ -0,0 +1,17 @@ + + + + Arming Howitzer + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_laser.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_laser.xml new file mode 100755 index 000000000..7e8435427 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_laser.xml @@ -0,0 +1,43 @@ + + + + arming_laser + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_machine_gun.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_machine_gun.xml new file mode 100755 index 000000000..17313d62e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_machine_gun.xml @@ -0,0 +1,21 @@ + + + + arming_machine_gun + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_missile.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_missile.xml new file mode 100755 index 000000000..64a4a2bd4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_missile.xml @@ -0,0 +1,28 @@ + + + + Arming Missile + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_morter.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_morter.xml new file mode 100755 index 000000000..893dbf59b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_morter.xml @@ -0,0 +1,22 @@ + + + + Arming Morter + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_non_lethal_weapon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_non_lethal_weapon.xml new file mode 100755 index 000000000..754eaf6b0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_non_lethal_weapon.xml @@ -0,0 +1,19 @@ + + + + arming_non_lethal_weapon + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_rocket.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_rocket.xml new file mode 100755 index 000000000..14bb2b300 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_rocket.xml @@ -0,0 +1,23 @@ + + + + Arming Rocket + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_surface_to_surface_missile_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_surface_to_surface_missile_launcher.xml new file mode 100755 index 000000000..0f6b55850 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/arming/arming_surface_to_surface_missile_launcher.xml @@ -0,0 +1,31 @@ + + + + arming_surface_to_surface_missile_launcher + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army.xml new file mode 100755 index 000000000..3bedc603e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army.xml @@ -0,0 +1,44 @@ + + + + BCDAB army + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army_group.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army_group.xml new file mode 100755 index 000000000..4dc161415 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_army_group.xml @@ -0,0 +1,53 @@ + + + + BCDAB army_group + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_battalion.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_battalion.xml new file mode 100755 index 000000000..ffd095515 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_battalion.xml @@ -0,0 +1,18 @@ + + + + BCDAB battalion + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_brigade.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_brigade.xml new file mode 100755 index 000000000..657c3562a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_brigade.xml @@ -0,0 +1,18 @@ + + + + BCDAB brigade + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_command.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_command.xml new file mode 100755 index 000000000..caa2471fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_command.xml @@ -0,0 +1,26 @@ + + + + BCDAB command + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_company.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_company.xml new file mode 100755 index 000000000..12ca4568e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_company.xml @@ -0,0 +1,14 @@ + + + + BCDAB company + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_corps.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_corps.xml new file mode 100755 index 000000000..0502ea557 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_corps.xml @@ -0,0 +1,35 @@ + + + + BCDAB corps + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_crew.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_crew.xml new file mode 100755 index 000000000..c7358cb96 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_crew.xml @@ -0,0 +1,21 @@ + + + + BCDAB crew + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_division.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_division.xml new file mode 100755 index 000000000..e3d1d2be6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_division.xml @@ -0,0 +1,27 @@ + + + + BCDAB division + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_dummy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_dummy.xml new file mode 100755 index 000000000..a4fbc7aca --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_dummy.xml @@ -0,0 +1,17 @@ + + + + BCDAB dummy + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_installation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_installation.xml new file mode 100755 index 000000000..57d79dcef --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_installation.xml @@ -0,0 +1,13 @@ + + + + BCDAB installation + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_platoon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_platoon.xml new file mode 100755 index 000000000..f9e8553f2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_platoon.xml @@ -0,0 +1,24 @@ + + + + BCDAB platoon + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_regiment.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_regiment.xml new file mode 100755 index 000000000..aed598af0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_regiment.xml @@ -0,0 +1,22 @@ + + + + BCDAB regiment + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_region.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_region.xml new file mode 100755 index 000000000..558016a70 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_region.xml @@ -0,0 +1,62 @@ + + + + BCDAB region + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_section.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_section.xml new file mode 100755 index 000000000..1ce187b97 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_section.xml @@ -0,0 +1,18 @@ + + + + BCDAB section + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squad.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squad.xml new file mode 100755 index 000000000..884de76a6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squad.xml @@ -0,0 +1,14 @@ + + + + BCDAB squad + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squadron.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squadron.xml new file mode 100755 index 000000000..cf295bcba --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_squadron.xml @@ -0,0 +1,27 @@ + + + + BCDAB squadron + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force.xml new file mode 100755 index 000000000..023e5898f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force.xml @@ -0,0 +1,21 @@ + + + + BCDAB task_force + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_battalion.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_battalion.xml new file mode 100755 index 000000000..b8c0d7cc7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_battalion.xml @@ -0,0 +1,29 @@ + + + + BCDAB task_force_battalion + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_brigade.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_brigade.xml new file mode 100755 index 000000000..1e3cc276f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_brigade.xml @@ -0,0 +1,32 @@ + + + + BCDAB task_force_brigade + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_company.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_company.xml new file mode 100755 index 000000000..af9e6cf3e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/bcdab/bcdab_task_force_company.xml @@ -0,0 +1,29 @@ + + + + BCDAB task_force_company + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift.xml new file mode 100755 index 000000000..4496310d6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift.xml @@ -0,0 +1,16 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_enemy.xml new file mode 100755 index 000000000..eea00cf91 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_enemy.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_friend.xml new file mode 100755 index 000000000..6d12b83fd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_friend.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_unknown.xml new file mode 100755 index 000000000..8d8eb203d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_unknown.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_enemy.xml new file mode 100755 index 000000000..90d25e4af --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_enemy.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_friend.xml new file mode 100755 index 000000000..4f65797d6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_friend.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_unknown.xml new file mode 100755 index 000000000..0ef08511e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_unknown.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_enemy.xml new file mode 100755 index 000000000..036091ac4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_enemy.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_unknown.xml new file mode 100755 index 000000000..74e6b178b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_unknown.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_enemy.xml new file mode 100755 index 000000000..d62d01a8b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_enemy.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_friend.xml new file mode 100755 index 000000000..6401b79c4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_friend.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_unknown.xml new file mode 100755 index 000000000..5128c79a0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_unknown.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_enemy.xml new file mode 100755 index 000000000..61a5c4960 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_enemy.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_friend.xml new file mode 100755 index 000000000..f11717d7c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_friend.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_unknown.xml new file mode 100755 index 000000000..55a927267 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_unknown.xml @@ -0,0 +1,18 @@ + + + + branch_air_assault_with_organic_lift + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence.xml new file mode 100755 index 000000000..cd7bc2527 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_friend.xml new file mode 100755 index 000000000..df4aed9e0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_friend.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_unknown.xml new file mode 100755 index 000000000..63259da1c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_airspace_unknown.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_friend.xml new file mode 100755 index 000000000..cf9d4411e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_friend.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_unknown.xml new file mode 100755 index 000000000..0aef871b7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landequipment_unknown.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_enemy.xml new file mode 100755 index 000000000..930a0168e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_enemy.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_friend.xml new file mode 100755 index 000000000..cb61a323b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_friend.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_unknown.xml new file mode 100755 index 000000000..b529ba3a7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_landunits_unknown.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_friend.xml new file mode 100755 index 000000000..452c65d6c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_friend.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_unknown.xml new file mode 100755 index 000000000..25e776eaf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_overwater_unknown.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_friend.xml new file mode 100755 index 000000000..96b240599 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_friend.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_unknown.xml new file mode 100755 index 000000000..394be8102 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_air_defence_underwater_unknown.xml @@ -0,0 +1,11 @@ + + + + branch_air_defence + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious.xml new file mode 100755 index 000000000..109954d95 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2.xml new file mode 100755 index 000000000..b19b55685 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2.xml @@ -0,0 +1,49 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_enemy.xml new file mode 100755 index 000000000..10d470f36 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_enemy.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_friend.xml new file mode 100755 index 000000000..db780d161 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_friend.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_unknown.xml new file mode 100755 index 000000000..523f61eb1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_airspace_unknown.xml @@ -0,0 +1,39 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_backup.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_backup.xml new file mode 100755 index 000000000..75bf0cf1e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_backup.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_enemy.xml new file mode 100755 index 000000000..86e630954 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_enemy.xml @@ -0,0 +1,39 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_friend.xml new file mode 100755 index 000000000..449c60f20 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_friend.xml @@ -0,0 +1,50 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_unknown.xml new file mode 100755 index 000000000..62a2be15c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landequipment_unknown.xml @@ -0,0 +1,40 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_enemy.xml new file mode 100755 index 000000000..ded811508 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_enemy.xml @@ -0,0 +1,39 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_friend.xml new file mode 100755 index 000000000..7de545748 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_friend.xml @@ -0,0 +1,58 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_unknown.xml new file mode 100755 index 000000000..7da363e16 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_landunits_unknown.xml @@ -0,0 +1,39 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_enemy.xml new file mode 100755 index 000000000..6ef400ac4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_enemy.xml @@ -0,0 +1,40 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_friend.xml new file mode 100755 index 000000000..331eacdd9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_friend.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_unknown.xml new file mode 100755 index 000000000..019f36683 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_overwater_unknown.xml @@ -0,0 +1,40 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_enemy.xml new file mode 100755 index 000000000..8204def86 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_enemy.xml @@ -0,0 +1,40 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_friend.xml new file mode 100755 index 000000000..b80cb0145 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_friend.xml @@ -0,0 +1,39 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_unknown.xml new file mode 100755 index 000000000..76bebf33d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_2_underwater_unknown.xml @@ -0,0 +1,40 @@ + + + + branch_amphibious_2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_enemy.xml new file mode 100755 index 000000000..c84bfd0b2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_enemy.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_friend.xml new file mode 100755 index 000000000..405600dc9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_friend.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_unknown.xml new file mode 100755 index 000000000..811bd46f4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_airspace_unknown.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_enemy.xml new file mode 100755 index 000000000..1dd916071 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_enemy.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_friend.xml new file mode 100755 index 000000000..e6eb2f2ad --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_friend.xml @@ -0,0 +1,50 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_unknown.xml new file mode 100755 index 000000000..00906cf5f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landequipment_unknown.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_enemy.xml new file mode 100755 index 000000000..b30b03e9e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_enemy.xml @@ -0,0 +1,59 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_friend.xml new file mode 100755 index 000000000..4ca9cdb9e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_friend.xml @@ -0,0 +1,58 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_unknown.xml new file mode 100755 index 000000000..6129da4af --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_landunits_unknown.xml @@ -0,0 +1,58 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_enemy.xml new file mode 100755 index 000000000..12bc670d2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_enemy.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_friend.xml new file mode 100755 index 000000000..f25e1bf9d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_friend.xml @@ -0,0 +1,48 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_unknown.xml new file mode 100755 index 000000000..4bde801e6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_overwater_unknown.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_enemy.xml new file mode 100755 index 000000000..7ceb31a8b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_enemy.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_friend.xml new file mode 100755 index 000000000..f8896bde6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_friend.xml @@ -0,0 +1,49 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_unknown.xml new file mode 100755 index 000000000..8f6ea39b5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_amphibious_underwater_unknown.xml @@ -0,0 +1,57 @@ + + + + branch_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_analysis.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_analysis.xml new file mode 100755 index 000000000..5aaf90b3a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_analysis.xml @@ -0,0 +1,20 @@ + + + + branch_analysis + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antenna.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antenna.xml new file mode 100755 index 000000000..4e60bc7a7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antenna.xml @@ -0,0 +1,21 @@ + + + + branch_antenna + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank.xml new file mode 100755 index 000000000..12246cfe9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank.xml @@ -0,0 +1,16 @@ + + + + branch_antitank + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_enemy.xml new file mode 100755 index 000000000..9d821875d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_enemy.xml @@ -0,0 +1,12 @@ + + + + branch_antitank + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_friend.xml new file mode 100755 index 000000000..ff01574f5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_friend.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_unknown.xml new file mode 100755 index 000000000..c98317358 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_airspace_unknown.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_enemy.xml new file mode 100755 index 000000000..d06fa2a13 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_enemy.xml @@ -0,0 +1,12 @@ + + + + branch_antitank + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_friend.xml new file mode 100755 index 000000000..d1f7c2e00 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_friend.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_unknown.xml new file mode 100755 index 000000000..75bc1c757 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landequipment_unknown.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_enemy.xml new file mode 100755 index 000000000..597ccd0e9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_enemy.xml @@ -0,0 +1,12 @@ + + + + branch_antitank + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_unknown.xml new file mode 100755 index 000000000..8fa9987a1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_landunits_unknown.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_enemy.xml new file mode 100755 index 000000000..cbc0c8417 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_enemy.xml @@ -0,0 +1,12 @@ + + + + branch_antitank + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_friend.xml new file mode 100755 index 000000000..b23869005 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_friend.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_unknown.xml new file mode 100755 index 000000000..c120cbb28 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_overwater_unknown.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_enemy.xml new file mode 100755 index 000000000..772332261 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_enemy.xml @@ -0,0 +1,12 @@ + + + + branch_antitank + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_friend.xml new file mode 100755 index 000000000..0130960c6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_friend.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_unknown.xml new file mode 100755 index 000000000..807f69f4a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_antitank_underwater_unknown.xml @@ -0,0 +1,13 @@ + + + + branch_antitank + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support.xml new file mode 100755 index 000000000..c44efc2d1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_enemy.xml new file mode 100755 index 000000000..c7b66381f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_unknown.xml new file mode 100755 index 000000000..4f24777b4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_airspace_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_enemy.xml new file mode 100755 index 000000000..f064f8b2a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_friend.xml new file mode 100755 index 000000000..c84c1b6d9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_friend.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_unknown.xml new file mode 100755 index 000000000..2264a3905 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landequipment_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_enemy.xml new file mode 100755 index 000000000..b8288f1d5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_friend.xml new file mode 100755 index 000000000..b4f11bc30 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_friend.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_unknown.xml new file mode 100755 index 000000000..c7f5876a7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_landunits_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_enemy.xml new file mode 100755 index 000000000..589cb2b76 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_friend.xml new file mode 100755 index 000000000..0ee3968dc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_friend.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_unknown.xml new file mode 100755 index 000000000..d822fe8cd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_overwater_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_enemy.xml new file mode 100755 index 000000000..a32f32285 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_unknown.xml new file mode 100755 index 000000000..634a85ced --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_corps_support_underwater_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_corps_support + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_direction_finding.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_direction_finding.xml new file mode 100755 index 000000000..0eb37fb35 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_direction_finding.xml @@ -0,0 +1,20 @@ + + + + branch_direction_finding + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter.xml new file mode 100755 index 000000000..2ba8c8835 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_enemy.xml new file mode 100755 index 000000000..387142d30 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_friend.xml new file mode 100755 index 000000000..8c1b97d84 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_unknown.xml new file mode 100755 index 000000000..a7ffff64c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_airspace_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_enemy.xml new file mode 100755 index 000000000..d9fcbd3a2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_friend.xml new file mode 100755 index 000000000..221b34815 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_unknown.xml new file mode 100755 index 000000000..b6e0d0277 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landequipment_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_enemy.xml new file mode 100755 index 000000000..838167dae --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_unknown.xml new file mode 100755 index 000000000..b3c8463ae --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_landunits_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_enemy.xml new file mode 100755 index 000000000..7e3978f23 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_friend.xml new file mode 100755 index 000000000..29f7b2a02 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_unknown.xml new file mode 100755 index 000000000..f4a023c77 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_overwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_enemy.xml new file mode 100755 index 000000000..64e9a6c14 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_friend.xml new file mode 100755 index 000000000..4774f549b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_unknown.xml new file mode 100755 index 000000000..ce82a69db --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_headquarter_underwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_headquarter + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry.xml new file mode 100755 index 000000000..aae49927d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_enemy.xml new file mode 100755 index 000000000..d239f6be3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_infantry + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_friend.xml new file mode 100755 index 000000000..f76df9b1e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_friend.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_unknown.xml new file mode 100755 index 000000000..b6f610576 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_airspace_unknown.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_enemy.xml new file mode 100755 index 000000000..1c6f27c97 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_enemy.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_friend.xml new file mode 100755 index 000000000..35b01feaf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_friend.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_unknown.xml new file mode 100755 index 000000000..1791d27f0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landequipment_unknown.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_enemy.xml new file mode 100755 index 000000000..2d66fb59d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_enemy.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_friend.xml new file mode 100755 index 000000000..7aef94131 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_friend.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_unknown.xml new file mode 100755 index 000000000..c84f53214 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_landunits_unknown.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_enemy.xml new file mode 100755 index 000000000..9181bf87c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_enemy.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_friend.xml new file mode 100755 index 000000000..4798bc25a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_friend.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_unknown.xml new file mode 100755 index 000000000..643b4a192 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_overwater_unknown.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_enemy.xml new file mode 100755 index 000000000..2f3e3c471 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_infantry + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_friend.xml new file mode 100755 index 000000000..7ed5b9d05 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_friend.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_unknown.xml new file mode 100755 index 000000000..de2f32748 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_infantry_underwater_unknown.xml @@ -0,0 +1,19 @@ + + + + branch_infantry + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_intercept.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_intercept.xml new file mode 100755 index 000000000..1bb831beb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_intercept.xml @@ -0,0 +1,20 @@ + + + + branch_intercept + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming.xml new file mode 100755 index 000000000..0fcce4b96 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming.xml @@ -0,0 +1,112 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_enemy.xml new file mode 100755 index 000000000..1ca0ec9a8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_enemy.xml @@ -0,0 +1,80 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_friend.xml new file mode 100755 index 000000000..6f37c1fbc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_friend.xml @@ -0,0 +1,74 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_unknown.xml new file mode 100755 index 000000000..b2394cb25 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_airspace_unknown.xml @@ -0,0 +1,88 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_enemy.xml new file mode 100755 index 000000000..1f5c0603a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_enemy.xml @@ -0,0 +1,80 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_friend.xml new file mode 100755 index 000000000..100245ec8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_friend.xml @@ -0,0 +1,104 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_unknown.xml new file mode 100755 index 000000000..cbf95eb37 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landequipment_unknown.xml @@ -0,0 +1,88 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_enemy.xml new file mode 100755 index 000000000..924427e2d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_enemy.xml @@ -0,0 +1,80 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_friend.xml new file mode 100755 index 000000000..3ddf39a13 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_friend.xml @@ -0,0 +1,145 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_unknown.xml new file mode 100755 index 000000000..772d30bd6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_landunits_unknown.xml @@ -0,0 +1,88 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_enemy.xml new file mode 100755 index 000000000..28881fd64 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_enemy.xml @@ -0,0 +1,80 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_friend.xml new file mode 100755 index 000000000..f58459d4a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_friend.xml @@ -0,0 +1,104 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_unknown.xml new file mode 100755 index 000000000..1cbc074ce --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_overwater_unknown.xml @@ -0,0 +1,88 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_enemy.xml new file mode 100755 index 000000000..8a0d6c76f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_enemy.xml @@ -0,0 +1,145 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_friend.xml new file mode 100755 index 000000000..d1c5c709c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_friend.xml @@ -0,0 +1,116 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_unknown.xml new file mode 100755 index 000000000..4020285e4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_jamming_underwater_unknown.xml @@ -0,0 +1,88 @@ + + + + branch_jamming + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system.xml new file mode 100755 index 000000000..8e149afe7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_enemy.xml new file mode 100755 index 000000000..63f8549dc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_friend.xml new file mode 100755 index 000000000..681efd685 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_unknown.xml new file mode 100755 index 000000000..72403a06d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_airspace_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_enemy.xml new file mode 100755 index 000000000..b4b9889f7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_friend.xml new file mode 100755 index 000000000..1a9e3532f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_unknown.xml new file mode 100755 index 000000000..1bdeb9f04 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landequipment_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_enemy.xml new file mode 100755 index 000000000..82d23e294 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_unknown.xml new file mode 100755 index 000000000..72aff1c63 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_landunits_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_enemy.xml new file mode 100755 index 000000000..82e9c0189 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_friend.xml new file mode 100755 index 000000000..50bf21cd0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_unknown.xml new file mode 100755 index 000000000..e056e8e30 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_overwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_enemy.xml new file mode 100755 index 000000000..67c085792 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_friend.xml new file mode 100755 index 000000000..490bfbccb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_unknown.xml new file mode 100755 index 000000000..5ec5f8294 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_main_gun_system_underwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_main_gun_system + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility.xml new file mode 100755 index 000000000..58d6f9989 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_enemy.xml new file mode 100755 index 000000000..e40917d96 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_enemy.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_friend.xml new file mode 100755 index 000000000..6cef0e3ff --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_friend.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_unknown.xml new file mode 100755 index 000000000..2b0c5bf93 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_unknown.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_enemy.xml new file mode 100755 index 000000000..954a3133f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_enemy.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_friend.xml new file mode 100755 index 000000000..7b38f43c4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_friend.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_unknown.xml new file mode 100755 index 000000000..8cedf561c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_unknown.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_enemy.xml new file mode 100755 index 000000000..17f2da3bf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_enemy.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_friend.xml new file mode 100755 index 000000000..1c11ed84c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_friend.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_unknown.xml new file mode 100755 index 000000000..1b8e5707e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_unknown.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_enemy.xml new file mode 100755 index 000000000..305137ff5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_enemy.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_friend.xml new file mode 100755 index 000000000..b21533249 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_friend.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_unknown.xml new file mode 100755 index 000000000..795a2cd04 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_unknown.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_enemy.xml new file mode 100755 index 000000000..0aa61c97a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_enemy.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_friend.xml new file mode 100755 index 000000000..15d8f86e4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_friend.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_unknown.xml new file mode 100755 index 000000000..1a0a7799f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_unknown.xml @@ -0,0 +1,29 @@ + + + + branch_medical_treatment_facility + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized.xml new file mode 100755 index 000000000..ede6e4f7e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_enemy.xml new file mode 100755 index 000000000..74ed6fb14 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_friend.xml new file mode 100755 index 000000000..782224c8d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_unknown.xml new file mode 100755 index 000000000..8c736e84e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_airspace_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_enemy.xml new file mode 100755 index 000000000..a0fa8dafa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_friend.xml new file mode 100755 index 000000000..c1df6d44b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_unknown.xml new file mode 100755 index 000000000..29371d0de --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landequipment_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_enemy.xml new file mode 100755 index 000000000..cd62dd77f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_unknown.xml new file mode 100755 index 000000000..74cac5fae --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_landunits_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_enemy.xml new file mode 100755 index 000000000..38a0ed126 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_friend.xml new file mode 100755 index 000000000..175708cdd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_unknown.xml new file mode 100755 index 000000000..889a57d4b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_overwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_enemy.xml new file mode 100755 index 000000000..816505b6d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_friend.xml new file mode 100755 index 000000000..2fec3d746 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_unknown.xml new file mode 100755 index 000000000..085e7edd2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_motorized_underwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_motorized + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain.xml new file mode 100755 index 000000000..d2b4c8ffd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain.xml @@ -0,0 +1,23 @@ + + + + branch_mountain + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_enemy.xml new file mode 100755 index 000000000..8e5d14caa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_friend.xml new file mode 100755 index 000000000..90e8a817a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_friend.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_unknown.xml new file mode 100755 index 000000000..3468a6722 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_airspace_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_enemy.xml new file mode 100755 index 000000000..2b3341c74 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_friend.xml new file mode 100755 index 000000000..dfdd3614b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_friend.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_unknown.xml new file mode 100755 index 000000000..3045c08a1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landequipment_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_enemy.xml new file mode 100755 index 000000000..ded42db90 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_unknown.xml new file mode 100755 index 000000000..afce42983 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_landunits_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_enemy.xml new file mode 100755 index 000000000..5d3552fcd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_friend.xml new file mode 100755 index 000000000..077d7b270 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_friend.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_unknown.xml new file mode 100755 index 000000000..9051d666a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_overwater_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_enemy.xml new file mode 100755 index 000000000..7e1575b2f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_enemy.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_friend.xml new file mode 100755 index 000000000..0421d75b1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_friend.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_unknown.xml new file mode 100755 index 000000000..597a09a4c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_mountain_underwater_unknown.xml @@ -0,0 +1,16 @@ + + + + branch_mountain + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance.xml new file mode 100755 index 000000000..21497800d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_enemy.xml new file mode 100755 index 000000000..12e3c679a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_friend.xml new file mode 100755 index 000000000..4c7384c96 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_unknown.xml new file mode 100755 index 000000000..73123b204 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_airspace_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_friend.xml new file mode 100755 index 000000000..e12d587e2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_unknown.xml new file mode 100755 index 000000000..b1010db6b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landequipment_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landunits_unknown.xml new file mode 100755 index 000000000..6e4929715 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_landunits_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_friend.xml new file mode 100755 index 000000000..cb3cafcd9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_unknown.xml new file mode 100755 index 000000000..1380c59b2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_overwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_enemy.xml new file mode 100755 index 000000000..6a6392174 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_friend.xml new file mode 100755 index 000000000..33b869fd4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_unknown.xml new file mode 100755 index 000000000..adddaefb8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_reconnaissance_underwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_reconnaissance + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_search_reconnaissance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_search_reconnaissance.xml new file mode 100755 index 000000000..e681c44d4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_search_reconnaissance.xml @@ -0,0 +1,20 @@ + + + + branch_search_reconnaissance + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply.xml new file mode 100755 index 000000000..62c5547fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_enemy.xml new file mode 100755 index 000000000..dd9918246 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_friend.xml new file mode 100755 index 000000000..3b0d99d69 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_unknown.xml new file mode 100755 index 000000000..34c1c27cb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_airspace_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_enemy.xml new file mode 100755 index 000000000..900812781 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_friend.xml new file mode 100755 index 000000000..736ab741d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_unknown.xml new file mode 100755 index 000000000..8901ad458 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landequipment_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_enemy.xml new file mode 100755 index 000000000..9afbc05b8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_unknown.xml new file mode 100755 index 000000000..9ebcf3cdb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_landunits_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii.xml new file mode 100755 index 000000000..8257c9507 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_enemy.xml new file mode 100755 index 000000000..9a1d46fab --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_enemy.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_friend.xml new file mode 100755 index 000000000..a2dfaf11f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_friend.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_unknown.xml new file mode 100755 index 000000000..c490ddfd5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_unknown.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_enemy.xml new file mode 100755 index 000000000..534732b8b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_enemy.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_friend.xml new file mode 100755 index 000000000..13affa67f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_friend.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_unknown.xml new file mode 100755 index 000000000..14c90e408 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_unknown.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_enemy.xml new file mode 100755 index 000000000..518571e91 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_enemy.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_unknown.xml new file mode 100755 index 000000000..5e42c524d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_unknown.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_enemy.xml new file mode 100755 index 000000000..10d8328a7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_enemy.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_friend.xml new file mode 100755 index 000000000..a0e20456d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_friend.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_unknown.xml new file mode 100755 index 000000000..7e7a148fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_unknown.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_enemy.xml new file mode 100755 index 000000000..f3519613d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_enemy.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_friend.xml new file mode 100755 index 000000000..aebd84189 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_friend.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_unknown.xml new file mode 100755 index 000000000..c5c3c0af6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_unknown.xml @@ -0,0 +1,24 @@ + + + + branch_supply_medical_class_viii + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_enemy.xml new file mode 100755 index 000000000..d4599e416 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_friend.xml new file mode 100755 index 000000000..35e81ed0e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_unknown.xml new file mode 100755 index 000000000..e8e3bc5e8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_overwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_enemy.xml new file mode 100755 index 000000000..3cb73a883 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_enemy.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_friend.xml new file mode 100755 index 000000000..d5668fdfa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_friend.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_unknown.xml new file mode 100755 index 000000000..0920fa41c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_supply_underwater_unknown.xml @@ -0,0 +1,15 @@ + + + + branch_supply + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps.xml new file mode 100755 index 000000000..55a0617c8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_enemy.xml new file mode 100755 index 000000000..a7b78ebe8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_unknown.xml new file mode 100755 index 000000000..31fd845ec --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_unknown.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_enemy.xml new file mode 100755 index 000000000..a22bed38b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_friend.xml new file mode 100755 index 000000000..438d20f74 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_friend.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_unknown.xml new file mode 100755 index 000000000..ea7adeec3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_unknown.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_enemy.xml new file mode 100755 index 000000000..8fc88e622 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_friend.xml new file mode 100755 index 000000000..f488e0c47 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_friend.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_unknown.xml new file mode 100755 index 000000000..d6c570dd8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_unknown.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_enemy.xml new file mode 100755 index 000000000..35f978796 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_friend.xml new file mode 100755 index 000000000..65000d951 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_friend.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_unknown.xml new file mode 100755 index 000000000..0c19eb2d2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_unknown.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_enemy.xml new file mode 100755 index 000000000..bbe40feb1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_enemy.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_unknown.xml new file mode 100755 index 000000000..5bca3062e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_unknown.xml @@ -0,0 +1,21 @@ + + + + branch_theatre_echelons_above_corps + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense.xml new file mode 100755 index 000000000..3ae8f877e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense.xml @@ -0,0 +1,14 @@ + + + + Truppengattung army_air_defense + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_enemy.xml new file mode 100755 index 000000000..83e6173fd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_enemy.xml @@ -0,0 +1,14 @@ + + + + Truppengattung army_air_defense + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_friend.xml new file mode 100755 index 000000000..7c8658313 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_airspace_friend.xml @@ -0,0 +1,14 @@ + + + + Truppengattung army_air_defense + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_overwater_friend.xml new file mode 100755 index 000000000..0f05a801b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_air_defense_overwater_friend.xml @@ -0,0 +1,14 @@ + + + + Truppengattung army_air_defense + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_aviation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_aviation.xml new file mode 100755 index 000000000..59ac0d2af --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_army_aviation.xml @@ -0,0 +1,17 @@ + + + + Truppengattung army_aviation + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_artillery.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_artillery.xml new file mode 100755 index 000000000..c5933d058 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_artillery.xml @@ -0,0 +1,14 @@ + + + + Truppengattung artillery + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_civil_military_coop.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_civil_military_coop.xml new file mode 100755 index 000000000..6664265ea --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_civil_military_coop.xml @@ -0,0 +1,20 @@ + + + + Truppengattung civil_military_coop + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_engineer_troops.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_engineer_troops.xml new file mode 100755 index 000000000..2e487c498 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_engineer_troops.xml @@ -0,0 +1,26 @@ + + + + Truppengattung engineer_troops + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry.xml new file mode 100755 index 000000000..8145d5a47 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_enemy.xml new file mode 100755 index 000000000..c991b5fa2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_friend.xml new file mode 100755 index 000000000..f1a348bf9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_unknown.xml new file mode 100755 index 000000000..8e71b476c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_airspace_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landequipment_unknown.xml new file mode 100755 index 000000000..c292016ec --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landequipment_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landunits_unknown.xml new file mode 100755 index 000000000..1b04b5e68 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_landunits_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_friend.xml new file mode 100755 index 000000000..c4930df1b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_unknown.xml new file mode 100755 index 000000000..a3d101fb9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_overwater_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_enemy.xml new file mode 100755 index 000000000..b7577e74c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_friend.xml new file mode 100755 index 000000000..4f86004df --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_unknown.xml new file mode 100755 index 000000000..545ac77bb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_infantry_underwater_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung infantry + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical.xml new file mode 100755 index 000000000..dc886ccd9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_enemy.xml new file mode 100755 index 000000000..23a9d9145 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_friend.xml new file mode 100755 index 000000000..735ae91d7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_unknown.xml new file mode 100755 index 000000000..7c6a895b1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_airspace_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_enemy.xml new file mode 100755 index 000000000..07a57d74a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_friend.xml new file mode 100755 index 000000000..dde0135c0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_unknown.xml new file mode 100755 index 000000000..bc94317c1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landequipment_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_enemy.xml new file mode 100755 index 000000000..d82a83f58 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_unknown.xml new file mode 100755 index 000000000..2b824fdcf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_landunits_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_enemy.xml new file mode 100755 index 000000000..2c0c27069 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_friend.xml new file mode 100755 index 000000000..05e5feb3c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_unknown.xml new file mode 100755 index 000000000..aa6759967 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_overwater_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_enemy.xml new file mode 100755 index 000000000..64aab301f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_friend.xml new file mode 100755 index 000000000..6065e6281 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_unknown.xml new file mode 100755 index 000000000..ee27c1e9b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_medical_underwater_unknown.xml @@ -0,0 +1,18 @@ + + + + Truppengattung medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_nbc_defense.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_nbc_defense.xml new file mode 100755 index 000000000..5f93f4711 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_nbc_defense.xml @@ -0,0 +1,26 @@ + + + + Truppengattung nbc_defense + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_psyops.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_psyops.xml new file mode 100755 index 000000000..374efd0a6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_psyops.xml @@ -0,0 +1,35 @@ + + + + Truppengattung psyops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance.xml new file mode 100755 index 000000000..ed7380605 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance.xml @@ -0,0 +1,18 @@ + + + + Truppengattung reconnaissance + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_airspace_enemy.xml new file mode 100755 index 000000000..e7766f857 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_airspace_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung reconnaissance + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_overwater_friend.xml new file mode 100755 index 000000000..8a0fd49b8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_overwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung reconnaissance + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_enemy.xml new file mode 100755 index 000000000..d07fb3960 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_enemy.xml @@ -0,0 +1,18 @@ + + + + Truppengattung reconnaissance + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_friend.xml new file mode 100755 index 000000000..0cbf5ef50 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_reconnaissance_underwater_friend.xml @@ -0,0 +1,18 @@ + + + + Truppengattung reconnaissance + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal.xml new file mode 100755 index 000000000..7ca787f00 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_enemy.xml new file mode 100755 index 000000000..5d07fb2de --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_enemy.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_friend.xml new file mode 100755 index 000000000..634da1722 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_airspace_friend.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landequipment_enemy.xml new file mode 100755 index 000000000..af426586b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landequipment_enemy.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landunits_enemy.xml new file mode 100755 index 000000000..4ac233ecc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_landunits_enemy.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_enemy.xml new file mode 100755 index 000000000..9c36e163e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_enemy.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_friend.xml new file mode 100755 index 000000000..14e98d961 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_overwater_friend.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_enemy.xml new file mode 100755 index 000000000..ad4fb6ade --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_enemy.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_friend.xml new file mode 100755 index 000000000..31eea15b6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_signal_underwater_friend.xml @@ -0,0 +1,16 @@ + + + + Truppengattung signal + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply.xml new file mode 100755 index 000000000..81b51c343 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply.xml @@ -0,0 +1,26 @@ + + + + Truppengattung supply + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply_overwater_friend.xml new file mode 100755 index 000000000..eabbb7b12 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_supply_overwater_friend.xml @@ -0,0 +1,26 @@ + + + + Truppengattung supply + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_tank.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_tank.xml new file mode 100755 index 000000000..86a5a09ba --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/branch/tg_tank.xml @@ -0,0 +1,26 @@ + + + + Truppengattung tank + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_battalion.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_battalion.xml new file mode 100755 index 000000000..1fd92b4d4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_battalion.xml @@ -0,0 +1,17 @@ + + + + CommandLevel battalion + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_brigade.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_brigade.xml new file mode 100755 index 000000000..34422efc5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_brigade.xml @@ -0,0 +1,17 @@ + + + + CommandLevel brigade + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_company.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_company.xml new file mode 100755 index 000000000..13ab889fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_company.xml @@ -0,0 +1,13 @@ + + + + CommandLevel company + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_crew.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_crew.xml new file mode 100755 index 000000000..a327cc770 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_crew.xml @@ -0,0 +1,17 @@ + + + + CommandLevel crew + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_division.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_division.xml new file mode 100755 index 000000000..664082f2b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_division.xml @@ -0,0 +1,26 @@ + + + + CommandLevel division + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_platoon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_platoon.xml new file mode 100755 index 000000000..2b1e3a719 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_platoon.xml @@ -0,0 +1,23 @@ + + + + CommandLevel platoon + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_regiment.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_regiment.xml new file mode 100755 index 000000000..b249c447a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_regiment.xml @@ -0,0 +1,21 @@ + + + + CommandLevel regiment + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_section.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_section.xml new file mode 100755 index 000000000..70a1ef170 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_section.xml @@ -0,0 +1,18 @@ + + + + CommandLevel section + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squad.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squad.xml new file mode 100755 index 000000000..adeabb964 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squad.xml @@ -0,0 +1,13 @@ + + + + CommandLevel squad + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squadron.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squadron.xml new file mode 100755 index 000000000..e320a67cc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/commandlevel/cl_squadron.xml @@ -0,0 +1,28 @@ + + + + CommandLevel squadron + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_airborne.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_airborne.xml new file mode 100755 index 000000000..9f23cba77 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_airborne.xml @@ -0,0 +1,19 @@ + + + + intrinsicmob_airborne + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_amphibious.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_amphibious.xml new file mode 100755 index 000000000..cc9fe8bf5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_amphibious.xml @@ -0,0 +1,44 @@ + + + + intrinsicmob_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_barge.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_barge.xml new file mode 100755 index 000000000..b32e8d0bf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_barge.xml @@ -0,0 +1,19 @@ + + + + intrinsicmob_barge + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_bicycle_equipped.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_bicycle_equipped.xml new file mode 100755 index 000000000..23441858e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_bicycle_equipped.xml @@ -0,0 +1,14 @@ + + + + intrinsicmob_bicycle_equipped + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_over_snow.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_over_snow.xml new file mode 100755 index 000000000..57f0d7e6d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_over_snow.xml @@ -0,0 +1,19 @@ + + + + intrinsicmob_over_snow + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_pack_animals.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_pack_animals.xml new file mode 100755 index 000000000..57143333c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_pack_animals.xml @@ -0,0 +1,18 @@ + + + + intrinsicmob_pack_animals + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_packanimal.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_packanimal.xml new file mode 100755 index 000000000..cd645ca24 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_packanimal.xml @@ -0,0 +1,20 @@ + + + + intrinsicmob_packanimal + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_semi_trailer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_semi_trailer.xml new file mode 100755 index 000000000..3d7b08ff0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_semi_trailer.xml @@ -0,0 +1,28 @@ + + + + intrinsicmob_semi_trailer + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_sled.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_sled.xml new file mode 100755 index 000000000..0222509df --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_sled.xml @@ -0,0 +1,23 @@ + + + + intrinsicmob_sled + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_tracked.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_tracked.xml new file mode 100755 index 000000000..c9560e8b5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_tracked.xml @@ -0,0 +1,17 @@ + + + + intrinsicmob_tracked + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheel.xml new file mode 100755 index 000000000..bb5da34c0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheel.xml @@ -0,0 +1,23 @@ + + + + intrinsicmob_wheel + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_and_tracked.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_and_tracked.xml new file mode 100755 index 000000000..99576bf71 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_and_tracked.xml @@ -0,0 +1,21 @@ + + + + intrinsicmob_wheeled_and_tracked + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_cross_country.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_cross_country.xml new file mode 100755 index 000000000..da2e8efb8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_cross_country.xml @@ -0,0 +1,27 @@ + + + + intrinsicmob_wheeled_cross_country + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_limited_mobility.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_limited_mobility.xml new file mode 100755 index 000000000..e3e20ed6d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_limited_mobility.xml @@ -0,0 +1,23 @@ + + + + intrinsicmob_wheeled_limited_mobility + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_trailer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_trailer.xml new file mode 100755 index 000000000..370b9041b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_trailer.xml @@ -0,0 +1,22 @@ + + + + Intrinsic Mobility Trailer + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_train.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_train.xml new file mode 100755 index 000000000..1d56139bf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/intrinsicmobility/mob_train.xml @@ -0,0 +1,30 @@ + + + + Intrinsic Mobility Train + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_heavy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_heavy.xml new file mode 100755 index 000000000..5e6907198 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_heavy.xml @@ -0,0 +1,22 @@ + + + + Misc Arming Heavy + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_light.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_light.xml new file mode 100755 index 000000000..e8e59c0b8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_light.xml @@ -0,0 +1,14 @@ + + + + Misc Arming Light + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_medium.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_medium.xml new file mode 100755 index 000000000..06832447b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_arm_medium.xml @@ -0,0 +1,18 @@ + + + + Misc Arming Medium + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyA.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyA.xml new file mode 100755 index 000000000..f6d1fac87 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyA.xml @@ -0,0 +1,22 @@ + + + + Misc Heavy A + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyB.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyB.xml new file mode 100755 index 000000000..0095fdf82 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyB.xml @@ -0,0 +1,22 @@ + + + + Misc Heavy B + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyC.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyC.xml new file mode 100755 index 000000000..1ffde02f0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_heavyC.xml @@ -0,0 +1,22 @@ + + + + Misc Heavy C + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightA.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightA.xml new file mode 100755 index 000000000..079348109 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightA.xml @@ -0,0 +1,14 @@ + + + + Misc Light A + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightB.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightB.xml new file mode 100755 index 000000000..71df41cfd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightB.xml @@ -0,0 +1,14 @@ + + + + Misc Light B + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightC.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightC.xml new file mode 100755 index 000000000..5a468f5be --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_lightC.xml @@ -0,0 +1,14 @@ + + + + Misc Light C + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_medical.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_medical.xml new file mode 100755 index 000000000..8c89e51f5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_medical.xml @@ -0,0 +1,18 @@ + + + + misc_medical + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumA.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumA.xml new file mode 100755 index 000000000..e8854aa9c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumA.xml @@ -0,0 +1,18 @@ + + + + Misc Medium A + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumB.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumB.xml new file mode 100755 index 000000000..99caf1bf3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumB.xml @@ -0,0 +1,18 @@ + + + + Misc Medium B + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumC.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumC.xml new file mode 100755 index 000000000..24770d92d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/misc/misc_mediumC.xml @@ -0,0 +1,18 @@ + + + + Misc Medium C + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_airborne.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_airborne.xml new file mode 100755 index 000000000..6fdf7d56b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_airborne.xml @@ -0,0 +1,19 @@ + + + + mob_airborne + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_amphibious.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_amphibious.xml new file mode 100755 index 000000000..98c7688e2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_amphibious.xml @@ -0,0 +1,50 @@ + + + + mob_amphibious + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_barge.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_barge.xml new file mode 100755 index 000000000..c0dac177d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_barge.xml @@ -0,0 +1,19 @@ + + + + mob_barge + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_bicycle_equipped.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_bicycle_equipped.xml new file mode 100755 index 000000000..91602199b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_bicycle_equipped.xml @@ -0,0 +1,15 @@ + + + + mob_bicycle_equipped + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain.xml new file mode 100755 index 000000000..bc733de7a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain.xml @@ -0,0 +1,26 @@ + + + + Mobility Chain + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain_all_terrain.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain_all_terrain.xml new file mode 100755 index 000000000..06cd36989 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_chain_all_terrain.xml @@ -0,0 +1,30 @@ + + + + Mobility Chain All Terrain + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_over_snow.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_over_snow.xml new file mode 100755 index 000000000..b8b21e2ad --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_over_snow.xml @@ -0,0 +1,19 @@ + + + + mob_over_snow + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_pack_animals.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_pack_animals.xml new file mode 100755 index 000000000..105fdce4b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_pack_animals.xml @@ -0,0 +1,18 @@ + + + + mob_pack_animals + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_semi_trailer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_semi_trailer.xml new file mode 100755 index 000000000..e0b2699fd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_semi_trailer.xml @@ -0,0 +1,27 @@ + + + + mob_semi_trailer + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_sled.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_sled.xml new file mode 100755 index 000000000..8804fee78 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_sled.xml @@ -0,0 +1,23 @@ + + + + mob_sled + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_tracked.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_tracked.xml new file mode 100755 index 000000000..9fb59b0ed --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_tracked.xml @@ -0,0 +1,17 @@ + + + + mob_tracked + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_trailer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_trailer.xml new file mode 100755 index 000000000..0e725a893 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_trailer.xml @@ -0,0 +1,22 @@ + + + + mob_trailer + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_train.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_train.xml new file mode 100755 index 000000000..64471bc43 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_train.xml @@ -0,0 +1,30 @@ + + + + mob_train + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel.xml new file mode 100755 index 000000000..4f706593b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel.xml @@ -0,0 +1,22 @@ + + + + mob_wheel + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel_all_terrain.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel_all_terrain.xml new file mode 100755 index 000000000..739fa183d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheel_all_terrain.xml @@ -0,0 +1,26 @@ + + + + mob_wheel_all_terrain + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheeled_and_tracked.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheeled_and_tracked.xml new file mode 100755 index 000000000..01d04b4a5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/mobility/mob_wheeled_and_tracked.xml @@ -0,0 +1,21 @@ + + + + mob_wheeled_and_tracked + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_decoy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_decoy.xml new file mode 100755 index 000000000..69ae740c7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_decoy.xml @@ -0,0 +1,33 @@ + + + + secicon_air_decoy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_traffic_services.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_traffic_services.xml new file mode 100755 index 000000000..f05fcfc90 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_air_traffic_services.xml @@ -0,0 +1,25 @@ + + + + secicon_air_traffic_services + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airborne.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airborne.xml new file mode 100755 index 000000000..9247edfc6 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airborne.xml @@ -0,0 +1,18 @@ + + + + secicon_airborne + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassault.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassault.xml new file mode 100755 index 000000000..fb6faec2c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassault.xml @@ -0,0 +1,15 @@ + + + + secicon_airmobile_airassault + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassult.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassult.xml new file mode 100755 index 000000000..022f19f50 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_airmobile_airassult.xml @@ -0,0 +1,15 @@ + + + + SectorIcon airmobile_airassult + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ambush.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ambush.xml new file mode 100755 index 000000000..3b78d2218 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ambush.xml @@ -0,0 +1,45 @@ + + + + secicon_ambush + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ammunition.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ammunition.xml new file mode 100755 index 000000000..014dfc1dc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ammunition.xml @@ -0,0 +1,26 @@ + + + + secicon_ammunition + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amoured_tank.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amoured_tank.xml new file mode 100755 index 000000000..9bbcf9171 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amoured_tank.xml @@ -0,0 +1,26 @@ + + + + SectorIcon amoured/tank + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amphibious_warfare_ship.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amphibious_warfare_ship.xml new file mode 100755 index 000000000..ca387b369 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_amphibious_warfare_ship.xml @@ -0,0 +1,25 @@ + + + + secicon_amphibious_warfare_ship + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antenna.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antenna.xml new file mode 100755 index 000000000..d51bd5a63 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antenna.xml @@ -0,0 +1,20 @@ + + + + secicon_antennae + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antipersonnel_land_mine.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antipersonnel_land_mine.xml new file mode 100755 index 000000000..4e0d4b3db --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antipersonnel_land_mine.xml @@ -0,0 +1,23 @@ + + + + secicon_antipersonnel_land_mine + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antitank_land_mine.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antitank_land_mine.xml new file mode 100755 index 000000000..5eec2e5f8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_antitank_land_mine.xml @@ -0,0 +1,15 @@ + + + + secicon_antitank_land_mine + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_arctic.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_arctic.xml new file mode 100755 index 000000000..ad6bac396 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_arctic.xml @@ -0,0 +1,22 @@ + + + + secicon_arctic + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_armored_tank.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_armored_tank.xml new file mode 100755 index 000000000..2dd24ad1c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_armored_tank.xml @@ -0,0 +1,27 @@ + + + + secicon_armored_tank + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artic.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artic.xml new file mode 100755 index 000000000..e8bc28d73 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artic.xml @@ -0,0 +1,22 @@ + + + + SectorIcon Artic + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artillery.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artillery.xml new file mode 100755 index 000000000..569d5c2e8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_artillery.xml @@ -0,0 +1,14 @@ + + + + SectorIcon artillery + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation.xml new file mode 100755 index 000000000..3f843dcfd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation.xml @@ -0,0 +1,17 @@ + + + + secicon_aviation + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_rotary_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_rotary_wing.xml new file mode 100755 index 000000000..aee79d106 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_rotary_wing.xml @@ -0,0 +1,32 @@ + + + + secicon_aviation_fixed_rotary_wing + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_wing.xml new file mode 100755 index 000000000..1939628fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_fixed_wing.xml @@ -0,0 +1,25 @@ + + + + secicon_aviation_fixed_wing + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotary_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotary_wing.xml new file mode 100755 index 000000000..097a763c7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotary_wing.xml @@ -0,0 +1,17 @@ + + + + secicon_aviation_rotary_wing + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotory_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotory_wing.xml new file mode 100755 index 000000000..7cb2bcac4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_aviation_rotory_wing.xml @@ -0,0 +1,17 @@ + + + + secicon_aviation_rotory_wing + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_booby_trap.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_booby_trap.xml new file mode 100755 index 000000000..c8e6780f9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_booby_trap.xml @@ -0,0 +1,21 @@ + + + + secicon_booby_trap + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_bridging.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_bridging.xml new file mode 100755 index 000000000..82b0c7a51 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_bridging.xml @@ -0,0 +1,22 @@ + + + + secicon_bridging + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_carrier.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_carrier.xml new file mode 100755 index 000000000..edb5176c9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_carrier.xml @@ -0,0 +1,19 @@ + + + + secicon_carrier + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civ_mil_cooperation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civ_mil_cooperation.xml new file mode 100755 index 000000000..0d9f9a2db --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civ_mil_cooperation.xml @@ -0,0 +1,20 @@ + + + + secicon_civ_mil_cooperation + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_airship.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_airship.xml new file mode 100755 index 000000000..5178de0bf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_airship.xml @@ -0,0 +1,26 @@ + + + + secicon_civilian_airship + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_balloon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_balloon.xml new file mode 100755 index 000000000..7474f3703 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_balloon.xml @@ -0,0 +1,20 @@ + + + + secicon_civilian_balloon + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_fixed_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_fixed_wing.xml new file mode 100755 index 000000000..02816074c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_fixed_wing.xml @@ -0,0 +1,27 @@ + + + + secicon_civilian_fixed_wing + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_police.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_police.xml new file mode 100755 index 000000000..8f7e0babb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_police.xml @@ -0,0 +1,23 @@ + + + + secicon_civilian_police + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_rotary_wing.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_rotary_wing.xml new file mode 100755 index 000000000..7b30c6103 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_civilian_rotary_wing.xml @@ -0,0 +1,17 @@ + + + + secicon_civilian_rotary_wing + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combat_support.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combat_support.xml new file mode 100755 index 000000000..a40fd2136 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combat_support.xml @@ -0,0 +1,18 @@ + + + + secicon_combat_support + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combatant.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combatant.xml new file mode 100755 index 000000000..f5af755d3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combatant.xml @@ -0,0 +1,26 @@ + + + + secicon_combatant + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combined_arms.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combined_arms.xml new file mode 100755 index 000000000..8e3c0e6d5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_combined_arms.xml @@ -0,0 +1,26 @@ + + + + secicon_combined_arms + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_computer_system.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_computer_system.xml new file mode 100755 index 000000000..6b1cd486a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_computer_system.xml @@ -0,0 +1,25 @@ + + + + secicon_computer_system + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_control.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_control.xml new file mode 100755 index 000000000..d1efcdd45 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_control.xml @@ -0,0 +1,51 @@ + + + + secicon_control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_convoy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_convoy.xml new file mode 100755 index 000000000..f00b5db34 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_convoy.xml @@ -0,0 +1,21 @@ + + + + secicon_convoy + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_direct_communication.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_direct_communication.xml new file mode 100755 index 000000000..2236f2c79 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_direct_communication.xml @@ -0,0 +1,34 @@ + + + + secicon_direct_communication + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_diving.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_diving.xml new file mode 100755 index 000000000..a4eb222d7 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_diving.xml @@ -0,0 +1,37 @@ + + + + secicon_diving + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_drilling.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_drilling.xml new file mode 100755 index 000000000..a9ee6fbe2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_drilling.xml @@ -0,0 +1,16 @@ + + + + secicon_drilling + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_power.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_power.xml new file mode 100755 index 000000000..9f24f18c9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_power.xml @@ -0,0 +1,37 @@ + + + + secicon_electric_power + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_ranging.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_ranging.xml new file mode 100755 index 000000000..333abccc4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_electric_ranging.xml @@ -0,0 +1,23 @@ + + + + secicon_electric_ranging + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_engineer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_engineer.xml new file mode 100755 index 000000000..88f204de5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_engineer.xml @@ -0,0 +1,21 @@ + + + + secicon_engineer + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_environmental_protection.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_environmental_protection.xml new file mode 100755 index 000000000..0dfe347da --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_environmental_protection.xml @@ -0,0 +1,30 @@ + + + + secicon_environmental_protection + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_eplrs.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_eplrs.xml new file mode 100755 index 000000000..cc110e286 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_eplrs.xml @@ -0,0 +1,19 @@ + + + + secicon_eplrs + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_explosion.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_explosion.xml new file mode 100755 index 000000000..30b08c5e1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_explosion.xml @@ -0,0 +1,48 @@ + + + + secicon_explosion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_field_artillery_observer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_field_artillery_observer.xml new file mode 100755 index 000000000..dd097fb38 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_field_artillery_observer.xml @@ -0,0 +1,23 @@ + + + + secicon_field_artillery_observer + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_finance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_finance.xml new file mode 100755 index 000000000..a1067a217 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_finance.xml @@ -0,0 +1,23 @@ + + + + secicon_finance + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fire_prot_fighting.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fire_prot_fighting.xml new file mode 100755 index 000000000..6944f899a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fire_prot_fighting.xml @@ -0,0 +1,43 @@ + + + + secicon_fire_prot_fighting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fishing_vessel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fishing_vessel.xml new file mode 100755 index 000000000..8c7c1a6a5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_fishing_vessel.xml @@ -0,0 +1,29 @@ + + + + secicon_fishing_vessel + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_folding_girder_bridge.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_folding_girder_bridge.xml new file mode 100755 index 000000000..79c77ac5b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_folding_girder_bridge.xml @@ -0,0 +1,30 @@ + + + + secicon_folding_girder_bridge + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_hollow_deck_bridge.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_hollow_deck_bridge.xml new file mode 100755 index 000000000..a28effd5d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_hollow_deck_bridge.xml @@ -0,0 +1,29 @@ + + + + secicon_hollow_deck_bridge + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_individual.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_individual.xml new file mode 100755 index 000000000..ceadcba5d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_individual.xml @@ -0,0 +1,24 @@ + + + + secicon_individual + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_intermodal.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_intermodal.xml new file mode 100755 index 000000000..8d50c51cc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_intermodal.xml @@ -0,0 +1,31 @@ + + + + secicon_intermodal + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victim.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victim.xml new file mode 100755 index 000000000..f08d1ff51 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victim.xml @@ -0,0 +1,27 @@ + + + + secicon_killing_victim + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victims.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victims.xml new file mode 100755 index 000000000..c7a0491ec --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_killing_victims.xml @@ -0,0 +1,57 @@ + + + + secicon_killing_victims + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_labour.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_labour.xml new file mode 100755 index 000000000..d47fc2f68 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_labour.xml @@ -0,0 +1,28 @@ + + + + secicon_labour + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_land_mine.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_land_mine.xml new file mode 100755 index 000000000..e51599ca9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_land_mine.xml @@ -0,0 +1,15 @@ + + + + secicon_land_mine + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher.xml new file mode 100755 index 000000000..3bccf9ead --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher.xml @@ -0,0 +1,15 @@ + + + + secicon_launcher + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher_land_eq.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher_land_eq.xml new file mode 100755 index 000000000..4de46f735 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_launcher_land_eq.xml @@ -0,0 +1,31 @@ + + + + secicon_launcher_land_eq + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laundry_bath.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laundry_bath.xml new file mode 100755 index 000000000..74e6b736f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laundry_bath.xml @@ -0,0 +1,24 @@ + + + + secicon_laundry_bath + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_law_enforcement_vessel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_law_enforcement_vessel.xml new file mode 100755 index 000000000..fda8b297f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_law_enforcement_vessel.xml @@ -0,0 +1,29 @@ + + + + secicon_law_enforcement_vessel + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laying.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laying.xml new file mode 100755 index 000000000..d0baa0365 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_laying.xml @@ -0,0 +1,30 @@ + + + + secicon_laying + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_jetski.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_jetski.xml new file mode 100755 index 000000000..155b2da41 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_jetski.xml @@ -0,0 +1,23 @@ + + + + secicon_leisure_craft_jetski + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_motorized.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_motorized.xml new file mode 100755 index 000000000..47a169686 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_motorized.xml @@ -0,0 +1,22 @@ + + + + secicon_leisure_craft_motorized + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_sailing_boat.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_sailing_boat.xml new file mode 100755 index 000000000..80b568e78 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_leisure_craft_sailing_boat.xml @@ -0,0 +1,28 @@ + + + + secicon_leisure_craft_sailing_boat + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_maintenance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_maintenance.xml new file mode 100755 index 000000000..07c2fcbcd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_maintenance.xml @@ -0,0 +1,22 @@ + + + + secicon_maintenance + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_major_end.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_major_end.xml new file mode 100755 index 000000000..6fc1bca4a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_major_end.xml @@ -0,0 +1,23 @@ + + + + secicon_major_end + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mass_grave_site.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mass_grave_site.xml new file mode 100755 index 000000000..1cb9792ee --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mass_grave_site.xml @@ -0,0 +1,55 @@ + + + + secicon_mass_grave_site + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_medical_evacuation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_medical_evacuation.xml new file mode 100755 index 000000000..af4c7f3ef --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_medical_evacuation.xml @@ -0,0 +1,26 @@ + + + + secicon_medical_evacuation + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_merchant_ship_general.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_merchant_ship_general.xml new file mode 100755 index 000000000..bc9d7403c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_merchant_ship_general.xml @@ -0,0 +1,21 @@ + + + + secicon_merchant_ship_general + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_airship.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_airship.xml new file mode 100755 index 000000000..48f58b3cd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_airship.xml @@ -0,0 +1,26 @@ + + + + secicon_military_airship + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_balloon.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_balloon.xml new file mode 100755 index 000000000..c454ffe4c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_balloon.xml @@ -0,0 +1,22 @@ + + + + secicon_military_balloon + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_jetski.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_jetski.xml new file mode 100755 index 000000000..100de533c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_jetski.xml @@ -0,0 +1,22 @@ + + + + secicon_military_jetski + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat.xml new file mode 100755 index 000000000..9093089c9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat.xml @@ -0,0 +1,21 @@ + + + + secicon_military_speedboat + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat_rigid_hull_inflatable_boat.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat_rigid_hull_inflatable_boat.xml new file mode 100755 index 000000000..4c910b940 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_military_speedboat_rigid_hull_inflatable_boat.xml @@ -0,0 +1,21 @@ + + + + secicon_military_speedboat_rigid_hull_inflatable_boat + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine.xml new file mode 100755 index 000000000..279d82fd4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine.xml @@ -0,0 +1,26 @@ + + + + secicon_mine + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_clearing_le.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_clearing_le.xml new file mode 100755 index 000000000..f2d032f7c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_clearing_le.xml @@ -0,0 +1,20 @@ + + + + secicon_mine_clearing_le + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_warfare_vessel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_warfare_vessel.xml new file mode 100755 index 000000000..28466d070 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mine_warfare_vessel.xml @@ -0,0 +1,35 @@ + + + + secicon_mine_warfare_vessel + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_missile.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_missile.xml new file mode 100755 index 000000000..adbd4c9bd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_missile.xml @@ -0,0 +1,28 @@ + + + + secicon_missile + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mobile_advisor_support.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mobile_advisor_support.xml new file mode 100755 index 000000000..6a98dd0f5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mobile_advisor_support.xml @@ -0,0 +1,32 @@ + + + + secicon_mobile_advisor_support + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortar.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortar.xml new file mode 100755 index 000000000..c36ba0925 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortar.xml @@ -0,0 +1,22 @@ + + + + secicon_mortar + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortuary_affairs.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortuary_affairs.xml new file mode 100755 index 000000000..7f370cd9b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mortuary_affairs.xml @@ -0,0 +1,24 @@ + + + + secicon_mortuary_affairs + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mountain.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mountain.xml new file mode 100755 index 000000000..e3ec042db --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_mountain.xml @@ -0,0 +1,15 @@ + + + + secicon_mountain + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_multiple_rocket_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_multiple_rocket_launcher.xml new file mode 100755 index 000000000..76bfa853c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_multiple_rocket_launcher.xml @@ -0,0 +1,20 @@ + + + + secicon_multiple_rocket_launcher + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_naval.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_naval.xml new file mode 100755 index 000000000..76fd0a59f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_naval.xml @@ -0,0 +1,40 @@ + + + + secicon_naval + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_navy_task_organisation_unit.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_navy_task_organisation_unit.xml new file mode 100755 index 000000000..ae597bb7b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_navy_task_organisation_unit.xml @@ -0,0 +1,22 @@ + + + + secicon_navy_task_organisation_unit + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nbc_defense.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nbc_defense.xml new file mode 100755 index 000000000..e1f2f2812 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nbc_defense.xml @@ -0,0 +1,26 @@ + + + + secicon_nbc_defense + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_noncombatant.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_noncombatant.xml new file mode 100755 index 000000000..262bebd4b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_noncombatant.xml @@ -0,0 +1,21 @@ + + + + secicon_noncombatant + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nuclear.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nuclear.xml new file mode 100755 index 000000000..3fcdadf89 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_nuclear.xml @@ -0,0 +1,48 @@ + + + + secicon_nuclear + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_observer.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_observer.xml new file mode 100755 index 000000000..c5b71de72 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_observer.xml @@ -0,0 +1,15 @@ + + + + secicon_observer + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ordnance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ordnance.xml new file mode 100755 index 000000000..3332e6f00 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ordnance.xml @@ -0,0 +1,32 @@ + + + + secicon_ordnance + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_organization_or_group.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_organization_or_group.xml new file mode 100755 index 000000000..690c1a4ff --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_organization_or_group.xml @@ -0,0 +1,50 @@ + + + + secicon_organization_or_group + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrol.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrol.xml new file mode 100755 index 000000000..114ae44e2 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrol.xml @@ -0,0 +1,22 @@ + + + + secicon_patrol + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrolling.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrolling.xml new file mode 100755 index 000000000..4ef9f493c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_patrolling.xml @@ -0,0 +1,32 @@ + + + + secicon_patrolling + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_personal_demand.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_personal_demand.xml new file mode 100755 index 000000000..f1eb37f40 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_personal_demand.xml @@ -0,0 +1,28 @@ + + + + secicon_personal_demand + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_petroleum_oil.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_petroleum_oil.xml new file mode 100755 index 000000000..a02da7e66 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_petroleum_oil.xml @@ -0,0 +1,20 @@ + + + + secicon_petroleum_oil + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_pipeline.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_pipeline.xml new file mode 100755 index 000000000..f1ef58647 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_pipeline.xml @@ -0,0 +1,50 @@ + + + + secicon_pipeline + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_poisoning.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_poisoning.xml new file mode 100755 index 000000000..cca82e754 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_poisoning.xml @@ -0,0 +1,24 @@ + + + + secicon_poisoning + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_postal.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_postal.xml new file mode 100755 index 000000000..27211741f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_postal.xml @@ -0,0 +1,24 @@ + + + + secicon_postal + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_print_media.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_print_media.xml new file mode 100755 index 000000000..fb740bb4e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_print_media.xml @@ -0,0 +1,22 @@ + + + + secicon_print_media + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops.xml new file mode 100755 index 000000000..f45489f87 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops.xml @@ -0,0 +1,37 @@ + + + + secicon_psych_ops + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops_radio_tv.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops_radio_tv.xml new file mode 100755 index 000000000..ac308b2f9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_psych_ops_radio_tv.xml @@ -0,0 +1,45 @@ + + + + secicon_psych_ops_radio_tv + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_quartermaster.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_quartermaster.xml new file mode 100755 index 000000000..62cea56c5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_quartermaster.xml @@ -0,0 +1,32 @@ + + + + secicon_quartermaster + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radar.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radar.xml new file mode 100755 index 000000000..a19c20336 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radar.xml @@ -0,0 +1,21 @@ + + + + secicon_radar + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio.xml new file mode 100755 index 000000000..7c3e5045a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio.xml @@ -0,0 +1,29 @@ + + + + secicon_radio + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_relay.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_relay.xml new file mode 100755 index 000000000..0ee407fc1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_relay.xml @@ -0,0 +1,23 @@ + + + + secicon_radio_relay + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_teletype_centre.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_teletype_centre.xml new file mode 100755 index 000000000..b9426d7fa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radio_teletype_centre.xml @@ -0,0 +1,29 @@ + + + + secicon_radio_teletype_centre + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radiorelay.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radiorelay.xml new file mode 100755 index 000000000..caf35e0b8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_radiorelay.xml @@ -0,0 +1,23 @@ + + + + secicon_radiorelay + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_recovery_us.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_recovery_us.xml new file mode 100755 index 000000000..102b925e8 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_recovery_us.xml @@ -0,0 +1,14 @@ + + + + secicon_recovery_us + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_repair_parts.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_repair_parts.xml new file mode 100755 index 000000000..7bf948147 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_repair_parts.xml @@ -0,0 +1,51 @@ + + + + secicon_repair_parts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_riverine.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_riverine.xml new file mode 100755 index 000000000..38850818d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_riverine.xml @@ -0,0 +1,18 @@ + + + + secicon_riverine + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_roadblock.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_roadblock.xml new file mode 100755 index 000000000..9665f3f62 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_roadblock.xml @@ -0,0 +1,27 @@ + + + + secicon_roadblock + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_runway.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_runway.xml new file mode 100755 index 000000000..fd3294443 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_runway.xml @@ -0,0 +1,19 @@ + + + + secicon_runway + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_combatant_line.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_combatant_line.xml new file mode 100755 index 000000000..5c13b1aab --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_combatant_line.xml @@ -0,0 +1,36 @@ + + + + secicon_sea_surface_combatant_line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_decoy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_decoy.xml new file mode 100755 index 000000000..ff43fed2f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sea_surface_decoy.xml @@ -0,0 +1,30 @@ + + + + secicon_sea_surface_decoy + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_searching.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_searching.xml new file mode 100755 index 000000000..5c0fcd0e3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_searching.xml @@ -0,0 +1,37 @@ + + + + secicon_searching + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor.xml new file mode 100755 index 000000000..d06354e66 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor.xml @@ -0,0 +1,51 @@ + + + + secicon_sensor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor_emplaced.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor_emplaced.xml new file mode 100755 index 000000000..a20d64474 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sensor_emplaced.xml @@ -0,0 +1,61 @@ + + + + secicon_sensor_emplaced + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_signals_intelligence.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_signals_intelligence.xml new file mode 100755 index 000000000..cc5879a34 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_signals_intelligence.xml @@ -0,0 +1,24 @@ + + + + secicon_signals_intelligence + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_single_rocket_launcher.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_single_rocket_launcher.xml new file mode 100755 index 000000000..0d1189518 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_single_rocket_launcher.xml @@ -0,0 +1,15 @@ + + + + secicon_single_rocket_launcher + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ski.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ski.xml new file mode 100755 index 000000000..8063983d0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_ski.xml @@ -0,0 +1,27 @@ + + + + secicon_ski + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sniper.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sniper.xml new file mode 100755 index 000000000..ba187933a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_sniper.xml @@ -0,0 +1,23 @@ + + + + secicon_sniper + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_subsistence.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_subsistence.xml new file mode 100755 index 000000000..61939a7a4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_subsistence.xml @@ -0,0 +1,19 @@ + + + + secicon_subsistence + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_surveillance.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_surveillance.xml new file mode 100755 index 000000000..fabbba6f3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_surveillance.xml @@ -0,0 +1,16 @@ + + + + secicon_surveillance + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_survey.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_survey.xml new file mode 100755 index 000000000..f8245b188 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_survey.xml @@ -0,0 +1,21 @@ + + + + secicon_survey + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_tactical_satellite.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_tactical_satellite.xml new file mode 100755 index 000000000..b7c2110c0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_tactical_satellite.xml @@ -0,0 +1,47 @@ + + + + secicon_tactical_satellite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_telecommunication_civilian.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_telecommunication_civilian.xml new file mode 100755 index 000000000..297e0c0f5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_telecommunication_civilian.xml @@ -0,0 +1,33 @@ + + + + secicon_telecommunication_civilian + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_topographic.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_topographic.xml new file mode 100755 index 000000000..b3f018dc1 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_topographic.xml @@ -0,0 +1,26 @@ + + + + secicon_topographic + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_transportation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_transportation.xml new file mode 100755 index 000000000..7f6b03561 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_transportation.xml @@ -0,0 +1,33 @@ + + + + secicon_transportation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_surface_water_vehicle.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_surface_water_vehicle.xml new file mode 100755 index 000000000..c93142ded --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_surface_water_vehicle.xml @@ -0,0 +1,20 @@ + + + + secicon_unmanned_surface_water_vehicle + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_systems.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_systems.xml new file mode 100755 index 000000000..c9af04333 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_unmanned_systems.xml @@ -0,0 +1,19 @@ + + + + secicon_unmanned_systems + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_victim_of_an_attempted_crime.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_victim_of_an_attempted_crime.xml new file mode 100755 index 000000000..c3d3162e3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_victim_of_an_attempted_crime.xml @@ -0,0 +1,28 @@ + + + + secicon_victim_of_an_attempted_crime + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_video_imagery.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_video_imagery.xml new file mode 100755 index 000000000..59a1acd31 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_video_imagery.xml @@ -0,0 +1,33 @@ + + + + secicon_video_imagery + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water.xml new file mode 100755 index 000000000..caa70f463 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water.xml @@ -0,0 +1,30 @@ + + + + secicon_water + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water_purifikation.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water_purifikation.xml new file mode 100755 index 000000000..4cb087cdc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_water_purifikation.xml @@ -0,0 +1,35 @@ + + + + secicon_water_purifikation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_wheel.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_wheel.xml new file mode 100755 index 000000000..8a9429759 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/sectoricon/secicon_wheel.xml @@ -0,0 +1,24 @@ + + + + secicon_wheeled + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_enemy.xml new file mode 100755 index 000000000..20087a976 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_enemy.xml @@ -0,0 +1,49 @@ + + + + Frame Activity Enemy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_friend.xml new file mode 100755 index 000000000..f16e6b954 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_friend.xml @@ -0,0 +1,39 @@ + + + + Frame Activity Friend + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_neutral.xml new file mode 100755 index 000000000..be73eb748 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_neutral.xml @@ -0,0 +1,39 @@ + + + + Frame Activity Neutral + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_unknown.xml new file mode 100755 index 000000000..ff4efd9ed --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_activity_unknown.xml @@ -0,0 +1,59 @@ + + + + Frame Activity Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_enemy.xml new file mode 100755 index 000000000..3cbf6be14 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_enemy.xml @@ -0,0 +1,17 @@ + + + + Frame Air/Space Enemy + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_friend.xml new file mode 100755 index 000000000..e888a5d66 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_friend.xml @@ -0,0 +1,15 @@ + + + + Frame Air/Space Friend + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_neutral.xml new file mode 100755 index 000000000..5aa84145b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_neutral.xml @@ -0,0 +1,17 @@ + + + + Frame Air/Space Neutral + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_unknown.xml new file mode 100755 index 000000000..5e0dd00af --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_airspace_unknown.xml @@ -0,0 +1,30 @@ + + + + Frame Air/Space Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_enemy.xml new file mode 100755 index 000000000..5054f58c4 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_enemy.xml @@ -0,0 +1,17 @@ + + + + Frame Land/Equipment Enemy + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_friend.xml new file mode 100755 index 000000000..ddd145899 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_friend.xml @@ -0,0 +1,15 @@ + + + + Frame Land/Equipment Friend + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_neutral.xml new file mode 100755 index 000000000..fa575e880 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_neutral.xml @@ -0,0 +1,15 @@ + + + + Frame Land/Equipment Neutral + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_unknown.xml new file mode 100755 index 000000000..aaa4068fd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landequipment_unknown.xml @@ -0,0 +1,35 @@ + + + + Frame Land/Equipment Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_enemy.xml new file mode 100755 index 000000000..ffcb0575d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_enemy.xml @@ -0,0 +1,17 @@ + + + + Frame Land/Units Enemy + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_friend.xml new file mode 100755 index 000000000..035fea6cd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_friend.xml @@ -0,0 +1,15 @@ + + + + Frame Land/Units Friend + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_neutral.xml new file mode 100755 index 000000000..1762fc68b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_neutral.xml @@ -0,0 +1,15 @@ + + + + Frame Land/Units Neutral + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_unknown.xml new file mode 100755 index 000000000..f00ce309e --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_landunits_unknown.xml @@ -0,0 +1,35 @@ + + + + Frame Land/Units Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_enemy.xml new file mode 100755 index 000000000..920e00eec --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_enemy.xml @@ -0,0 +1,16 @@ + + + + Frame Overwater Enemy + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_friend.xml new file mode 100755 index 000000000..8e15b70e3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_friend.xml @@ -0,0 +1,14 @@ + + + + Frame Overwater Friend + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_neutral.xml new file mode 100755 index 000000000..688fad164 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_neutral.xml @@ -0,0 +1,15 @@ + + + + Frame Overwater Neutral + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_unknown.xml new file mode 100755 index 000000000..41e72fc0c --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_overwater_unknown.xml @@ -0,0 +1,35 @@ + + + + Frame Overwater Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_enemy.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_enemy.xml new file mode 100755 index 000000000..9b7f5f232 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_enemy.xml @@ -0,0 +1,17 @@ + + + + Frame Underwater Enemy + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_friend.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_friend.xml new file mode 100755 index 000000000..b2e042933 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_friend.xml @@ -0,0 +1,14 @@ + + + + Frame Underwater Friend + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_neutral.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_neutral.xml new file mode 100755 index 000000000..4b8839211 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_neutral.xml @@ -0,0 +1,16 @@ + + + + Frame Underwater Neutral + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_unknown.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_unknown.xml new file mode 100755 index 000000000..4329c9149 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/symbolframes/frame_underwater_unknown.xml @@ -0,0 +1,30 @@ + + + + Frame Underwater Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_infantry.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_infantry.xml new file mode 100755 index 000000000..d8062c3c5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_infantry.xml @@ -0,0 +1,23 @@ + + + + Vehicle amored infantry + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_tank.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_tank.xml new file mode 100755 index 000000000..5d22c7827 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_armored_tank.xml @@ -0,0 +1,25 @@ + + + + Vehicle Armored Tank + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_carrier.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_carrier.xml new file mode 100755 index 000000000..99dd75348 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_carrier.xml @@ -0,0 +1,20 @@ + + + + Vehicle carrier + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_earthmover.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_earthmover.xml new file mode 100755 index 000000000..ed46dc5dd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_earthmover.xml @@ -0,0 +1,38 @@ + + + + vehicle_earthmover + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_semi_trailer_truck.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_semi_trailer_truck.xml new file mode 100755 index 000000000..9291111cb --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_semi_trailer_truck.xml @@ -0,0 +1,30 @@ + + + + vehicle_semi_trailer_truck + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_train_locomotive.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_train_locomotive.xml new file mode 100755 index 000000000..ef24b73ba --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_train_locomotive.xml @@ -0,0 +1,21 @@ + + + + vehicle_train_locomotive + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicleA.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicleA.xml new file mode 100755 index 000000000..ad11fec39 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicleA.xml @@ -0,0 +1,20 @@ + + + + Vehicle Utility Vehicle Typ A + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicle_armored.xml b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicle_armored.xml new file mode 100755 index 000000000..87e54fa0f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/Symbole/Attributes/vehicle/vehicle_util_vehicle_armored.xml @@ -0,0 +1,29 @@ + + + + Vehicle Utility Vehicle Armored + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/SymbologyXML.qrc b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/SymbologyXML.qrc new file mode 100755 index 000000000..1ac5270b9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/SymbologyXML.qrc @@ -0,0 +1,692 @@ + + + Symbole/AddOnSymbole/LineTopLeft.xml + Symbole/AddOnSymbole/LineTopRight.xml + Symbole/AddOnSymbole/Manipulation.xml + Symbole/AddOnSymbole/mineActivated.xml + Symbole/AddOnSymbole/mineDeactivated.xml + Symbole/AddOnSymbole/NoPosition.xml + Symbole/AddOnSymbole/singleFire.xml + Symbole/AddOnSymbole/smartFire.xml + Symbole/AddOnSymbole/vbgFireKill.xml + Symbole/AddOnSymbole/vbgHit.xml + Symbole/AddOnSymbole/TerrainMarker.xml + Symbole/AddOnSymbole/vbgMobilityKill.xml + Symbole/AddOnSymbole/TextboxAnchor.xml + Symbole/AddOnSymbole/WeaponFirePoint.xml + Symbole/AddOnSymbole/BiteError.xml + Symbole/Attributes/commandlevel/cl_squad.xml + Symbole/Attributes/commandlevel/cl_section.xml + Symbole/Attributes/commandlevel/cl_platoon.xml + Symbole/Attributes/commandlevel/cl_squadron.xml + Symbole/Attributes/commandlevel/cl_company.xml + Symbole/Attributes/commandlevel/cl_battalion.xml + Symbole/Attributes/commandlevel/cl_regiment.xml + Symbole/Attributes/commandlevel/cl_brigade.xml + Symbole/Attributes/commandlevel/cl_division.xml + Symbole/Attributes/commandlevel/cl_crew.xml + Symbole/Attributes/bcdab/bcdab_army_group.xml + Symbole/Attributes/bcdab/bcdab_army.xml + Symbole/Attributes/bcdab/bcdab_battalion.xml + Symbole/Attributes/bcdab/bcdab_brigade.xml + Symbole/Attributes/bcdab/bcdab_company.xml + Symbole/Attributes/bcdab/bcdab_corps.xml + Symbole/Attributes/bcdab/bcdab_crew.xml + Symbole/Attributes/bcdab/bcdab_division.xml + Symbole/Attributes/bcdab/bcdab_dummy.xml + Symbole/Attributes/bcdab/bcdab_installation.xml + Symbole/Attributes/bcdab/bcdab_platoon.xml + Symbole/Attributes/bcdab/bcdab_regiment.xml + Symbole/Attributes/bcdab/bcdab_region.xml + Symbole/Attributes/bcdab/bcdab_section.xml + Symbole/Attributes/bcdab/bcdab_squadron.xml + Symbole/Attributes/bcdab/bcdab_squad.xml + Symbole/Attributes/bcdab/bcdab_task_force.xml + Symbole/Attributes/bcdab/bcdab_command.xml + Symbole/Attributes/bcdab/bcdab_task_force_company.xml + Symbole/Attributes/bcdab/bcdab_task_force_battalion.xml + Symbole/Attributes/bcdab/bcdab_task_force_brigade.xml + + Symbole/Attributes/symbolframes/frame_airspace_friend.xml + Symbole/Attributes/symbolframes/frame_airspace_unknown.xml + Symbole/Attributes/symbolframes/frame_airspace_neutral.xml + Symbole/Attributes/symbolframes/frame_airspace_enemy.xml + Symbole/Attributes/symbolframes/frame_overwater_unknown.xml + Symbole/Attributes/symbolframes/frame_overwater_neutral.xml + Symbole/Attributes/symbolframes/frame_overwater_friend.xml + Symbole/Attributes/symbolframes/frame_overwater_enemy.xml + Symbole/Attributes/symbolframes/frame_underwater_enemy.xml + Symbole/Attributes/symbolframes/frame_underwater_neutral.xml + Symbole/Attributes/symbolframes/frame_underwater_friend.xml + Symbole/Attributes/symbolframes/frame_underwater_unknown.xml + Symbole/Attributes/symbolframes/frame_landunits_neutral.xml + Symbole/Attributes/symbolframes/frame_landunits_enemy.xml + Symbole/Attributes/symbolframes/frame_landunits_unknown.xml + Symbole/Attributes/symbolframes/frame_landunits_friend.xml + Symbole/Attributes/symbolframes/frame_landequipment_friend.xml + Symbole/Attributes/symbolframes/frame_landequipment_unknown.xml + Symbole/Attributes/symbolframes/frame_landequipment_enemy.xml + Symbole/Attributes/symbolframes/frame_landequipment_neutral.xml + Symbole/Attributes/symbolframes/frame_activity_neutral.xml + Symbole/Attributes/symbolframes/frame_activity_enemy.xml + Symbole/Attributes/symbolframes/frame_activity_unknown.xml + Symbole/Attributes/symbolframes/frame_activity_friend.xml + + Symbole/Attributes/mobility/mob_airborne.xml + Symbole/Attributes/mobility/mob_amphibious.xml + Symbole/Attributes/mobility/mob_barge.xml + Symbole/Attributes/mobility/mob_bicycle_equipped.xml + Symbole/Attributes/mobility/mob_over_snow.xml + Symbole/Attributes/mobility/mob_pack_animals.xml + Symbole/Attributes/mobility/mob_semi_trailer.xml + Symbole/Attributes/mobility/mob_sled.xml + Symbole/Attributes/mobility/mob_tracked.xml + Symbole/Attributes/mobility/mob_trailer.xml + Symbole/Attributes/mobility/mob_train.xml + Symbole/Attributes/mobility/mob_wheel.xml + Symbole/Attributes/mobility/mob_wheeled_and_tracked.xml + Symbole/Attributes/mobility/mob_wheel_all_terrain.xml + + + Symbole/Attributes/vehicle/vehicle_util_vehicleA.xml + + Symbole/Attributes/vehicle/vehicle_util_vehicle_armored.xml + Symbole/Attributes/vehicle/vehicle_armored_infantry.xml + + Symbole/Attributes/vehicle/vehicle_carrier.xml + Symbole/Attributes/vehicle/vehicle_armored_tank.xml + Symbole/Attributes/vehicle/vehicle_earthmover.xml + Symbole/Attributes/vehicle/vehicle_semi_trailer_truck.xml + Symbole/Attributes/vehicle/vehicle_train_locomotive.xml + + Symbole/Attributes/intrinsicmobility/intrinsicmob_wheel.xml + Symbole/Attributes/intrinsicmobility/mob_trailer.xml + Symbole/Attributes/intrinsicmobility/mob_train.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_amphibious.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_semi_trailer.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_barge.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_over_snow.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_sled.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_tracked.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_cross_country.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_limited_mobility.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_wheeled_and_tracked.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_airborne.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_bicycle_equipped.xml + Symbole/Attributes/intrinsicmobility/intrinsicmob_packanimal.xml + + Symbole/Attributes/arming/arming_gun.xml + Symbole/Attributes/arming/arming_auto_weapon.xml + Symbole/Attributes/arming/arming_ATGun.xml + Symbole/Attributes/arming/arming_ADGun.xml + Symbole/Attributes/arming/arming_morter.xml + Symbole/Attributes/arming/arming_howitzer.xml + Symbole/Attributes/arming/arming_rocket.xml + Symbole/Attributes/arming/arming_missile.xml + Symbole/Attributes/arming/arming_machine_gun.xml + Symbole/Attributes/arming/arming_flame_thrower.xml + Symbole/Attributes/arming/arming_air_defence_missile_launcher.xml + Symbole/Attributes/arming/arming_antitank_missile_launcher.xml + Symbole/Attributes/arming/arming_surface_to_surface_missile_launcher.xml + Symbole/Attributes/arming/arming_antitank_rocket_launcher.xml + Symbole/Attributes/arming/arming_non_lethal_weapon.xml + Symbole/Attributes/arming/arming_laser.xml + Symbole/Attributes/arming/arming_grenade_launcher.xml + + + + Symbole/Attributes/sectoricon/secicon_air_traffic_services.xml + + Symbole/Attributes/sectoricon/secicon_ammunition.xml + Symbole/Attributes/sectoricon/secicon_armored_tank.xml + Symbole/Attributes/sectoricon/secicon_artillery.xml + Symbole/Attributes/sectoricon/secicon_aviation.xml + Symbole/Attributes/sectoricon/secicon_aviation_fixed_wing.xml + Symbole/Attributes/sectoricon/secicon_aviation_fixed_rotary_wing.xml + Symbole/Attributes/sectoricon/secicon_nbc_defense.xml + Symbole/Attributes/sectoricon/secicon_civ_mil_cooperation.xml + Symbole/Attributes/sectoricon/secicon_combat_support.xml + Symbole/Attributes/sectoricon/secicon_combined_arms.xml + Symbole/Attributes/sectoricon/secicon_diving.xml + Symbole/Attributes/sectoricon/secicon_drilling.xml + Symbole/Attributes/sectoricon/secicon_electric_ranging.xml + Symbole/Attributes/sectoricon/secicon_engineer.xml + Symbole/Attributes/sectoricon/secicon_field_artillery_observer.xml + + Symbole/Attributes/sectoricon/secicon_finance.xml + Symbole/Attributes/sectoricon/secicon_fire_prot_fighting.xml + Symbole/Attributes/sectoricon/secicon_labour.xml + Symbole/Attributes/sectoricon/secicon_laundry_bath.xml + + Symbole/Attributes/sectoricon/secicon_maintenance.xml + + Symbole/Attributes/sectoricon/secicon_mine.xml + + + + + Symbole/Attributes/sectoricon/secicon_missile.xml + Symbole/Attributes/sectoricon/secicon_mortar.xml + + Symbole/Attributes/sectoricon/secicon_mortuary_affairs.xml + Symbole/Attributes/sectoricon/secicon_naval.xml + Symbole/Attributes/sectoricon/secicon_observer.xml + Symbole/Attributes/sectoricon/secicon_ordnance.xml + Symbole/Attributes/sectoricon/secicon_petroleum_oil.xml + Symbole/Attributes/sectoricon/secicon_pipeline.xml + Symbole/Attributes/sectoricon/secicon_postal.xml + Symbole/Attributes/sectoricon/secicon_psych_ops.xml + Symbole/Attributes/sectoricon/secicon_quartermaster.xml + Symbole/Attributes/sectoricon/secicon_radar.xml + Symbole/Attributes/sectoricon/secicon_radio.xml + Symbole/Attributes/sectoricon/secicon_radio_relay.xml + Symbole/Attributes/sectoricon/secicon_radio_teletype_centre.xml + + + + + + Symbole/Attributes/sectoricon/secicon_sensor.xml + Symbole/Attributes/sectoricon/secicon_sniper.xml + Symbole/Attributes/sectoricon/secicon_surveillance.xml + Symbole/Attributes/sectoricon/secicon_survey.xml + Symbole/Attributes/sectoricon/secicon_tactical_satellite.xml + Symbole/Attributes/sectoricon/secicon_topographic.xml + Symbole/Attributes/sectoricon/secicon_transportation.xml + Symbole/Attributes/sectoricon/secicon_unmanned_systems.xml + Symbole/Attributes/sectoricon/secicon_video_imagery.xml + Symbole/Attributes/sectoricon/secicon_water.xml + + Symbole/Attributes/sectoricon/secicon_aviation_rotary_wing.xml + Symbole/Attributes/sectoricon/secicon_psych_ops_radio_tv.xml + + + Symbole/Attributes/sectoricon/secicon_subsistence.xml + Symbole/Attributes/sectoricon/secicon_personal_demand.xml + Symbole/Attributes/sectoricon/secicon_major_end.xml + Symbole/Attributes/sectoricon/secicon_repair_parts.xml + + + Symbole/Attributes/sectoricon/secicon_civilian_police.xml + Symbole/Attributes/sectoricon/secicon_environmental_protection.xml + Symbole/Attributes/sectoricon/secicon_individual.xml + Symbole/Attributes/sectoricon/secicon_organization_or_group.xml + Symbole/Attributes/sectoricon/secicon_killing_victim.xml + Symbole/Attributes/sectoricon/secicon_killing_victims.xml + Symbole/Attributes/sectoricon/secicon_victim_of_an_attempted_crime.xml + + + Symbole/Attributes/sectoricon/secicon_medical_evacuation.xml + Symbole/Attributes/sectoricon/secicon_folding_girder_bridge.xml + Symbole/Attributes/sectoricon/secicon_hollow_deck_bridge.xml + Symbole/Attributes/sectoricon/secicon_mine_clearing_le.xml + + Symbole/Attributes/sectoricon/secicon_computer_system.xml + Symbole/Attributes/sectoricon/secicon_land_mine.xml + Symbole/Attributes/sectoricon/secicon_antipersonnel_land_mine.xml + Symbole/Attributes/sectoricon/secicon_antitank_land_mine.xml + Symbole/Attributes/sectoricon/secicon_sensor_emplaced.xml + Symbole/Attributes/sectoricon/secicon_booby_trap.xml + Symbole/Attributes/sectoricon/secicon_antenna.xml + Symbole/Attributes/sectoricon/secicon_ambush.xml + Symbole/Attributes/sectoricon/secicon_roadblock.xml + Symbole/Attributes/sectoricon/secicon_patrolling.xml + Symbole/Attributes/sectoricon/secicon_searching.xml + Symbole/Attributes/sectoricon/secicon_poisoning.xml + Symbole/Attributes/sectoricon/secicon_explosion.xml + + + Symbole/Attributes/sectoricon/secicon_electric_power.xml + Symbole/Attributes/sectoricon/secicon_mass_grave_site.xml + Symbole/Attributes/sectoricon/secicon_nuclear.xml + Symbole/Attributes/sectoricon/secicon_print_media.xml + Symbole/Attributes/sectoricon/secicon_telecommunication_civilian.xml + + + + + Symbole/Attributes/sectoricon/secicon_civilian_fixed_wing.xml + + Symbole/Attributes/sectoricon/secicon_civilian_rotary_wing.xml + Symbole/Attributes/sectoricon/secicon_military_balloon.xml + Symbole/Attributes/sectoricon/secicon_civilian_balloon.xml + Symbole/Attributes/sectoricon/secicon_military_airship.xml + Symbole/Attributes/sectoricon/secicon_civilian_airship.xml + Symbole/Attributes/sectoricon/secicon_air_decoy.xml + + + + Symbole/Attributes/sectoricon/secicon_combatant.xml + Symbole/Attributes/sectoricon/secicon_sea_surface_combatant_line.xml + Symbole/Attributes/sectoricon/secicon_carrier.xml + Symbole/Attributes/sectoricon/secicon_amphibious_warfare_ship.xml + Symbole/Attributes/sectoricon/secicon_mine_warfare_vessel.xml + Symbole/Attributes/sectoricon/secicon_sea_surface_decoy.xml + Symbole/Attributes/sectoricon/secicon_patrol.xml + Symbole/Attributes/sectoricon/secicon_military_speedboat.xml + Symbole/Attributes/sectoricon/secicon_military_speedboat_rigid_hull_inflatable_boat.xml + Symbole/Attributes/sectoricon/secicon_military_jetski.xml + Symbole/Attributes/sectoricon/secicon_navy_task_organisation_unit.xml + Symbole/Attributes/sectoricon/secicon_convoy.xml + Symbole/Attributes/sectoricon/secicon_noncombatant.xml + Symbole/Attributes/sectoricon/secicon_merchant_ship_general.xml + Symbole/Attributes/sectoricon/secicon_fishing_vessel.xml + Symbole/Attributes/sectoricon/secicon_law_enforcement_vessel.xml + Symbole/Attributes/sectoricon/secicon_leisure_craft_sailing_boat.xml + Symbole/Attributes/sectoricon/secicon_leisure_craft_motorized.xml + Symbole/Attributes/sectoricon/secicon_leisure_craft_jetski.xml + Symbole/Attributes/sectoricon/secicon_unmanned_surface_water_vehicle.xml + + + Symbole/Attributes/sectoricon/secicon_airmobile_airassault.xml + Symbole/Attributes/sectoricon/secicon_bridging.xml + Symbole/Attributes/sectoricon/secicon_direct_communication.xml + Symbole/Attributes/sectoricon/secicon_mobile_advisor_support.xml + Symbole/Attributes/sectoricon/secicon_multiple_rocket_launcher.xml + Symbole/Attributes/sectoricon/secicon_signals_intelligence.xml + Symbole/Attributes/sectoricon/secicon_single_rocket_launcher.xml + Symbole/Attributes/sectoricon/secicon_runway.xml + + + Symbole/Attributes/sectoricon/secicon_laying.xml + + + + Symbole/Attributes/sectoricon/secicon_airborne.xml + Symbole/Attributes/sectoricon/secicon_arctic.xml + + Symbole/Attributes/sectoricon/secicon_control.xml + + Symbole/Attributes/sectoricon/secicon_eplrs.xml + Symbole/Attributes/sectoricon/secicon_intermodal.xml + Symbole/Attributes/sectoricon/secicon_launcher.xml + Symbole/Attributes/sectoricon/secicon_mountain.xml + + Symbole/Attributes/sectoricon/secicon_radiorelay.xml + Symbole/Attributes/sectoricon/secicon_recovery_us.xml + Symbole/Attributes/sectoricon/secicon_riverine.xml + Symbole/Attributes/sectoricon/secicon_ski.xml + + + Symbole/Attributes/sectoricon/secicon_launcher_land_eq.xml + + + + Symbole/Attributes/misc/misc_lightA.xml + Symbole/Attributes/misc/misc_mediumA.xml + Symbole/Attributes/misc/misc_heavyA.xml + Symbole/Attributes/misc/misc_lightB.xml + Symbole/Attributes/misc/misc_mediumB.xml + Symbole/Attributes/misc/misc_heavyB.xml + Symbole/Attributes/misc/misc_lightC.xml + Symbole/Attributes/misc/misc_mediumC.xml + Symbole/Attributes/misc/misc_heavyC.xml + Symbole/Attributes/misc/misc_arm_light.xml + Symbole/Attributes/misc/misc_arm_medium.xml + Symbole/Attributes/misc/misc_arm_heavy.xml + Symbole/Attributes/misc/misc_medical.xml + + + Symbole/Attributes/branch/tg_army_air_defense_airspace_enemy.xml + Symbole/Attributes/branch/tg_army_air_defense_airspace_friend.xml + Symbole/Attributes/branch/tg_army_air_defense.xml + Symbole/Attributes/branch/tg_army_air_defense_overwater_friend.xml + Symbole/Attributes/branch/tg_army_aviation.xml + Symbole/Attributes/branch/tg_artillery.xml + Symbole/Attributes/branch/tg_civil_military_coop.xml + Symbole/Attributes/branch/tg_engineer_troops.xml + Symbole/Attributes/branch/tg_infantry_airspace_enemy.xml + Symbole/Attributes/branch/tg_infantry_airspace_friend.xml + Symbole/Attributes/branch/tg_infantry_airspace_unknown.xml + Symbole/Attributes/branch/tg_infantry_overwater_unknown.xml + Symbole/Attributes/branch/tg_infantry_overwater_friend.xml + Symbole/Attributes/branch/tg_infantry_underwater_enemy.xml + Symbole/Attributes/branch/tg_infantry_underwater_friend.xml + Symbole/Attributes/branch/tg_infantry_underwater_unknown.xml + Symbole/Attributes/branch/tg_infantry.xml + Symbole/Attributes/branch/tg_medical_airspace_enemy.xml + Symbole/Attributes/branch/tg_medical_airspace_friend.xml + Symbole/Attributes/branch/tg_medical_airspace_unknown.xml + Symbole/Attributes/branch/tg_medical_landequipment_enemy.xml + Symbole/Attributes/branch/tg_medical_landequipment_friend.xml + Symbole/Attributes/branch/tg_medical_landequipment_unknown.xml + Symbole/Attributes/branch/tg_medical_landunits_enemy.xml + Symbole/Attributes/branch/tg_medical_landunits_unknown.xml + Symbole/Attributes/branch/tg_medical_overwater_enemy.xml + Symbole/Attributes/branch/tg_medical_overwater_friend.xml + Symbole/Attributes/branch/tg_medical_overwater_unknown.xml + Symbole/Attributes/branch/tg_medical_underwater_enemy.xml + Symbole/Attributes/branch/tg_medical_underwater_friend.xml + Symbole/Attributes/branch/tg_medical_underwater_unknown.xml + Symbole/Attributes/branch/tg_medical.xml + Symbole/Attributes/branch/tg_nbc_defense.xml + Symbole/Attributes/branch/tg_psyops.xml + Symbole/Attributes/branch/tg_reconnaissance_airspace_enemy.xml + Symbole/Attributes/branch/tg_reconnaissance_overwater_friend.xml + Symbole/Attributes/branch/tg_reconnaissance_underwater_enemy.xml + Symbole/Attributes/branch/tg_reconnaissance_underwater_friend.xml + Symbole/Attributes/branch/tg_reconnaissance.xml + Symbole/Attributes/branch/tg_signal_airspace_enemy.xml + Symbole/Attributes/branch/tg_signal_airspace_friend.xml + Symbole/Attributes/branch/tg_signal_landequipment_enemy.xml + Symbole/Attributes/branch/tg_signal_landunits_enemy.xml + Symbole/Attributes/branch/tg_signal_overwater_enemy.xml + Symbole/Attributes/branch/tg_signal_overwater_friend.xml + Symbole/Attributes/branch/tg_signal_underwater_enemy.xml + Symbole/Attributes/branch/tg_signal_underwater_friend.xml + Symbole/Attributes/branch/tg_signal.xml + Symbole/Attributes/branch/tg_supply.xml + Symbole/Attributes/branch/tg_supply_overwater_friend.xml + Symbole/Attributes/branch/tg_tank.xml + + + Symbole/Attributes/branch/branch_air_assault_with_organic_lift.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_enemy.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landunits_unknown.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_enemy.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_unknown.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_landequipment_friend.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_enemy.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_unknown.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_overwater_friend.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_enemy.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_unknown.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_underwater_friend.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_enemy.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_unknown.xml + Symbole/Attributes/branch/branch_air_assault_with_organic_lift_airspace_friend.xml + + Symbole/Attributes/branch/branch_air_defence.xml + Symbole/Attributes/branch/branch_air_defence_landunits_unknown.xml + Symbole/Attributes/branch/branch_air_defence_landunits_enemy.xml + Symbole/Attributes/branch/branch_air_defence_landunits_friend.xml + Symbole/Attributes/branch/branch_air_defence_landequipment_unknown.xml + Symbole/Attributes/branch/branch_air_defence_landequipment_friend.xml + Symbole/Attributes/branch/branch_air_defence_overwater_unknown.xml + Symbole/Attributes/branch/branch_air_defence_overwater_friend.xml + Symbole/Attributes/branch/branch_air_defence_underwater_unknown.xml + Symbole/Attributes/branch/branch_air_defence_underwater_friend.xml + Symbole/Attributes/branch/branch_air_defence_airspace_unknown.xml + Symbole/Attributes/branch/branch_air_defence_airspace_friend.xml + + + + Symbole/Attributes/branch/branch_amphibious.xml + Symbole/Attributes/branch/branch_amphibious_landunits_unknown.xml + Symbole/Attributes/branch/branch_amphibious_landunits_enemy.xml + Symbole/Attributes/branch/branch_amphibious_landunits_friend.xml + Symbole/Attributes/branch/branch_amphibious_landequipment_enemy.xml + Symbole/Attributes/branch/branch_amphibious_landequipment_unknown.xml + Symbole/Attributes/branch/branch_amphibious_landequipment_friend.xml + + Symbole/Attributes/branch/branch_amphibious_overwater_unknown.xml + Symbole/Attributes/branch/branch_amphibious_overwater_friend.xml + Symbole/Attributes/branch/branch_amphibious_overwater_enemy.xml + Symbole/Attributes/branch/branch_amphibious_underwater_unknown.xml + Symbole/Attributes/branch/branch_amphibious_underwater_friend.xml + Symbole/Attributes/branch/branch_amphibious_underwater_enemy.xml + Symbole/Attributes/branch/branch_amphibious_airspace_unknown.xml + Symbole/Attributes/branch/branch_amphibious_airspace_friend.xml + Symbole/Attributes/branch/branch_amphibious_airspace_enemy.xml + + Symbole/Attributes/branch/branch_amphibious_2.xml + Symbole/Attributes/branch/branch_amphibious_2_landunits_friend.xml + Symbole/Attributes/branch/branch_amphibious_2_landunits_enemy.xml + Symbole/Attributes/branch/branch_amphibious_2_landunits_unknown.xml + Symbole/Attributes/branch/branch_amphibious_2_airspace_enemy.xml + Symbole/Attributes/branch/branch_amphibious_2_airspace_friend.xml + Symbole/Attributes/branch/branch_amphibious_2_airspace_unknown.xml + Symbole/Attributes/branch/branch_amphibious_2_landequipment_enemy.xml + Symbole/Attributes/branch/branch_amphibious_2_landequipment_friend.xml + Symbole/Attributes/branch/branch_amphibious_2_landequipment_unknown.xml + Symbole/Attributes/branch/branch_amphibious_2_overwater_enemy.xml + Symbole/Attributes/branch/branch_amphibious_2_overwater_friend.xml + Symbole/Attributes/branch/branch_amphibious_2_overwater_unknown.xml + Symbole/Attributes/branch/branch_amphibious_2_underwater_enemy.xml + Symbole/Attributes/branch/branch_amphibious_2_underwater_friend.xml + Symbole/Attributes/branch/branch_amphibious_2_underwater_unknown.xml + + Symbole/Attributes/branch/branch_analysis.xml + Symbole/Attributes/branch/branch_antitank.xml + Symbole/Attributes/branch/branch_antitank_landunits_enemy.xml + Symbole/Attributes/branch/branch_antitank_landunits_unknown.xml + Symbole/Attributes/branch/branch_antitank_landequipment_enemy.xml + Symbole/Attributes/branch/branch_antitank_landequipment_unknown.xml + Symbole/Attributes/branch/branch_antitank_landequipment_friend.xml + Symbole/Attributes/branch/branch_antitank_overwater_unknown.xml + Symbole/Attributes/branch/branch_antitank_overwater_friend.xml + Symbole/Attributes/branch/branch_antitank_overwater_enemy.xml + Symbole/Attributes/branch/branch_antitank_underwater_unknown.xml + Symbole/Attributes/branch/branch_antitank_underwater_friend.xml + Symbole/Attributes/branch/branch_antitank_underwater_enemy.xml + Symbole/Attributes/branch/branch_antitank_airspace_unknown.xml + Symbole/Attributes/branch/branch_antitank_airspace_friend.xml + Symbole/Attributes/branch/branch_antitank_airspace_enemy.xml + + Symbole/Attributes/branch/branch_antenna.xml + + Symbole/Attributes/branch/branch_corps_support.xml + Symbole/Attributes/branch/branch_corps_support_landunits_unknown.xml + Symbole/Attributes/branch/branch_corps_support_landunits_enemy.xml + Symbole/Attributes/branch/branch_corps_support_landunits_friend.xml + Symbole/Attributes/branch/branch_corps_support_landequipment_unknown.xml + Symbole/Attributes/branch/branch_corps_support_landequipment_enemy.xml + Symbole/Attributes/branch/branch_corps_support_landequipment_friend.xml + + Symbole/Attributes/branch/branch_corps_support_overwater_unknown.xml + Symbole/Attributes/branch/branch_corps_support_overwater_friend.xml + Symbole/Attributes/branch/branch_corps_support_overwater_enemy.xml + Symbole/Attributes/branch/branch_corps_support_underwater_unknown.xml + Symbole/Attributes/branch/branch_corps_support_underwater_enemy.xml + Symbole/Attributes/branch/branch_corps_support_airspace_unknown.xml + Symbole/Attributes/branch/branch_corps_support_airspace_enemy.xml + + Symbole/Attributes/branch/branch_direction_finding.xml + + Symbole/Attributes/branch/branch_headquarter.xml + Symbole/Attributes/branch/branch_headquarter_landunits_unknown.xml + Symbole/Attributes/branch/branch_headquarter_landunits_enemy.xml + Symbole/Attributes/branch/branch_headquarter_landequipment_unknown.xml + Symbole/Attributes/branch/branch_headquarter_landequipment_enemy.xml + Symbole/Attributes/branch/branch_headquarter_landequipment_friend.xml + Symbole/Attributes/branch/branch_headquarter_overwater_unknown.xml + Symbole/Attributes/branch/branch_headquarter_overwater_enemy.xml + Symbole/Attributes/branch/branch_headquarter_overwater_friend.xml + Symbole/Attributes/branch/branch_headquarter_underwater_unknown.xml + Symbole/Attributes/branch/branch_headquarter_underwater_enemy.xml + Symbole/Attributes/branch/branch_headquarter_underwater_friend.xml + Symbole/Attributes/branch/branch_headquarter_airspace_unknown.xml + Symbole/Attributes/branch/branch_headquarter_airspace_enemy.xml + Symbole/Attributes/branch/branch_headquarter_airspace_friend.xml + + Symbole/Attributes/branch/branch_infantry.xml + Symbole/Attributes/branch/branch_infantry_landunits_unknown.xml + Symbole/Attributes/branch/branch_infantry_landunits_enemy.xml + Symbole/Attributes/branch/branch_infantry_landunits_friend.xml + Symbole/Attributes/branch/branch_infantry_landequipment_unknown.xml + Symbole/Attributes/branch/branch_infantry_landequipment_enemy.xml + Symbole/Attributes/branch/branch_infantry_landequipment_friend.xml + Symbole/Attributes/branch/branch_infantry_overwater_unknown.xml + Symbole/Attributes/branch/branch_infantry_overwater_enemy.xml + Symbole/Attributes/branch/branch_infantry_overwater_friend.xml + Symbole/Attributes/branch/branch_infantry_underwater_unknown.xml + Symbole/Attributes/branch/branch_infantry_underwater_enemy.xml + Symbole/Attributes/branch/branch_infantry_underwater_friend.xml + Symbole/Attributes/branch/branch_infantry_airspace_unknown.xml + Symbole/Attributes/branch/branch_infantry_airspace_enemy.xml + Symbole/Attributes/branch/branch_infantry_airspace_friend.xml + + Symbole/Attributes/branch/branch_intercept.xml + Symbole/Attributes/branch/branch_jamming.xml + Symbole/Attributes/branch/branch_jamming_landunits_unknown.xml + Symbole/Attributes/branch/branch_jamming_landunits_enemy.xml + Symbole/Attributes/branch/branch_jamming_landunits_friend.xml + Symbole/Attributes/branch/branch_jamming_landequipment_unknown.xml + Symbole/Attributes/branch/branch_jamming_landequipment_enemy.xml + Symbole/Attributes/branch/branch_jamming_landequipment_friend.xml + Symbole/Attributes/branch/branch_jamming_overwater_unknown.xml + Symbole/Attributes/branch/branch_jamming_overwater_enemy.xml + Symbole/Attributes/branch/branch_jamming_overwater_friend.xml + Symbole/Attributes/branch/branch_jamming_underwater_unknown.xml + Symbole/Attributes/branch/branch_jamming_underwater_enemy.xml + Symbole/Attributes/branch/branch_jamming_underwater_friend.xml + Symbole/Attributes/branch/branch_jamming_airspace_unknown.xml + Symbole/Attributes/branch/branch_jamming_airspace_enemy.xml + Symbole/Attributes/branch/branch_jamming_airspace_friend.xml + + Symbole/Attributes/branch/branch_main_gun_system.xml + Symbole/Attributes/branch/branch_main_gun_system_landunits_enemy.xml + Symbole/Attributes/branch/branch_main_gun_system_landunits_unknown.xml + Symbole/Attributes/branch/branch_main_gun_system_landequipment_enemy.xml + Symbole/Attributes/branch/branch_main_gun_system_landequipment_unknown.xml + Symbole/Attributes/branch/branch_main_gun_system_landequipment_friend.xml + Symbole/Attributes/branch/branch_main_gun_system_overwater_unknown.xml + Symbole/Attributes/branch/branch_main_gun_system_overwater_enemy.xml + Symbole/Attributes/branch/branch_main_gun_system_overwater_friend.xml + Symbole/Attributes/branch/branch_main_gun_system_underwater_unknown.xml + Symbole/Attributes/branch/branch_main_gun_system_underwater_enemy.xml + Symbole/Attributes/branch/branch_main_gun_system_underwater_friend.xml + Symbole/Attributes/branch/branch_main_gun_system_airspace_unknown.xml + Symbole/Attributes/branch/branch_main_gun_system_airspace_enemy.xml + Symbole/Attributes/branch/branch_main_gun_system_airspace_friend.xml + + + Symbole/Attributes/branch/branch_medical_treatment_facility.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_friend.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_unknown.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landunits_enemy.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_friend.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_unknown.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_landequipment_enemy.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_friend.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_unknown.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_overwater_enemy.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_friend.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_unknown.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_underwater_enemy.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_friend.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_unknown.xml + Symbole/Attributes/branch/branch_medical_treatment_facility_airspace_enemy.xml + + Symbole/Attributes/branch/branch_motorized.xml + Symbole/Attributes/branch/branch_motorized_landunits_unknown.xml + Symbole/Attributes/branch/branch_motorized_landunits_enemy.xml + Symbole/Attributes/branch/branch_motorized_landequipment_unknown.xml + Symbole/Attributes/branch/branch_motorized_landequipment_enemy.xml + Symbole/Attributes/branch/branch_motorized_landequipment_friend.xml + Symbole/Attributes/branch/branch_motorized_overwater_unknown.xml + Symbole/Attributes/branch/branch_motorized_overwater_enemy.xml + Symbole/Attributes/branch/branch_motorized_overwater_friend.xml + Symbole/Attributes/branch/branch_motorized_underwater_unknown.xml + Symbole/Attributes/branch/branch_motorized_underwater_enemy.xml + Symbole/Attributes/branch/branch_motorized_underwater_friend.xml + Symbole/Attributes/branch/branch_motorized_airspace_unknown.xml + Symbole/Attributes/branch/branch_motorized_airspace_enemy.xml + Symbole/Attributes/branch/branch_motorized_airspace_friend.xml + + Symbole/Attributes/branch/branch_reconnaissance.xml + Symbole/Attributes/branch/branch_reconnaissance_landunits_unknown.xml + Symbole/Attributes/branch/branch_reconnaissance_landequipment_unknown.xml + Symbole/Attributes/branch/branch_reconnaissance_landequipment_friend.xml + Symbole/Attributes/branch/branch_reconnaissance_overwater_unknown.xml + Symbole/Attributes/branch/branch_reconnaissance_overwater_friend.xml + Symbole/Attributes/branch/branch_reconnaissance_underwater_unknown.xml + Symbole/Attributes/branch/branch_reconnaissance_underwater_enemy.xml + Symbole/Attributes/branch/branch_reconnaissance_underwater_friend.xml + Symbole/Attributes/branch/branch_reconnaissance_airspace_unknown.xml + Symbole/Attributes/branch/branch_reconnaissance_airspace_enemy.xml + Symbole/Attributes/branch/branch_reconnaissance_airspace_friend.xml + + Symbole/Attributes/branch/branch_search_reconnaissance.xml + + Symbole/Attributes/branch/branch_supply_landunits_enemy.xml + Symbole/Attributes/branch/branch_supply_landunits_unknown.xml + Symbole/Attributes/branch/branch_supply.xml + Symbole/Attributes/branch/branch_supply_landequipment_enemy.xml + Symbole/Attributes/branch/branch_supply_landequipment_unknown.xml + Symbole/Attributes/branch/branch_supply_landequipment_friend.xml + Symbole/Attributes/branch/branch_supply_overwater_enemy.xml + Symbole/Attributes/branch/branch_supply_overwater_unknown.xml + Symbole/Attributes/branch/branch_supply_overwater_friend.xml + Symbole/Attributes/branch/branch_supply_underwater_enemy.xml + Symbole/Attributes/branch/branch_supply_underwater_unknown.xml + Symbole/Attributes/branch/branch_supply_underwater_friend.xml + Symbole/Attributes/branch/branch_supply_airspace_enemy.xml + Symbole/Attributes/branch/branch_supply_airspace_unknown.xml + Symbole/Attributes/branch/branch_supply_airspace_friend.xml + + Symbole/Attributes/branch/branch_supply_medical_class_viii.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_unknown.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_landunits_enemy.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_unknown.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_enemy.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_landequipment_friend.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_unknown.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_enemy.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_overwater_friend.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_unknown.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_enemy.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_underwater_friend.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_unknown.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_enemy.xml + Symbole/Attributes/branch/branch_supply_medical_class_viii_airspace_friend.xml + + Symbole/Attributes/branch/branch_theatre_echelons_above_corps.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_unknown.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_enemy.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landunits_friend.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_unknown.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_enemy.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_landequipment_friend.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_unknown.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_enemy.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_overwater_friend.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_unknown.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_underwater_enemy.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_unknown.xml + Symbole/Attributes/branch/branch_theatre_echelons_above_corps_airspace_enemy.xml + + Symbole/Attributes/branch/branch_mountain.xml + Symbole/Attributes/branch/branch_mountain_landunits_unknown.xml + Symbole/Attributes/branch/branch_mountain_landunits_enemy.xml + Symbole/Attributes/branch/branch_mountain_landequipment_unknown.xml + Symbole/Attributes/branch/branch_mountain_landequipment_enemy.xml + Symbole/Attributes/branch/branch_mountain_landequipment_friend.xml + Symbole/Attributes/branch/branch_mountain_overwater_unknown.xml + Symbole/Attributes/branch/branch_mountain_overwater_enemy.xml + Symbole/Attributes/branch/branch_mountain_overwater_friend.xml + Symbole/Attributes/branch/branch_mountain_underwater_unknown.xml + Symbole/Attributes/branch/branch_mountain_underwater_enemy.xml + Symbole/Attributes/branch/branch_mountain_underwater_friend.xml + Symbole/Attributes/branch/branch_mountain_airspace_unknown.xml + Symbole/Attributes/branch/branch_mountain_airspace_enemy.xml + Symbole/Attributes/branch/branch_mountain_airspace_friend.xml + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/attribute_data.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/attribute_data.h new file mode 100755 index 000000000..032d6ea55 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/attribute_data.h @@ -0,0 +1,268 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + + +#include +#include +#include + +namespace SymbologyXML +{ + +// Um die Moeglichkeiten des typechecking zu nutzehn, erstellen wird die +// folgende Klasse als template-class: +template +class AttributeData +{ +protected: + // enum -> internal String (XML-File) + QMap enum2str; + + // internal String (XML-File)-> enum + QMap str2enum; + + // enum -> external String (for translation) + QMap enum2Tr; + + // Order to fill the ComboBox + QVector order; + +public: + void insert(const TYPE &enumKey, const QString &InternalString, const QString &ExternalString) { + enum2str.insert(enumKey, InternalString); + str2enum.insert(InternalString, enumKey); + enum2Tr.insert(enumKey, ExternalString); + order.push_back(enumKey); + } + + QString convert_enum2str(const TYPE &enumKey) const + { + QString ret; + if ( enum2str.contains(enumKey) ) + { + ret = enum2str[enumKey]; + } + else + { + ret = enum2str.value(*order.begin()); // == "FOO_UNDEFINED" + } + return ret; + } + + QString convert_enum2tr(const TYPE &enumKey) const + { + QString ret; + if ( enum2Tr.contains(enumKey) ) + { + ret = enum2Tr[enumKey]; + } + else + { + ret = enum2str.value(*order.begin()); // == "FOO_UNDEFINED" + } + return ret; + } + + TYPE convert_str2enum(const QString& str_ref, bool* bOk = nullptr) const + { + TYPE ret = *order.begin(); // == FOO_UNDEFINED + if ( str2enum.contains(str_ref) ) + { + ret = str2enum[str_ref]; + if (bOk) + *bOk = true; + } else { + if (bOk) + *bOk = false; + } + return ret; + } + + TYPE convert_str2enum(const QStringView& str_ref, bool* bOk = nullptr) const + { + return convert_str2enum(str_ref.toString(), bOk); + } + + void clear() + { + enum2str.clear(); + str2enum.clear(); + enum2Tr.clear(); + order.clear(); + } + + size_t size() const { + return order.size(); + } + + QMap getContainerAsInt() const { + QMap retMap; + + QVectorIterator i(order); + TYPE val; + while (i.hasNext()) { + val = i.next(); + retMap.insert((int)val, convert_enum2tr(val)); + } + return retMap; + } + + QVectorIterator getIterator() const { + return order; + } + +}; + + + +// Um die Moeglichkeiten des typechecking zu nutzen, erstellen wird die +// folgende Klasse als template-class: +template +class AttributeDataSectorIcon : public AttributeData +{ +protected: + + QVector orderSector1; + QVector orderSector2; + + QVector orderSectorMain; + QVector orderSectorMainComboBox; + QVector orderSectorMainListView; + + QVector orderSectorFullFramed; + +public: + size_t size() const = delete; + + void clear() + { + AttributeData::clear(); + orderSector1.clear(); + orderSector2.clear(); + + orderSectorMain.clear(); + orderSectorMainComboBox.clear(); + orderSectorMainListView.clear(); + + orderSectorFullFramed.clear(); + } + + bool contains(const TYPE_SECTORICON &id, + SymbolTypes::t_sector_position sectorPosition, + SymbolTypes::t_select_widget selectWidget = SymbolTypes::SELECT_WIDGET_UNDEFINED) const + { + bool found = false; + + const QVector* cont_p = this->getContainer(sectorPosition, selectWidget); + if (cont_p) + { + found = cont_p->contains(id); + } + + return found; + } + + void insert(const TYPE_SECTORICON &enumKey, + const QString &InternalString, + const QString &ExternalString, + int sectorPositions, + SymbolTypes::t_select_widget selectWidget = SymbolTypes::SELECT_WIDGET_UNDEFINED) { + AttributeData::insert(enumKey, InternalString, ExternalString); + + if (sectorPositions & SymbolTypes::SECTOR1) + this->orderSector1.push_back(enumKey); + + if (sectorPositions & SymbolTypes::SECTOR2) + this->orderSector2.push_back(enumKey); + + if (sectorPositions & SymbolTypes::SECTORMAIN) { + this->orderSectorMain.push_back(enumKey); + + switch (selectWidget) + { + case SymbolTypes::SELECT_WIDGET_UNDEFINED: + { + // empty + } + break; + case SymbolTypes::SELECT_WIDGET_CB: + this->orderSectorMainComboBox.push_back(enumKey); + break; + case SymbolTypes::SELECT_WIDGET_LV: + this->orderSectorMainListView.push_back(enumKey); + break; + } // switch + + } // if + + if (sectorPositions & SymbolTypes::SECTORFF) + this->orderSectorFullFramed.push_back(enumKey); + }; + + const QVector* getContainer(SymbolTypes::t_sector_position sectorPosition, + SymbolTypes::t_select_widget selectWidget = SymbolTypes::SELECT_WIDGET_UNDEFINED) const + { + const QVector* cont_p = nullptr; + + switch(sectorPosition) + { + case SymbolTypes::SECTOR1: + cont_p = &orderSector1; + break; + case SymbolTypes::SECTOR2: + cont_p = &orderSector2; + break; + case SymbolTypes::SECTORMAIN: + { + + switch (selectWidget) + { + case SymbolTypes::SELECT_WIDGET_UNDEFINED: + cont_p = &orderSectorMain; + break; + case SymbolTypes::SELECT_WIDGET_CB: + cont_p = &orderSectorMainComboBox; + break; + case SymbolTypes::SELECT_WIDGET_LV: + cont_p = &orderSectorMainListView; + break; + } // switch + + } + break; + case SymbolTypes::SECTORFF: + cont_p = &orderSectorFullFramed; + break; + case SymbolTypes::SECTOR_POSITION_UNDEFINED: + { + // empty - avoiding compiler warning + } + + } // switch + + return cont_p; + } + + const QMap getContainerAsInt(SymbolTypes::t_sector_position sectorPosition, + SymbolTypes::t_select_widget selectWidget = SymbolTypes::SELECT_WIDGET_UNDEFINED) const { + QMap retMap; + + const QVector* cont_p = getContainer(sectorPosition, selectWidget); + QVectorIterator iter(*cont_p); + TYPE_SECTORICON val; + while (iter.hasNext()) { + val = iter.next(); + retMap.insert((int)val, this->convert_enum2tr(val)); + } + return retMap; + }; + +}; // AttributeDataSectorIcon + +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.cpp new file mode 100755 index 000000000..20bfe4b58 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.cpp @@ -0,0 +1,1217 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "pixmap_symbol_cache.h" +#include "symbol_exporter.h" +#include "symbol_table.h" +#include + +#include +#include +#include +#include + + +namespace SymbologyXML +{ + +static const QImage::Format ImageFormat = QImage::Format_ARGB32; + +//----------------------------------------------------------------------------- +QSharedPointer PixmapSymbolCache::instance() +{ + static QWeakPointer psc; + auto sp(psc.lock()); + if (sp) + return sp; + sp.reset(new PixmapSymbolCache); + psc = sp; + return sp; +} // PixmapSymbolCache* PixmapSymbolCache::instance() + + +static inline void setNew(SymbolTable *&member, SymbolTable *newValue) +{ + if (member == newValue) + return; + delete member; + member = newValue; +} + +void PixmapSymbolCache::setSymbolTables(SymbolTable *frames, + SymbolTable *mobility, + SymbolTable *bcdab, + SymbolTable *commandLevel, + SymbolTable *branches, + SymbolTable *vehicle, + SymbolTable *intrinsicMobility, + SymbolTable *arming, + SymbolTable *misc, + SymbolTable *addOnSymbole, + SymbolTable *sectorIcon) +{ + setNew(_frames , frames); + setNew(_mobility , mobility); + setNew(_bcdab , bcdab); + setNew(_commandLevel , commandLevel); + setNew(_branches , branches); + setNew(_vehicle , vehicle); + setNew(_intrinsicMobility, intrinsicMobility); + setNew(_arming , arming); + setNew(_misc , misc); + setNew(_addOn , addOnSymbole); + setNew(_sectorIcon , sectorIcon); + clearCache(CacheAny); +} // void PixmapSymbolCache::setSymbolTables(SymbolTable *frames... + + +QImage PixmapSymbolCache::getPixmap(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, bool overwriteAlpha, + bool updateCache) { + QSize localSize = ( size.isValid() && !size.isNull() ) ? size : _defaultSize; + QColor rgbaLineLocal = rgbaLine; + QColor rgbaRoleLocal = rgbaRole; + if ( ! overwriteAlpha ) { + rgbaLineLocal.setAlpha(_alphaLine); + rgbaRoleLocal.setAlpha(_alphaFill); + } + + const auto key = createKey(symbol, additionalSymbolData, localSize, rgbaLineLocal, rgbaRoleLocal, antiAliased); + QImage *img = _cacheFullSymbols[key]; + if (img) + return *img; + + return createPixmap(symbol, additionalSymbolData, localSize, rgbaLineLocal, rgbaRoleLocal, + antiAliased, updateCache); +} // QImage* PixmapSymbolCache::getPixmap(const Symbol... + +QImage PixmapSymbolCache::getComponentPixmap(const Symbol& symbol, + CacheType cacheType, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, bool overwriteAlpha) +{ + QSize localSize = ( size.isValid() && !size.isNull() ) ? size : _defaultSize; + QColor rgbaLineLocal = rgbaLine; + QColor rgbaRoleLocal = rgbaRole; + + if ( !overwriteAlpha ) + { + rgbaLineLocal.setAlpha(_alphaLine); + rgbaRoleLocal.setAlpha(_alphaFill); + } + + if (!containsInternal(symbol, additionalSymbolData, localSize, rgbaLineLocal, rgbaRoleLocal, antiAliased, cacheType) ) + createPixmap(symbol, additionalSymbolData, localSize, rgbaLineLocal, rgbaRoleLocal, antiAliased, true ); + + switch (cacheType) + { + case CacheAny : + case CacheFullSymbols : return *_cacheFullSymbols[_lastKey]; + case CacheMainSymbols : return *_cacheMainSymbols[_lastKey]; + case CacheFrames : return *_cacheFrames[_lastKey]; + case CacheMobility : return *_cacheMobility[_lastKey]; + case CacheBCDAB : return *_cacheBCDAB[_lastKey]; + case CacheCommandLevel : return *_cacheCommandLevel[_lastKey]; + case CacheBranches : return *_cacheBranches[_lastKey]; + case CacheVehicle : return *_cacheVehicle[_lastKey]; + case CacheIntrinsicMobility: return *_cacheIntrinsicMobility[_lastKey]; + case CacheArming : return *_cacheArming[_lastKey]; + case CacheMisc : return *_cacheMisc[_lastKey]; + case CacheAddOn : return *_cacheAddOn[_lastKey]; + case CacheSectorIcon : return *_cacheSectorIcon[_lastKey]; + } + + return QImage(); +} // QImage PixmapSymbolCache::getComponentPixmap(const Symbol... + + +bool PixmapSymbolCache::contains(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, + bool overwriteAlpha) { + QColor rgbaLineLocal = rgbaLine; + QColor rgbaRoleLocal = rgbaRole; + if ( ! overwriteAlpha ) { + rgbaLineLocal.setAlpha(_alphaLine); + rgbaRoleLocal.setAlpha(_alphaFill); + } + + return containsInternal(symbol, additionalSymbolData, size, rgbaLineLocal, rgbaRoleLocal, antiAliased, CacheFullSymbols); +} // bool PixmapSymbolCache::contains(const Symbol& symbol... + + +void PixmapSymbolCache::clearCache(CacheType cacheType) +{ + switch (cacheType) { + case CacheFullSymbols: + _cacheFullSymbols.clear(); + break; + case CacheMainSymbols: + _cacheMainSymbols.clear(); + break; + case CacheFrames: + _cacheFrames.clear(); + break; + case CacheMobility: + _cacheMobility.clear(); + break; + case CacheBCDAB: + _cacheBCDAB.clear(); + break; + case CacheCommandLevel: + _cacheCommandLevel.clear(); + break; + case CacheBranches: + _cacheBranches.clear(); + break; + case CacheVehicle: + _cacheVehicle.clear(); + break; + case CacheIntrinsicMobility: + _cacheIntrinsicMobility.clear(); + break; + case CacheArming: + _cacheArming.clear(); + break; + case CacheMisc: + _cacheMisc.clear(); + break; + case CacheAddOn: + _cacheAddOn.clear(); + break; + case CacheSectorIcon: + _cacheSectorIcon.clear(); + break; + + case CacheAny: + _cacheFullSymbols.clear(); + _cacheMainSymbols.clear(); + _cacheFrames.clear(); + _cacheMobility.clear(); + _cacheBCDAB.clear(); + _cacheCommandLevel.clear(); + _cacheBranches.clear(); + _cacheVehicle.clear(); + _cacheIntrinsicMobility.clear(); + _cacheArming.clear(); + _cacheMisc.clear(); + _cacheAddOn.clear(); + _cacheSectorIcon.clear(); + break; + } +} // void PixmapSymbolCache::clearCache(bool fullSymbols... + + +void PixmapSymbolCache::dumpCache(const QString &path, const QString &prefix, + CacheType cacheType) +{ + QCache *cache; + + switch (cacheType) { + case CacheFullSymbols: + cache = &_cacheFullSymbols; + break; + case CacheMainSymbols: + cache = &_cacheMainSymbols; + break; + case CacheFrames: + cache = &_cacheFrames; + break; + case CacheMobility: + cache = &_cacheMobility; + break; + case CacheBCDAB: + cache = &_cacheBCDAB; + break; + case CacheCommandLevel: + cache = &_cacheCommandLevel; + break; + case CacheBranches: + cache = &_cacheBranches; + break; + case CacheVehicle: + cache = &_cacheVehicle; + break; + case CacheIntrinsicMobility: + cache = &_cacheIntrinsicMobility; + break; + case CacheArming: + cache = &_cacheArming; + break; + case CacheMisc: + cache = &_cacheMisc; + break; + case CacheAddOn: + cache = &_cacheAddOn; + break; + case CacheSectorIcon: + cache = &_cacheSectorIcon; + break; + case CacheAny: + dumpCache(path, prefix, CacheFullSymbols); + dumpCache(path, prefix, CacheMainSymbols); + dumpCache(path, prefix, CacheFrames); + dumpCache(path, prefix, CacheMobility); + dumpCache(path, prefix, CacheBCDAB); + dumpCache(path, prefix, CacheCommandLevel); + dumpCache(path, prefix, CacheBranches); + dumpCache(path, prefix, CacheVehicle); + dumpCache(path, prefix, CacheIntrinsicMobility); + dumpCache(path, prefix, CacheArming); + dumpCache(path, prefix, CacheMisc); + dumpCache(path, prefix, CacheAddOn); + dumpCache(path, prefix, CacheSectorIcon); + return; + default: + return; + } + + const auto cacheKeys = cache->keys(); + for (const auto &key : cacheKeys) + { + QString fileName = QStringLiteral("%1/%2%3.png").arg(prefix, QString::fromLatin1(key)); + cache->object(key)->save( fileName ); + } +} // void PixmapSymbolCache::dumpCache(const QString path, ... + + +bool PixmapSymbolCache::setAlphaFill(int alpha) +{ + if ( (alpha >= 0) && (alpha <= 255) ) { + if (_alphaFill != alpha) + { + _alphaFill = alpha; + this->clearCache(CacheAny); + } + return true; + } else { + return false; + } +} // bool PixmapSymbolCache::setAlphaFill(int alpha) + + +bool PixmapSymbolCache::setAlphaLine(int alpha) +{ + if ( (alpha >= 0) && (alpha <= 255) ) { + if (_alphaLine != alpha) + { + _alphaLine = alpha; + this->clearCache(CacheAny); + } + return true; + } else { + return false; + } +} // bool PixmapSymbolCache::setAlphaLine(int alpha) + + +bool PixmapSymbolCache::setFilledRendering(SymbolTypes::t_filltype fillType) +{ + bool changed = false; + if ( fillType != SymbolTypes::FILLTYPE_UNDEFINED ) { + if (_fillType != fillType) + { + _fillType = fillType; + this->clearCache(CacheAny); + changed = true; + } + } + return changed; +} // void PixmapSymbolCache::setFilledRendering(FillType fill) + + +bool PixmapSymbolCache::setDefaultSize(const QSize &size) +{ + if (!size.isValid()) + return false; + _defaultSize = size; + return true; +} // bool PixmapSymbolCache::setDefaultSize(QSize size) + +QByteArray PixmapSymbolCache::createKey(const Symbol &symbol, + const SymbolTypes::AdditionalSymbolData &additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased) +{ + QByteArray key(512, Qt::Uninitialized); + const int len = snprintf(key.data(), key.size(), + "%d-%s-%d-%d-%d-%d-%lld-%d-%d-%d-%d-%s-%d-%d-%d-%d-%d-%lld-%d-%d-%d", + symbol._id, + additionalSymbolData.createKey().constData(), + size.width(), + size.height(), + rgbaLine.rgba(), + rgbaRole.rgba(), + symbol._branchTags(), + symbol._dimen, + symbol._affil, + symbol._bcd_ab, + symbol._commandlevel, + (symbol.getHeadquarter() ? "1" : "0"), + symbol._mob, + symbol._vehicle, + symbol._intrinsicmob, + symbol._arming, + symbol._sectoricon, + symbol._miscTags(), + static_cast(symbol._primitives.size()), + symbol._changeCount, + antiAliased); + key.resize(len); // does proper \0 termination + // if ( fill == DefaultFill ) { + // keyList << QByteArray::number(_fillType); + // } else { + // keyList << QByteArray::number(fill); + // } + + // keyList << QByteArray::number(fill); + _lastKey = key; + return key; +} // QByteArray PixmapSymbolCache::createKey(const Symbol& symbol... + + +bool PixmapSymbolCache::containsInternal(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, + CacheType cacheType) +{ + const auto key = createKey(symbol, additionalSymbolData, size, rgbaLine, rgbaRole, antiAliased); + switch (cacheType) { + case CacheFullSymbols: + return _cacheFullSymbols.contains(key); + case CacheMainSymbols: + return _cacheMainSymbols.contains(key); + case CacheFrames: + return _cacheFrames.contains(key); + case CacheMobility: + return _cacheMobility.contains(key); + case CacheBCDAB: + return _cacheBCDAB.contains(key); + case CacheCommandLevel: + return _cacheCommandLevel.contains(key); + case CacheBranches: + return _cacheBranches.contains(key); + case CacheVehicle: + return _cacheVehicle.contains(key); + case CacheIntrinsicMobility: + return _cacheIntrinsicMobility.contains(key); + case CacheArming: + return _cacheArming.contains(key); + case CacheMisc: + return _cacheMisc.contains(key); + case CacheAddOn: + return _cacheAddOn.contains(key); + case CacheSectorIcon: + return _cacheSectorIcon.contains(key); + case CacheAny: + return _cacheFullSymbols.contains(key) || + _cacheMainSymbols.contains(key) || + _cacheFrames.contains(key) || + _cacheMobility.contains(key) || + _cacheBCDAB.contains(key) || + _cacheCommandLevel.contains(key) || + _cacheBranches.contains(key) || + _cacheVehicle.contains(key) || + _cacheIntrinsicMobility.contains(key) || + _cacheArming.contains(key) || + _cacheAddOn.contains(key) || + _cacheSectorIcon.contains(key) || + _cacheMisc.contains(key); + } + return false; +} // bool PixmapSymbolCache::containsInternal(const Symbol& symbol... + + +QImage PixmapSymbolCache::createPixmap(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, + bool updateCache) +{ + static const QRectF smallBox(-1.5, -1.5, 3.0, 3.0); + static const QRectF bigBox (-2.0, -2.0, 4.0, 4.0); + //QColor transpWhite(255, 255, 255, 0); + + SymbolTypes::t_symbolTableCont symTableCont; + symTableCont.resize(SymbolTypes::ICON_TYPE_END); + symTableCont[SymbolTypes::ICON_TYPE_SECTOR_ICON] = _sectorIcon; + symTableCont[SymbolTypes::ICON_TYPE_INTRINSIC_MOBILITY] = _intrinsicMobility; + symTableCont[SymbolTypes::ICON_TYPE_VEHICLE] = _vehicle; + symTableCont[SymbolTypes::ICON_TYPE_ARMING] = _arming; + symTableCont[SymbolTypes::ICON_TYPE_MISC] = _misc; + + // Draw symbols with small bbox first + _scene->setSceneRect(smallBox); + + SymbolTypes::AdditionalSymbolData l_additionalSymbolData; + + ///////////////////////////////////////////////////////////////////////////// + // Main Symbol + ///////////////////////////////////////////////////////////////////////////// + const auto mainKey = createKey(symbol, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + + QImage *pmSymbolMain = _cacheMainSymbols[mainKey]; + + if (!pmSymbolMain) + { + pmSymbolMain = new QImage(size, ImageFormat); + +#if defined (SYMBOL_TEXT_IN_BLACK) && (SYMBOL_TEXT_IN_BLACK == 1) + // RATC: + QColor bg = Qt::black; // Ansonsten würde die z.T. schwarze Schrift rot 'verschmiert' werden :-( + // Nun wird rot zwar leicht mit schwarz 'verschmiert', was aber nicht wirklich auffaellt. +#else + // TES-UAE: + QColor bg = rgbaLine; +#endif // #if defined (SYMBOL_TEXT_IN_BLACK)... + + bg.setAlpha(0); + //pmSymbolMain->setColor(0, bg.rgba()); + pmSymbolMain->fill(bg.rgba()); + + QPainter painter(pmSymbolMain); + if (antiAliased) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(symbol, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, false, antiAliased); + _scene->render(&painter); + painter.end(); + +// QString name = QString("/tmp/symbol_%1_%2.png").arg(symbol.id()).arg(rgbaLine.rgba()); +// pmSymbolMain->save(name); + + _cacheMainSymbols.insert(mainKey, pmSymbolMain); + } + + + ///////////////////////////////////////////////////////////////////////////// + // Vehicle-Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolVehicle = nullptr; + if ( (symbol.getVehicle() != SymbolTypes::VEHICLE_UNDEFINED) && + (_vehicle != nullptr) ) + { + const Symbol *symbolVehicle = _vehicle->value(SymbolTable::getVehicleSymbolID(symbol)); + if (symbolVehicle) + { + const auto key = createKey(*symbolVehicle, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolVehicle = _cacheVehicle[key]; + if (!pmSymbolVehicle) + { + pmSymbolVehicle = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolVehicle->setColor(0, bg.rgba()); + pmSymbolVehicle->fill(bg.rgba()); + + QPainter painter(pmSymbolVehicle); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolVehicle, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheVehicle.insert(key, pmSymbolVehicle); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // Intrinsic-Mobility Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolIntrinsicMob = nullptr; + if ( (symbol.getIntrinsicMob() != SymbolTypes::INTRINSICMOB_UNDEFINED) && + (_intrinsicMobility != nullptr) ) + { + const Symbol *symbolIntrinsicMob = _intrinsicMobility->value(SymbolTable::getIntrinsicMobilitySymbolID(symbol)); + if (symbolIntrinsicMob) + { + const auto key = createKey(*symbolIntrinsicMob, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolIntrinsicMob = _cacheIntrinsicMobility[key]; + if (!pmSymbolIntrinsicMob) + { + pmSymbolIntrinsicMob = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolIntrinsicMob->setColor(0, bg.rgba()); + pmSymbolIntrinsicMob->fill(bg.rgba()); + + QPainter painter(pmSymbolIntrinsicMob); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolIntrinsicMob, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheIntrinsicMobility.insert(key, pmSymbolIntrinsicMob); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // Arming-Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolArming = nullptr; + if ( (symbol.getArming() != SymbolTypes::ARMING_UNDEFINED) && + (_arming != nullptr) ) + { + const Symbol *symbolArming = _arming->value(SymbolTable::getArmingSymbolID(symbol)); + if (symbolArming) + { + const auto key = createKey(*symbolArming, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolArming = _cacheArming[key]; + if (!pmSymbolArming) + { + pmSymbolArming = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolArming->setColor(0, bg.rgba()); + pmSymbolArming->fill(bg.rgba()); + + QPainter painter(pmSymbolArming); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolArming, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheArming.insert(key, pmSymbolArming); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // SectorIcon-Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolSectorIcon = nullptr; + if ( (symbol.getSectorIcon() != SymbolTypes::SECICON_UNDEFINED) && + (_sectorIcon != nullptr) ) + { + const Symbol *symbolSectorIcon = _sectorIcon->value(SymbolTable::getSectorIconSymbolID(symbol)); + if (symbolSectorIcon) + { + const auto key = createKey(*symbolSectorIcon, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolSectorIcon = _cacheSectorIcon[key]; + if (!pmSymbolSectorIcon) + { + pmSymbolSectorIcon = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolArming->setColor(0, bg.rgba()); + pmSymbolSectorIcon->fill(bg.rgba()); + + QPainter painter(pmSymbolSectorIcon); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolSectorIcon, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheSectorIcon.insert(key, pmSymbolSectorIcon); + } + } + } + + + ///////////////////////////////////////////////////////////////////////////// + // Misc Symbols + ///////////////////////////////////////////////////////////////////////////// + QList pmSymbolMisc; + if ( _misc != nullptr ) + { + for (unsigned int i = 0; i < symbol.getMiscTags().size(); ++i) + { + if ( symbol.getMiscTags().at(i) ) + { + const Symbol *symbolMiscTmp = _misc->value(SymbolTable::getMiscSymbolID((SymbolTypes::t_misc)i)); + if (symbolMiscTmp) + { + Symbol symbolMisc(*symbolMiscTmp); + symbolMisc.setDimen(symbol.getDimen()); + symbolMisc.setAffil(symbol.getAffil()); + // Derzeit keine Transformation + // symbolMisc->transformSymbol(Symbol::TMG_BRANCHES, _misc); + + const auto key = createKey(symbolMisc, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + auto cacheSymbolTmp = _cacheMisc[key]; + if (cacheSymbolTmp) + { + pmSymbolMisc.append(cacheSymbolTmp); + } + else + { + QImage *btTmp = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //btTmp->setColor(0, bg.rgba()); + btTmp->fill(bg.rgba()); + + QPainter painter(btTmp); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(symbolMisc, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheMisc.insert(key, btTmp); + pmSymbolMisc.append(btTmp); + } + } + } + } + } + + + ///////////////////////////////////////////////////////////////////////////// + // CommandLevel Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolCL = nullptr; + if ( (symbol.getCommandLevel() != SymbolTypes::CL_UNDEFINED) && + (_commandLevel != nullptr) ) + { + const Symbol *symbolCommandLevelTmp = _commandLevel->value(SymbolTable::getCommandLevelSymbolID(symbol)); + if (symbolCommandLevelTmp) + { + Symbol symbolCL(*symbolCommandLevelTmp); + symbolCL.setDimen(symbol.getDimen()); + symbolCL.setAffil(symbol.getAffil()); + symbolCL.transformSymbol(Symbol::TMG_COMMAND_LEVEL); + + const auto key = createKey(symbolCL, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolCL = _cacheCommandLevel[key]; + if (!pmSymbolCL) + { + pmSymbolCL = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolCL->setColor(0, bg.rgba()); + pmSymbolCL->fill(bg.rgba()); + + QPainter painter(pmSymbolCL); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(symbolCL, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, + false, // zwms_roleType outlined: filled prims in role color + antiAliased); + _scene->render(&painter); + _cacheCommandLevel.insert(key, pmSymbolCL); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // Branch/Truppengattung Symbols + ///////////////////////////////////////////////////////////////////////////// + QList pmSymbolBT; + if ( _branches != nullptr ) + { + for (unsigned int i=0; ivalue(SymbolTable::getBranchSymbolID((SymbolTypes::t_branch)i)); + if (symbolBTTmp) + { + Symbol symbolBT(*symbolBTTmp); + // a) symbolBT bekommt Dimension vom (Gesamt-)symbol + symbolBT.setDimen(symbol.getDimen()); + // b) Affiliation wird nur bei FILLED oder OUTLINED uebernommen... + if ( (_fillType == SymbolTypes::FILLTYPE_FILLED) || + (_fillType == SymbolTypes::FILLTYPE_OUTLINED) ) + { + symbolBT.setAffil(symbol.getAffil()); + } + else + { + // ... bei NurIcon wird Affil=NEUTRAL genutzt, + // damit z.B. die Texte 'dicht' am Symbol stehen KOENNTEN: + // (Da die texte aber derzeit unabhaengig vom Affil positioniert werden..) + symbolBT.setAffil(SymbolTypes::NEUTRAL); + } + symbolBT.transformSymbol(Symbol::TMG_BRANCHES, _branches); + + const auto key = createKey(symbolBT, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + auto pmBranch = _cacheBranches[key]; + if (pmBranch) + { + pmSymbolBT.append(pmBranch); + } + else + { + QImage *btTmp = new QImage(size, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //btTmp->setColor(0, bg.rgba()); + btTmp->fill(bg.rgba()); + + QPainter painter(btTmp); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(symbolBT, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, true, antiAliased); + _scene->render(&painter); + _cacheBranches.insert(key, btTmp); + pmSymbolBT.append(btTmp); + } + } + } + } + } + + + ///////////////////////////////////////////////////////////////////////////// + // Draw symbols with big bbox + ///////////////////////////////////////////////////////////////////////////// + _scene->setSceneRect(bigBox); + const QSize pmSize(size * 4 / 3); + + ///////////////////////////////////////////////////////////////////////////// + // Frame Symbol + ///////////////////////////////////////////////////////////////////////////// + // FrameSymbol nun in bigbox, um das Abschneiden der headquarter-linie zu vermeiden. + QImage *pmSymbolFrame = nullptr; + Symbol *symbolFrame = nullptr; + // Wenn entweder eine frameSybol direkt erforderlich ist... + if ( (_frames != nullptr) && + ( (_fillType == SymbolTypes::FILLTYPE_FILLED) || (_fillType == SymbolTypes::FILLTYPE_OUTLINED) ) ) + { + auto tmp = _frames->value(SymbolTable::getFrameSymbolID(symbol)); + if (tmp) + symbolFrame = new Symbol(*tmp); + } + + // ... oder ein Headquarter dargestellt werden muss: + if ( symbol.getHeadquarter() && !symbolFrame ) + { + symbolFrame = new Symbol; + } + + // Es musste also wg. a) _fillType oder b) wegen Headquarter ein Symbol erstellt werden: + if (symbolFrame) + { + // symbolFrame mit den relevanten Daten befuellen, damit der key korrekt erstellt werden kann: + symbolFrame->setDimen (symbol.getDimen()); + symbolFrame->setAffil (symbol.getAffil()); + symbolFrame->setHeadquarter(symbol.getHeadquarter()); + + // reinit l_additionalSymbolData + l_additionalSymbolData = SymbolTypes::AdditionalSymbolData(); + if(rgbaRole.isValid()) + { + l_additionalSymbolData.m_filltype =_fillType; + } + else + { + l_additionalSymbolData.m_filltype = SymbolTypes::FILLTYPE_OUTLINED; + } + l_additionalSymbolData.m_state = additionalSymbolData.m_state; + l_additionalSymbolData.m_uncertainty = additionalSymbolData.m_uncertainty; + + const auto key = createKey(*symbolFrame, l_additionalSymbolData, size, rgbaRole, rgbaRole, antiAliased); + pmSymbolFrame = _cacheFrames[key]; + if (!pmSymbolFrame) + { + pmSymbolFrame = new QImage(pmSize, ImageFormat); + QColor bg = rgbaRole; + bg.setAlpha(0); + //pmSymbolFrame->setColor(0, bg.rgba()); + pmSymbolFrame->fill(bg.rgba()); + + QPainter painter(pmSymbolFrame); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawFrameSymbol(*symbolFrame, l_additionalSymbolData, + _scene, rgbaLine, rgbaRole, 0.0, antiAliased); + SymbolExporter::drawHeadquarterPrims(_scene, symbol.getHeadquarter(), + symbol.getDimen(), symbol.getAffil(), + rgbaLine); + _scene->render(&painter); + _cacheFrames.insert(key, pmSymbolFrame); + } + delete symbolFrame; + } + + ///////////////////////////////////////////////////////////////////////////// + // Mobility Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolMob = nullptr; + if ( (symbol.getMob() != SymbolTypes::MOB_UNDEFINED) && + (_mobility != nullptr) ) { + const auto symbolMob = _mobility->value(SymbolTable::getMobilitySymbolID(symbol)); + if (symbolMob) + { + const auto key = createKey(*symbolMob, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolMob = _cacheMobility[key]; + if (!pmSymbolMob) + { + pmSymbolMob = new QImage(pmSize, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolMob->setColor(0, bg.rgba()); + pmSymbolMob->fill(bg.rgba()); + + QPainter painter(pmSymbolMob); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolMob, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, + false, // zwms_roleType outlined: filled prims in role color + antiAliased); + _scene->render(&painter); + _cacheMobility.insert(key, pmSymbolMob); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // BCDAB Symbol + ///////////////////////////////////////////////////////////////////////////// + QImage *pmSymbolBCDAB = nullptr; + if ( (symbol.getBcdab() != SymbolTypes::BCDAB_UNDEFINED) && + (_bcdab != nullptr) ) + { + const auto symbolBCDABTmp = _bcdab->value(SymbolTable::getBCDABSymbolID(symbol)); + if (symbolBCDABTmp) + { + Symbol symbolBCDAB(*symbolBCDABTmp); + symbolBCDAB.setDimen(symbol.getDimen()); + symbolBCDAB.setAffil(symbol.getAffil()); + symbolBCDAB.transformSymbol(Symbol::TMG_BCDAB, _branches); + + const auto key = createKey(symbolBCDAB, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + pmSymbolBCDAB = _cacheBCDAB[key]; + if (!pmSymbolBCDAB) + { + pmSymbolBCDAB = new QImage(pmSize, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolBCDAB->setColor(0, bg.rgba()); + pmSymbolBCDAB->fill(bg.rgba()); + + QPainter painter(pmSymbolBCDAB); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(symbolBCDAB, symTableCont, _scene, rgbaLine, rgbaLine, 0.0, + false, // zwms_roleType outlined: filled prims in role color + antiAliased); + _scene->render(&painter); + _cacheBCDAB.insert(key, pmSymbolBCDAB); + } + } + } + + ///////////////////////////////////////////////////////////////////////////// + // AddOn Symbols + ///////////////////////////////////////////////////////////////////////////// + QVector pmSymbolAddOn; + if ( _addOn != nullptr ) + { + // vbg : + auto idCont = SymbolTable::getVbgSymbolIDs(additionalSymbolData.m_vbg); + for (int tmpID : std::as_const(idCont)) + { + if ( tmpID >= 0 ) + { + if ( _addOn->contains(tmpID) ) + { + const Symbol *symbolAddOn = _addOn->value(tmpID); + + // reinit l_additionalSymbolData + l_additionalSymbolData = SymbolTypes::AdditionalSymbolData(); + l_additionalSymbolData.m_vbg = additionalSymbolData.m_vbg; + const auto key = createKey(*symbolAddOn, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + const auto cacheAddOnTmp = _cacheAddOn[key]; + if (cacheAddOnTmp) + { + pmSymbolAddOn.append(cacheAddOnTmp); + } + else + { + QImage *addOnTmp = new QImage(pmSize, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //addOnTmp->setColor(0, bg.rgba()); + addOnTmp->fill(bg.rgba()); + + QPainter painter(addOnTmp); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolAddOn, symTableCont, _scene, + additionalSymbolData.m_vbg.color, additionalSymbolData.m_vbg.color, + 0.0, true, antiAliased); + _scene->render(&painter); + _cacheAddOn.insert(key, addOnTmp); + pmSymbolAddOn.append(addOnTmp); + } + } + } + } + // modifier_struct : + idCont = SymbolTable::getModifierSymbolIDs(additionalSymbolData.m_modifier); + for (int tmpID : std::as_const(idCont)) + { + if ( tmpID >= 0 ) + { + if ( _addOn->contains(tmpID) ) + { + const Symbol *symbolAddOn = _addOn->value(tmpID); + + // reinit l_additionalSymbolData + l_additionalSymbolData = SymbolTypes::AdditionalSymbolData(); + l_additionalSymbolData.m_modifier = additionalSymbolData.m_modifier; + const auto key = createKey(*symbolAddOn, l_additionalSymbolData, size, rgbaLine, rgbaLine, antiAliased); + const auto addOnTmp = _cacheAddOn[key]; + if (addOnTmp) + { + pmSymbolAddOn.append(addOnTmp); + } + else + { + QImage *addOnTmp2 = new QImage(pmSize, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //addOnTmp->setColor(0, bg.rgba()); + addOnTmp2->fill(bg.rgba()); + + QPainter painter(addOnTmp2); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + _scene->clear(); + SymbolExporter::drawSymbol(*symbolAddOn, symTableCont, _scene, rgbaRole, rgbaRole, + 0.0, true, antiAliased); + _scene->render(&painter); + _cacheAddOn.insert(key, addOnTmp2); + pmSymbolAddOn.append(addOnTmp2); + } + } + } + } // for + } + + ///////////////////////////////////////////////////////////////////////////// + // Full rendered Symbol + ///////////////////////////////////////////////////////////////////////////// + int offsetX = (pmSize.width() - size.width()) / 2; + int offsetY = (pmSize.height() - size.height()) / 2; + QImage pmSymbolFull(pmSize, ImageFormat); + QColor bg = rgbaLine; + bg.setAlpha(0); + //pmSymbolFull.setColor(0, bg.rgba()); + pmSymbolFull.fill(bg.rgba()); + + QPainter painter(&pmSymbolFull); + if ( antiAliased ) + { + painter.setRenderHints(QPainter::Antialiasing|QPainter::SmoothPixmapTransform); + } + + //////////////////////////////////////////// + // Rotation (used for Heading of symbols) + //////////////////////////////////////////// + qreal cx = pmSize.width() / 2.0; + qreal cy = pmSize.height() / 2.0; + int rotAngle = additionalSymbolData.m_rotationAngle; + painter.setTransform( QTransform().translate(cy, cy).rotate(rotAngle).translate(-cx, -cy) ); + //////////////////////////////////////////// + + if ( pmSymbolFrame != nullptr ) + { + QRect r = pmSymbolFrame->rect(); +// r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolFrame, pmSymbolFrame->rect()); + } + if ( pmSymbolVehicle != nullptr ) + { + QRect r = pmSymbolVehicle->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolVehicle, pmSymbolVehicle->rect()); + } + if ( pmSymbolIntrinsicMob != nullptr ) + { + QRect r = pmSymbolIntrinsicMob->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolIntrinsicMob, pmSymbolIntrinsicMob->rect()); + } + if ( pmSymbolArming != nullptr ) + { + QRect r = pmSymbolArming->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolArming, pmSymbolArming->rect()); + } + + if ( pmSymbolSectorIcon != nullptr ) + { + QRect r = pmSymbolSectorIcon->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolSectorIcon, pmSymbolSectorIcon->rect()); + } + + for (int i=0; irect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *(pmSymbolMisc.at(i)), pmSymbolMisc.at(i)->rect()); + } + if ( pmSymbolCL != nullptr ) + { + QRect r = pmSymbolCL->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolCL, pmSymbolCL->rect()); + } + for (int i=0; irect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *(pmSymbolBT.at(i)), pmSymbolBT.at(i)->rect()); + } + // The big ones do not need an Offset + if ( pmSymbolMob != nullptr ) + { + painter.drawImage(pmSymbolMob->rect(), *pmSymbolMob, pmSymbolMob->rect()); + } + if ( pmSymbolBCDAB != nullptr ) + { + painter.drawImage(pmSymbolBCDAB->rect(), *pmSymbolBCDAB, pmSymbolBCDAB->rect()); + } + if ( pmSymbolMain != nullptr ) + { + QRect r = pmSymbolMain->rect(); + r.moveTo(offsetX, offsetY); + painter.drawImage(r, *pmSymbolMain, pmSymbolMain->rect()); + } + // AddOn Symbols: + for (const QImage *img : std::as_const(pmSymbolAddOn)) + { + QRect r = img->rect(); + painter.drawImage(r, *img, r); + } + + QTransform transformView; + transformView.scale(1.0, -1.0); + + // transformView.rotate( 360 ); // rotation here leads to bad looking symbols + + QImage pmSymbolFullTransformed(pmSymbolFull.transformed(transformView)); + if (updateCache) + { + const auto key = createKey(symbol, additionalSymbolData, size, rgbaLine, rgbaRole, antiAliased); + _cacheFullSymbols.insert(key, new QImage(pmSymbolFullTransformed)); + } + + return pmSymbolFullTransformed; + +} // QImage PixmapSymbolCache::createPixmap(const Symbol& symbol... + + +PixmapSymbolCache::PixmapSymbolCache() : + _cacheFullSymbols(1000), + _cacheMainSymbols(1000), + _cacheFrames(500), + _cacheMobility(500), + _cacheBCDAB(500), + _cacheCommandLevel(500), + _cacheBranches(500), + _cacheVehicle(50), + _cacheIntrinsicMobility(50), + _cacheArming(50), + _cacheMisc(500), + _cacheAddOn(10), + _cacheSectorIcon(100), + _scene(new QGraphicsScene()), + _id(-1) +{ +} // PixmapSymbolCache::PixmapSymbolCache() + +PixmapSymbolCache::~PixmapSymbolCache() +{ + delete _scene; + + delete _frames; + delete _mobility; + delete _bcdab; + delete _commandLevel; + delete _branches; + delete _vehicle; + delete _intrinsicMobility; + delete _arming; + delete _misc; + delete _addOn; + delete _sectorIcon; + +} // PixmapSymbolCache::~PixmapSymbolCache() + +void PixmapSymbolCache::moveToThread(QThread *t) +{ + _scene->moveToThread(t); +} + +void PixmapSymbolCache::setId(int id) +{ + _id = id; +} + +int PixmapSymbolCache::id() const +{ + return _id; +} + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.h new file mode 100755 index 000000000..94dbbe41d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/pixmap_symbol_cache.h @@ -0,0 +1,275 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + + +#include +#include + +#include "symbology_xml_export.h" +#include "symbol_types.h" + +/** + \brief Cache for PixmapSymbols + + @author Stephan Kuhagen +*/ +class QImage; +class QColor; +class QSize; +class QGraphicsScene; + +namespace SymbologyXML +{ + +class Symbol; +class SymbolTable; + +class SYMBOLOGY_XML_EXPORT PixmapSymbolCache : public QObject +{ + Q_OBJECT +public: + ~PixmapSymbolCache(); + //! Return a reference to this singleton + static QSharedPointer instance(); + + //! Init the SymbolTables for attribute-symbols, takes ownership + void setSymbolTables(SymbolTable *frames, + SymbolTable *mobility, + SymbolTable *bcdab, + SymbolTable *commandLevel, + SymbolTable *branches, + SymbolTable *vehicle, + SymbolTable *intrinsicMobility, + SymbolTable *arming, + SymbolTable *misc, + SymbolTable *addOnSymbole, + SymbolTable *sectorIcon + ); + bool symbolTablesAlreadySet() const { return _frames != nullptr; } // should be enough + + //! Enum to select different types of sub-caches + // Enum-Order is chosen after size of bounding box + enum CacheType { + CacheMainSymbols, + CacheFrames, + CacheCommandLevel, + CacheBranches, + + CacheVehicle, // ??? Position im enum richtig? + CacheIntrinsicMobility, // ??? Position im enum richtig? + CacheArming, // ??? Position im enum richtig? + CacheMisc, // ??? Position im enum richtig? + CacheAddOn, // ??? Position im enum richtig? + CacheSectorIcon, // ??? Position im enum richtig? + + CacheMobility, + CacheBCDAB, + CacheFullSymbols, + CacheAny + }; + + /** + Retrieve a pixmap representation for a symbol. If possible, get it from the + cache, otherwise it is rendered on demand. + + If updateCache is false, a newly generated pixmap is not stored into the + cache. This may be useful, if the symbol is known to be rendered only once. + In this case, the caller is responsible for deleting the pixmap after use. + Normally the cache has ownership of the pixmaps and deletes them according + to the cache-strategy. If a pixmap is already in the cache, the pixmap is + still owned by the cache, and the caller must not delete the pixmap. To + check, if a pixmap is already in the cache, use contains(). + + \param symbol: The symbol to render + \param additionalSymbolData: additional data to render (direction vector, fillStyle...) + \param rgbaLine: The color for normal primitives. If rgbaRole is not + valid, primitives are drawn black. + \param rgbaRole: The color for filled areas. If rgbaRole is not valid, + areas are not filled. + \param size: The size of the pixmap. If the size is invalid (QSize()), the + default size from the settings is used. + NOTE: The given size does NOT set the actual size of the + returned pixmap, but the pixel-size of the scene-square + [-1.5, -1.5]-[1.5, 1.5]. This is the maximum bounding box of + all frame-symbols. The main-symbol should always fit into this + square, but some of the attributes will extend over these + values, causing the returned pixmap to be greater than size. + The pixmap is centered on the point [0, 0]. + \param antiAliased: If true, create an antialiased version of the Symbol. + \param overwriteAlpha: If this is true, the alpha-value (transparency) for + lines and filled areas is taken from rgbaLine and + rgbaRole. By default, it's taken from the global + setting. + \param updateCache: If this is false, the cache is not updated. + + \return QImage-pointer for the symbol. NOTE: Depending on updateCache, the + caller is responsible for deleting the QImage after use. + */ + QImage getPixmap(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size = QSize(), + const QColor &rgbaLine = QColor(), + const QColor &rgbaRole = QColor(), + bool antiAliased = true, bool overwriteAlpha = false, + bool updateCache = true); + + QImage getComponentPixmap(const Symbol& symbol, + CacheType cacheType, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size = QSize(), + const QColor &rgbaLine = QColor(), + const QColor &rgbaRole = QColor(), + bool antiAliased = true, bool overwriteAlpha = false); + + //! Check, if this Symbol/value-combination is in the cache. See getPixmap(). + bool contains(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size = QSize(), + const QColor &rgbaLine = QColor(), + const QColor &rgbaRole = QColor(), + bool antiAliased = true, + bool overwriteAlpha = false); + + /** + Clear the cache. Normally only the cache for full rendered symbols is + cleared, because attribute-symbols do not change often. + + \param cacheType: Which cache to clear. If CacheAny is gives, all caches + are cleared. + */ + void clearCache(CacheType cacheType = CacheFullSymbols); + + + /** + Dump all cached Pixmaps into files in a given directory. The filenames are + creates as follows: PREFIXID_KEY.png + PREFIX: parameter prefix + ID: SymbolID + KEY: Cache-Index-Key + \param path: Directory where to dump the files. + \param prefix: Prefix for filenames + \param cacheType: Which cache to dump. + */ + void dumpCache(const QString &path, const QString &prefix = QString(), + CacheType cacheType = CacheFullSymbols); + + + //! Return number of full rendered cached symbol pixmaps + unsigned int count() const { return _cacheFullSymbols.count(); } + unsigned int size() const { return _cacheFullSymbols.size(); } + + + //! Set global default for alpha-value of filled areas + bool setAlphaFill(int alpha); + int alphaFill() const { return _alphaFill; } + + //! Set global default for alpha-value of lines + bool setAlphaLine(int alpha); + int alphaLine() const { return _alphaLine; } + + //! Set global default for filling of areas + bool setFilledRendering(SymbolTypes::t_filltype fillType); + SymbolTypes::t_filltype getFilledRendering() const { return _fillType; } + + //! Set default size for Pixmaps + bool setDefaultSize(const QSize &size); + QSize getDefaultSize() const { return _defaultSize; } + + //! move all QObject derived members to thread t + void moveToThread(QThread *t); + + //! set ID if there are multiple parallel caches: + void setId(int id); + + //! get ID + int id() const; + +protected: + //! Create a KeyValue for Symbol-Caches + QByteArray createKey(const Symbol &symbol, + const SymbolTypes::AdditionalSymbolData &additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased); + + //! Check, if thZ/src/libsymbol_gui/pixmapSymbolCache.his Symbol/value-combination is in the cache. See getPixmap(). + bool containsInternal(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, + CacheType cacheType); + + //! Create a Pixmap and store to cache(s) + QImage createPixmap(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalSymbolData, + const QSize &size, + const QColor &rgbaLine, + const QColor &rgbaRole, + bool antiAliased, + bool updateCache); + +private: + PixmapSymbolCache(); + + SymbolTable *_frames{nullptr}; + SymbolTable *_mobility{nullptr}; + SymbolTable *_bcdab{nullptr}; + SymbolTable *_commandLevel{nullptr}; + SymbolTable *_branches{nullptr}; + SymbolTable *_vehicle{nullptr}; + SymbolTable *_intrinsicMobility{nullptr}; + SymbolTable *_arming{nullptr}; + SymbolTable *_misc{nullptr}; + SymbolTable *_addOn{nullptr}; + SymbolTable *_sectorIcon{nullptr}; + + QByteArray _lastKey; + /** + Bounding Boxes for Scenes (SceneRect): + FullSymbols: -2.0, -2.0 -- 2.0, 2.0 + MainSymbols: -1.5, -1.5 -- 1.5, 1.5 + Frames: -2.0, -2.0 -- 2.0, 2.0 + Mobility: -2.0, -2.0 -- 2.0, 2.0 + BCDAB: -2.0, -2.0 -- 2.0, 2.0 + CommandLevel: -1.5, -1.5 -- 1.5, 1.5 + Branches: -1.5, -1.5 -- 1.5, 1.5 + vehicle:? -1.5, -1.5 -- 1.5, 1.5 ??? + intrinsicMob:?-1.5, -1.5 -- 1.5, 1.5 ??? + arming: ? -1.5, -1.5 -- 1.5, 1.5 ??? + */ + + + QCache _cacheFullSymbols; /* 1000 */ + QCache _cacheMainSymbols; /* 1000 */ + QCache _cacheFrames; /* 500 */ + QCache _cacheMobility; /* 500 */ + QCache _cacheBCDAB; /* 500 */ + QCache _cacheCommandLevel; /* 500 */ + QCache _cacheBranches; /* 500 */ + QCache _cacheVehicle; /* 50 */ + QCache _cacheIntrinsicMobility; /* 50 */ + QCache _cacheArming; /* 50 */ + QCache _cacheMisc; /* 500 */ + QCache _cacheAddOn; /* 10 */ + QCache _cacheSectorIcon; /* 100 */ + + int _alphaFill{255}; + int _alphaLine{255}; + SymbolTypes::t_filltype _fillType{SymbolTypes::FILLTYPE_FILLED}; + QSize _defaultSize{128, 128}; + QGraphicsScene *_scene{nullptr}; + + int _id; + +}; // class PixmapSymbol + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.cpp new file mode 100755 index 000000000..a09257538 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.cpp @@ -0,0 +1,636 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "primitive.h" + +#include +#include +#include "symbol_reader.h" +#include + + +namespace SymbologyXML +{ + +unsigned int Primitive::_idCount = 0; + + +Primitive::Primitive(t_primitive type) + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.Primitive")) + , _id(++_idCount) + , _type(type) +{ + TRACE_LOG(logger) << LOGFUNCTION ; + TRACE_LOG(logger) << "END " << LOGFUNCTION ; +} // Primitive::Primitive(t_primitive type) + + +Primitive::Primitive(const Primitive& other) + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.Primitive")) +{ + TRACE_LOG(logger) << LOGFUNCTION ; + + ++_idCount; + _id = _idCount; // _id is NOT copied ( see operator= ) + *this = other; // _id is NOT copied ( see operator= ) + + TRACE_LOG(logger) << "END " << LOGFUNCTION ; +} // Primitive::Primitive(const Primitive& other) + + +Primitive& Primitive::operator=(const Primitive& other) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + //// _id = other._id; Do NOT have identical _id + _type = other._type; + _valid = other._valid; + _points = other._points; + _fill = other._fill; + _lineWidth = other._lineWidth; + _lineStyle = other._lineStyle; + _closed = other._closed; + _startAngle = other._startAngle; + _extent = other._extent; + _rotation = other._rotation; + _transform = other._transform; + _color = other._color; + _iconId = other._iconId; + _iconType = other._iconType; + _text = other._text; + _position = other._position; + _rectpos = other._rectpos; + _scalemode = other._scalemode; + _font = other._font; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return *this; +} // Primitive& Primitive::operator=(const Primitive& other) + + +Primitive::~Primitive() { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // Primitive::~Primitive() + + +bool Primitive::operator==(const Primitive& other) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( _id == other._id ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return true; + } + bool result = true; + result &= _type == other._type; + result &= _valid == other._valid; + result &= _points == other._points; + result &= _fill == other._fill; + result &= _lineWidth == other._lineWidth; + result &= _lineStyle == other._lineStyle; + result &= _closed == other._closed; + result &= _startAngle == other._startAngle; + result &= _extent == other._extent; + result &= _rotation == other._rotation; + result &= _transform == other._transform; + result &= _color == other._color; + result &= _iconId == other._iconId; + result &= _iconType == other._iconType; + result &= _position == other._position; + result &= _rectpos == other._rectpos; + result &= _scalemode == other._scalemode; + result &= _text == other._text; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // bool Primitive::operator==(const Primitive& other) + + +bool Primitive::operator!=(const Primitive& other) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return !(*this == other); +} // bool Primitive::operator!=(const Primitive& other) + + +void Primitive::setFill(bool flag) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _fill = flag & (_type != LINE); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setFill(bool flag) + + +void Primitive::setClosed(bool flag) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _closed = flag; + if ( (_type == ELLIPSE) && _closed ) { + _extent = 360.0; + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setClosed(bool flag) + + +bool Primitive::setPoints(const QPolygonF &pointList) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + bool ok = true; + switch (_type) { + case ELLIPSE: + case LINE: + case RECT: + case ICON: + case TEXT: + if ( pointList.size() != 2 ) { + ok = false; + } + break; + case POLYGON: + if ( pointList.size() < 3 ) { + ok = false; + } + break; + default: _valid = false; + } + + _points.clear(); + _points = pointList; + _valid = ok; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _valid; +} // bool Primitive::setPoints(QList pointList) + + + +void Primitive::setLineWidth(double width) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _lineWidth = width; + _valid = (width > 0.0); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setLineWidth(double width) + + +void Primitive::setLineStyle(t_linestyle style) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _lineStyle = style; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setLineStyle(t_linestyle style) + + +void Primitive::setStartAngle(double start) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if (_type == ELLIPSE) { + _startAngle = fmod(start, 360.0); + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setStartAngle(double start) + + +void Primitive::setExtent(double extent) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if (_type == ELLIPSE) { + if ( extent < -360.0 ) { + _extent = -360.0; + } else if ( extent > 360.0 ) { + _extent = 360.0; + } else { + _extent = extent; + } + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setExtent(double extent) + + +bool Primitive::getBoundingBox(double &x0, double &y0, double &x1, double &y1, bool ignoreEllipseType) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( !isValid() ) { + WARNING_LOG(logger) << "Primitive::getBoundingBox - primitive not valid"; + return false; + } + + const QRectF br = _points.boundingRect(); + + // Check for open Ellipse + if ( (_type == ELLIPSE) && !_closed && !ignoreEllipseType) { + return getBoundingBoxEllipse(x0, y0, + x1, y1, + br.x(), br.y(), + br.x() + br.width(), br.y() + br.height()); + } + x0 = br.x(); + y0 = br.y(); + x1 = br.x() + br.width(); + y1 = br.y() + br.height(); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return true; +} // void Primitive::getBoundingBox(double* x0, ...) const + + +void Primitive::getCenter(double &x, double &y) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + + double x0, y0, x1, y1; + if (getBoundingBox(x0, y0, x1, y1, true)) + { + x = (x0+x1)/2.0; + y = (y0+y1)/2.0; + } + else + { + x = y = 0; + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::getCenter(double* x, double* y) const + + +void Primitive::move(const QPointF &diff) { + _points.translate(diff); +} + +void Primitive::scale(double factorX, double factorY) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( (factorX <= 0.0) || (factorY <= 0.0) ) { + // Factor too small, ignore + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + + // Get bounding box center + double x0, x1, y0, y1; + if (!getBoundingBox(x0, y0, x1, y1)) + return; + double cx = (x0+x1)/2.0; + double cy = (y0+y1)/2.0; + + // Transform all points to origin and multiply with factor + for (int i = 0; i < _points.size(); ++i) { + double tmpx = (_points.at(i)).x() - cx; + double tmpy = (_points.at(i)).y() - cy; + tmpx = (tmpx*factorX)+cx; + tmpy = (tmpy*factorY)+cy; + _points[i].setX(tmpx); + _points[i].setY(tmpy); + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::scale(double factorX, double factorY) + +void Primitive::setText(const QString &text) { + _text = text; +} + +QString Primitive::text() const { + return _text; +} + +void Primitive::setIcon(int id) { + _iconId = id; +} + +int Primitive::icon() const { + return _iconId; +} + +void Primitive::setIconType(SymbolTypes::t_icon_type iconType) { + _iconType = iconType; +} + +SymbolTypes::t_icon_type Primitive::iconType() const { + return _iconType; +} + +void Primitive::setPosition(SymbolTypes::t_sector_position position) { + _position = position; +} + +SymbolTypes::t_sector_position Primitive::position() const { + return _position; +} + +void Primitive::setRectpos(SymbolTypes::t_sector_rectpos rectpos) { + _rectpos = rectpos; +} + +SymbolTypes::t_sector_rectpos Primitive::rectpos() const { + return _rectpos; +} + +void Primitive::setScalemode(Primitive::t_scalemode scalemode) +{ + _scalemode = scalemode; +} + +Primitive::t_scalemode Primitive::scalemode() const +{ + return _scalemode; +} + +QString Primitive::scalemode(Primitive::t_scalemode scalemode) +{ + QString ret; + switch(scalemode) { + case Scalemode_Undefined: ret = QStringLiteral("undefined"); break; + case Scalemode_Proport: ret = QStringLiteral("proport"); break; + case Scalemode_Unproport: ret = QStringLiteral("unproport"); break; + default: ret = QStringLiteral("undefined"); break; + } + return ret; +} + +Primitive::t_scalemode Primitive::scalemode(const QString &scalemode) +{ + Primitive::t_scalemode ret = Scalemode_Undefined; + if(scalemode == QStringLiteral("proport")) { + ret = Scalemode_Proport; + } else if(scalemode == QStringLiteral("unproport")) { + ret = Scalemode_Unproport; + } + return ret; +} + +void Primitive::setRotation(double angle) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _rotation = fmod(angle, 360.0); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::setRotation(double angle) + + +bool Primitive::getBoundingBoxEllipse(double &x0, double &y0, double &x1, double &y1, + double tx0, double ty0, double tx1, double ty1) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( !isValid() || (_type != ELLIPSE) ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return false; + } + + double extent = closed()?360.0:_extent; + + QList pointsX; + QList pointsY; + double end = _startAngle+extent; + + // Add start/end-point + double centerX = (tx0+tx1)/2.0; + double centerY = (ty0+ty1)/2.0; + + double startX = cos(-_startAngle*2*M_PI/360.0); + startX = centerX+(startX*(tx1-tx0)/2.0); + + double startY = sin(_startAngle*2*M_PI/360.0); + startY = centerY+(startY*(ty1-ty0)/2.0); + + double endX = cos(-end*2*M_PI/360.0); + endX = centerX+(endX*(tx1-tx0)/2.0); + + double endY = sin(end*2*M_PI/360.0); + endY = centerY+(endY*(ty1-ty0)/2.0); + + pointsX.append(startX); + pointsX.append(endX); + pointsY.append(startY); + pointsY.append(endY); + + // Check 0°, 90°, 180°, 270° + if ( extent >= 0.0 ) { + // Counter-clockwise + if ( ((_startAngle <= 0.0) && (end >= 0.0)) || + ((_startAngle <= -360.0) && (end >= -360.0)) || + ((_startAngle <= 360.0) && (end >= 360.0)) || + ((_startAngle <= -720.0) && (end >= -720.0)) ) { + // 0°/-360°/360° is in + pointsX.append(tx1); + } + // Counter-clockwise + if ( ((_startAngle <= 90.0) && (end >= 90.0)) || + ((_startAngle <= -270.0) && (end >= -270.0)) || + ((_startAngle <= 450.0) && (end >= 450.0)) || + ((_startAngle <= -630.0) && (end >= -630.0)) ) { + // 90°/-270°/450° is in + pointsY.append(ty1); + } + if ( ((_startAngle <= 180.0) && (end >= 180.0)) || + ((_startAngle <= -180.0) && (end >= -180.0)) || + ((_startAngle <= 540.0) && (end >= 540.0)) || + ((_startAngle <= -540.0) && (end >= -540.0)) ) { + // 180°/-180°/540° is in + pointsX.append(tx0); + } + if ( ((_startAngle <= 270.0) && (end >= 270.0)) || + ((_startAngle <= -90.0) && (end >= -90.0)) || + ((_startAngle <= 630.0) && (end >= 630.0)) || + ((_startAngle <= -450.0) && (end >= -450.0)) ) { + // 270°/-90°/630° is in + pointsY.append(ty0); + } + } else { + // Clockwise + if ( ((_startAngle >= 0.0) && (end <= 0.0)) || + ((_startAngle >= -360.0) && (end <= -360.0)) || + ((_startAngle >= 360.0) && (end <= 360.0)) || + ((_startAngle >= -720.0) && (end <= -720.0)) ) { + // 0°/-360°/360° is in + pointsX.append(tx1); + } + if ( ((_startAngle >= 90.0) && (end <= 90.0)) || + ((_startAngle >= -270.0) && (end <= -270.0)) || + ((_startAngle >= 450.0) && (end <= 450.0)) || + ((_startAngle >= -630.0) && (end <= -630.0)) ) { + // 90°/-270°/450° is in + pointsY.append(ty1); + } + if ( ((_startAngle >= 180.0) && (end <= 180.0)) || + ((_startAngle >= -180.0) && (end <= -180.0)) || + ((_startAngle >= 540.0) && (end <= 540.0)) || + ((_startAngle >= -540.0) && (end <= -540.0)) ) { + // 180°/-180°/540° is in + pointsX.append(tx0); + } + if ( ((_startAngle >= 270.0) && (end <= 270.0)) || + ((_startAngle >= -90.0) && (end <= -90.0)) || + ((_startAngle >= 630.0) && (end <= 630.0)) || + ((_startAngle >= -450.0) && (end <= -450.0)) ) { + // 270°/-90°/630° is in + pointsY.append(ty0); + } + } + + double lx0 = pointsX.at(0); + double ly0 = pointsY.at(0); + double lx1 = lx0; + double ly1 = ly0; + // Find min/max for X/Y + for (int i = 1; i < pointsX.size(); ++i) { + if ( pointsX.at(i) < lx0 ) { + lx0 = pointsX.at(i); + } else if ( pointsX.at(i) > lx1 ) { + lx1 = pointsX.at(i); + } + } + for (int i = 1; i < pointsY.size(); ++i) { + if ( pointsY.at(i) < ly0 ) { + ly0 = pointsY.at(i); + } else if ( pointsY.at(i) > ly1 ) { + ly1 = pointsY.at(i); + } + } + + x0 = lx0; + y0 = ly0; + x1 = lx1; + y1 = ly1; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + + return true; +} // void Primitive::getBoundingBoxEllipse(double* x0, ...) const + + +void Primitive::rotate() { + DEBUG_LOG(logger) << LOGFUNCTION ; + + // Ellipse needs special handling and temporary hiding of its type + bool isEllipseType = (_type == ELLIPSE); + + // Get center of bounding box + double x0, y0, x1, y1, cx, cy; + if ( isEllipseType ) { _type = LINE; } + if (!getBoundingBox(x0, y0, x1, y1)) + return; + if ( isEllipseType ) { _type = ELLIPSE; } + cx = (x0+x1)/2.0; + cy = (y0+y1)/2.0; + + if ( (_type == RECT) && ( fmod(_rotation, 90.0) != 0.0 ) ) { + // Convert Rectangle to Polygon, because we need to rotate all four points + // This does not change the bbox, so its okay, to do this here + rectToPolygon(); + } else if ( _type == ELLIPSE ) { + if ( fmod(_rotation, 90.0) == 0.0 ) { + // Rotate ELLIPSE in multiple of 90°: Set the _startAngle to rotated + // value and then rotate the defining points. + // This does not change the bbox, so its okay, to do this here + _startAngle = _startAngle+(fmod(_rotation, 360.0)); + } else { + + const double temp = std::abs(_extent); + ellipseToPolygon(lrint(temp/2)); + } + } + + // Rotate all points + for (int i = 0; i < _points.size(); ++i) { + double px = _points.at(i).x(); + double py = _points.at(i).y(); + rotatePoint(px, py, cx, cy, &px, &py, _rotation); + _points[i] = QPointF(px, py); + } + + // Reset the rotation-property + _rotation = 0.0; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::rotate() + + +void Primitive::ellipseToPolygon(unsigned int approxSteps) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( _type != ELLIPSE ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + + // Get the full Bounding Box + _type = POLYGON; + double x0, y0, x1, y1; + if (!getBoundingBox(x0, y0, x1,y1)) + return; + // Get center for translation of points + double cx = (x0+x1)/2.0; + double cy = (y0+y1)/2.0; + // Get Bounding Box size for scaling + double sx = (x1-x0)/2.0; + double sy = (y1-y0)/2.0; + + _points.clear(); + unsigned int steps = (approxSteps>10)?approxSteps:10; + if (steps > 20) + steps = 20; + double stepSize = _extent/(double)steps; + for (unsigned int i = 0; i <= steps; ++i) { + double stepAngle = _startAngle+(double)i*stepSize; + double px, py; + rotatePoint(1.0, 0.0, 0.0, 0.0, &px, &py, stepAngle); + _points.append(QPointF(px*sx+cx, py*sy+cy)); + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::ellipseToPolygon(unsigned int approxSteps) + + +void Primitive::rectToPolygon() { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( _type != RECT ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + + QPolygonF points; + points.append(_points.at(0)); + points.append(QPointF(_points.at(0).x(), _points.at(1).y())); + points.append(_points.at(1)); + points.append(QPointF(_points.at(1).x(), _points.at(0).y())); + _points = points; + _type = POLYGON; + _closed = true; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Primitive::rectToPolygon() + + +void Primitive::rotatePoint(double px, double py, + double cx, double cy, + double *rx, double *ry, + double angle) { + // This is a static method, so no logging is used here + + // angle to rad + double radAngle = ((2*M_PI)/360.0)*angle; + + // Translate + double tx = px-cx; + double ty = py-cy; + // Rotate + double nx = tx*cos(radAngle)-ty*sin(radAngle); + double ny = tx*sin(radAngle)+ty*cos(radAngle); + // Translate back and write result + *rx = nx+cx; + *ry = ny+cy; +} // void Primitive::rotatePoint(double px...) + +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.h new file mode 100755 index 000000000..afea3b36a --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/primitive.h @@ -0,0 +1,501 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + + +#include +#include +#include + +#include + +#include "symbology_xml_export.h" +#include "symbol_types.h" + + +namespace SymbologyXML +{ + + static const int primitiveKey = 42; +/** + \brief Abstracion of graphical items of a Symbol. + + Primitive Objects are used by Symbol to represent the graphical representation + of a Symbol. + + @author Stephan Kuhagen +*/ +class SYMBOLOGY_XML_EXPORT Primitive { +public: + //! Enum defining all types of graphic-primitives + enum t_primitive {ELLIPSE, LINE, POLYGON, RECT, ICON, TEXT}; + + explicit Primitive(t_primitive type); + Primitive(const Primitive& other); + ~Primitive(); + + //! Compare-Operator + bool operator==(const Primitive& other) const; + bool operator!=(const Primitive& other) const; + + //! Assignment-Operator + Primitive& operator=(const Primitive& other); + + //! Return the unique ID of this Primitive + unsigned int id() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _id; + } + + //! Return the type of this primitive + t_primitive type() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _type; + } + + //! Return true, if this primitive is valid. + bool isValid() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _valid; + } + + + /** + Set the points defining the geometry for this primitive. + \param pointList: A list containing the points. + \return true on success (Primitive is valid), else otherwise + */ + bool setPoints(const QPolygonF &pointList); + + //! Return the points defining the geometry of this Primitive + QPolygonF getPoints() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _points; + } + + + /** + Set this to true, if the Primitive should be filled. + \param flag + */ + void setFill(bool flag); + + /** + Return true, if this Primitive should be filled. For LINE this always + returns false. + \return true, if the Primitive should be filled, false otherwise + */ + bool fill() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _fill; + } + + + /** + Set the Primitives linewidth + \param width: The new linewidth + */ + void setLineWidth(double width); + + /** + Get the Primitives linewidth + \return width + */ + double getLineWidth() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _lineWidth; + } + + //! Set the linestyle of the Primitive + enum t_linestyle {SOLID, DASHED, DOTTED, DASHED_DOTTED}; + + /** + Set the Primitives linestyle + \param style: The new linestyle + */ + void setLineStyle(t_linestyle style); + + /** + Get the Primitives linestyle + \return style + */ + t_linestyle getLineStyle() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _lineStyle; + } + + + /** + Set the Color of the Primitive. Most times this remains unset, which means + that the color is set by the processing code. For the Map and certain + additional Symbol-Files a color is needed, though. + */ + void setColor(const QColor &color) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _color = color; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Get the Color of the Primitive. This may be a invalid Color. + */ + QColor getColor() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _color; + } + + /** + Set this to true, if the Primitive should be closed. + This only applies to POLYGON and ELLIPSE + \param flag + */ + void setClosed(bool flag); + + /** + Return true, if this Primitive should be closed. + This only applies to POLYGON and ELLIPSE + \return true, if the Primitive should be closed, false otherwise + */ + bool closed() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _closed; + } + + /** + Set the start-angle for a non-closed ellipse-primitive. | a(90) + Start-Point is 3 on a analog clock. The angle is set | | + counterclockwise, i.e. 90 means 12 on a analog clock. | a(180) --O-- a(0) + This is ignored, if closed() is true. This only applies | | + to ELLIPSE. | a(270) + \param start: the Angle, where the ellipse starts + */ + void setStartAngle(double start); + + /** + Return the start-angle of a non-closed ELLIPSE + \return start-angle + */ + double getStartAngle() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _startAngle; + } + + /** + Set the extent-angle for a non-closed ellipse-primitive. The angle is set + counterclockwise starting at start-angle. This is ignored, if closed() + is true. This only applies to ELLIPSE + \param extent: the extent of the ELLIPSE + */ + void setExtent(double extent); + + /** + Return the extent of a non-closed ELLIPSE + \return extent + */ + double getExtent() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _extent; + } + + /** + Return the bounding box of this primitive. If the primitive is not valid, + the result is undefined. The linewidth is not added to the bounding box, + upper and lower limits may be the same value, depending on the shape of the + Primitive. + \param x0: Pointer storing the smaller x-value of the bounding box + \param y0: Pointer storing the smaller y-value of the bounding box + \param x1: Pointer storing the greater x-value of the bounding box + \param y1: Pointer storing the greater y-value of the bounding box + \param ignoreEllipseType: If true, get the full bbox for an ELLIPSE, even if it is an Arc + */ + bool getBoundingBox(double& x0, double& y0, double& x1, double& y1, + bool ignoreEllipseType = false) const; + + + /** + Get the center fo the bounding box of the defining points. For all types + except ELLIPSE this means the center of the bounding box. For open ELLIPSE + (i.e. "arc") this means the center of the two points that define the + ELLIPSE-Area. + \param x: Pointer storing the x-value of the bounding box + \param y: Pointer storing the y-value of the bounding box + */ + void getCenter(double &x, double &y) const; + + /** + Move the primitive. + \param x: The x-value to move + \param y: The y-value to move + */ + void move(const QPointF &diff); + + + /** + Scale the primitive. Scaling is done around the center of its + bounding box. The factor must be greater than 0.0. + \param factorX: Scale-factor in X-direction (>0.0) + \param factorY: Scale-factor in Y-direction (>0.0) + */ + void scale(double factorX, double factorY); + + /** + Sets the textof this primitive. + \param text: The Text + */ + void setText(const QString &text); + + /** + Gets the text of this primitive. + \return The Text + */ + QString text() const; + + /** + Sets the font of this primitive. + \param font: The Font + */ + void setFont(const QFont &font); + + /** + Gets the font of this primitive. + \return The font + */ + QFont font() const; + + /** + Sets the id of the icon of this primitive. + \param id: ID of the icon + */ + void setIcon(int id); + + /** + Gets the id of the icon of this primitive. + \return ID of the icon + */ + int icon() const; + + /** + Sets the id of the icon of this primitive. + \param id: ID of the icon + */ + void setIconType(SymbolTypes::t_icon_type iconType); + + /** + Gets the id of the icon of this primitive. + \return ID of the icon + */ + SymbolTypes::t_icon_type iconType() const; + + /** + Sets the position of this primitive. + param position of the primitive + */ + + void setPosition(SymbolTypes::t_sector_position position); + + /** + Gets the position of this primitive. + \return position of the primitive + */ + SymbolTypes::t_sector_position position() const; + + /** + Sets the rectpos of this primitive. + param rectpos of the primitive + */ + void setRectpos(SymbolTypes::t_sector_rectpos rectpos); + + /** + Gets the rectpos of this primitive. + \return rectPos of the primitive + */ + SymbolTypes::t_sector_rectpos rectpos() const; + + //! scalemode + enum t_scalemode { Scalemode_Undefined, Scalemode_Proport, Scalemode_Unproport }; + + /** + Sets the scalemode of this primitive. + param scalemode of the primitive + */ + void setScalemode(t_scalemode scalemode); + + /** + Gets the scalemode of this primitive. + \return scalemode of the primitive + */ + t_scalemode scalemode() const; + + /** + Gets a scalemode as string + param scalemode + \return scalemode as string + */ + static QString scalemode(t_scalemode scalemode); + + /** + Gets a scalemode as enum + param scalemode as string + \return scalemode as enum + */ + static t_scalemode scalemode(const QString &scalemode); + + /** + Sets the rotation of this Primitive around the center of its full bounding + box (i.e. for an arc, this is the bounding box of the full ellipse). The + rotation is not actually calculated, but only set as property. To calculated + the rotation (and reset the property and possibly change the type) use + rotate(double angle). + \param angle: The new rotation angle + */ + void setRotation(double angle); + + /** + Get the value of the rotation-property. + \return The rotation-angle + */ + double getRotation() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _rotation; + } + + + /** + Rotate the Primitive around the center of its Bounding Box. Since + ELLIPSE-Primitives are normally parallel to x/y-Axes, rotating an ELLIPSE + results in a change of type to POLYGON and an approximation of the + rotated ELLIPSE-Shape (@ellipseToPolygon()). If the Rotation-Angle is a + multiple of (+/-)90°, the ELLIPSE will be correctly rotated without + conversion. The same applies to RECT. + This method resets the rotation-property to 0.0, because the rotation is + now actually calculated. + */ + void rotate(); + + + /** + Rotate a point around with another point as center. Used as helper for + rotate(). Because it may be usefull elsewhere, it's static public. + \param px: Point-x + \param py: Point-y + \param cx: Center-x + \param cy: Center-y + \param rx: Pointer for result-x + \param ry: Pointer for result-y + \param angle: Rotation-angle in degree. + */ + static void rotatePoint(double px, double py, double cx, double cy, + double *rx, double *ry, double angle); + + + /** + Set if this Primitive should be transformed, when the Symbol tries to match + the geometry to Dimension/Affiliation. Default is to transform. + \param transform: If false, skip this Primitive on geometry-transformations + */ + void setTransform(bool transform) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _transform = transform; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + + /** + Return a matrix-ID for geometry-transformation for a given combination of + dimension and affiliation or -1, if no suitable transformation is known. + \param dimen: Dimension-key + \param affil: Affiliation-key + \return ID of the Matrix for dimen and affil + */ + int getTransform() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _transform; + } + + +private: + //! NGLLogger + NGL::INGLLogger& logger; + + /** + Return the bounding box of this primitive, if _type is ELLIPSE. This is a + helper for getBoundingBox. + \param x0: Pointer storing the smaller x-value of the bounding box + \param y0: Pointer storing the smaller y-value of the bounding box + \param x1: Pointer storing the greater x-value of the bounding box + \param y1: Pointer storing the greater y-value of the bounding box + \param tx0: x0-value of the full bounding box + \param ty0: y0-value of the full bounding box + \param tx1: x1-value of the full bounding box + \param ty1: y1-value of the full bounding box + */ + bool getBoundingBoxEllipse(double &x0, double &y0, double &x1, double &y1, + double tx0, double ty0, double tx1, double ty1) const; + + + /** + Convert a ELLIPSE-type Primitive to a POLYGON-Type by approximation. This + method does nothing, if this is not an ELLIPSE. + \param approxSteps: How many points the approximation for a rotated ELLIPSE + should at least have. This may not be less than 10 steps. + */ + void ellipseToPolygon(unsigned int approxSteps); + + + /** + Convert a RECT-type Primitive to a POLYGON-Type. This method does nothing, + if this is not a RECT. + */ + void rectToPolygon(); + + static unsigned int _idCount; + unsigned int _id; + + QString _text; + bool _transform = false; + bool _valid = false; + bool _fill = false; + bool _closed = false; + t_primitive _type; + QPolygonF _points; + double _lineWidth = 0.01; + double _startAngle = 0; + double _extent = 360; + double _rotation = 0; + t_linestyle _lineStyle = SOLID; + QFont _font; + QColor _color; + + // 1: iconId -> _iconId + // 2. ICON-TYPE -> _iconType + // 3. sectorPosition -> _position + // 4. wantedBox of possibly modified ICON -> is stored in _points + int _iconId = -1; // enumeration value of ICON if this primitive is of type 'ICON' + SymbolTypes::t_icon_type _iconType = SymbolTypes::ICON_TYPE_UNDEFINED; // enumeration value of ICON (sector, intrMob, Arming, MISC... + SymbolTypes::t_sector_position _position = SymbolTypes::SECTOR_POSITION_UNDEFINED; // SECTOR 1, 2, MAIN, FF + SymbolTypes::t_sector_rectpos _rectpos = SymbolTypes::SECTOR_RECTPOS_DEFAULT; // SECTOR rectangle position + t_scalemode _scalemode = Scalemode_Undefined; // mode of scaling (prop./unprop.) + +}; // class Primitive + +} // namespace SymbologyXML + +Q_DECLARE_METATYPE(SymbologyXML::Primitive*) diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.cpp new file mode 100755 index 000000000..1a77c103f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.cpp @@ -0,0 +1,1188 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "symbol.h" +#include "attribute_data.h" +#include "primitive.h" +#include "symbol_table.h" +#include "symbol_reader.h" + +#include +#include +#include + +#include +#include +#include +#include + +namespace SymbologyXML +{ + + SymbologyXML::SymbolTypes::t_affil Symbol::roleToAffiliation(AdvancedSymbology::Role role) + { + switch (role) { + case AdvancedSymbology::Role::Pending: + return SymbologyXML::SymbolTypes::PENDING; + case AdvancedSymbology::Role::Unknown: + return SymbologyXML::SymbolTypes::UNKNOWN; + case AdvancedSymbology::Role::AssumedFriend: + return SymbologyXML::SymbolTypes::ASSUMED_FRIEND; + case AdvancedSymbology::Role::Friend: + return SymbologyXML::SymbolTypes::FRIEND; + case AdvancedSymbology::Role::Neutral: + return SymbologyXML::SymbolTypes::NEUTRAL; + case AdvancedSymbology::Role::SuspectJoker: + return SymbologyXML::SymbolTypes::SUSPECT; + case AdvancedSymbology::Role::HostileFaker: + return SymbologyXML::SymbolTypes::ENEMY; + } // switch + return SymbologyXML::SymbolTypes::AFFIL_UNDEFINED; + } // SymbologyXML::SymbolTypes::t_affil Symbol::roleToAffiliation(Role role) + + + +// 1.0 Guez & TES-UAE +// 2.0 APP6(C)-Erweiterung (ab 2011/07) +#ifdef APP6C + const char* Symbol::SymbolVersion = "2.0"; +#else + const char* Symbol::SymbolVersion = "1.0"; +#endif //APP6C + + +bool Symbol::initMatrixDone = false; + +QMap, Symbol::Matrix> Symbol::_matrixMapBCDAB; +QMap, Symbol::Matrix> Symbol::_matrixMapCommandLevel; +QMap, Symbol::Matrix> Symbol::_matrixMapBranch; + +Symbol::Symbol() + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.Symbol")), + _bbCacheValid(false), + _id(0), + _name(QString()), + _textType(TEXT_UNDEFINED), + _maxStringLength(0), + _dimen(SymbolTypes::DIMEN_UNDEFINED), + _affil(SymbolTypes::AFFIL_UNDEFINED), + _bcd_ab(SymbolTypes::BCDAB_UNDEFINED), + _commandlevel(SymbolTypes::CL_UNDEFINED), + _headquarter(false), + _mob(SymbolTypes::MOB_UNDEFINED), + _vehicle(SymbolTypes::VEHICLE_UNDEFINED), + _intrinsicmob(SymbolTypes::INTRINSICMOB_UNDEFINED), + _arming(SymbolTypes::ARMING_UNDEFINED), +#ifdef APP6C + _sector1(SymbolTypes::SEC1_UNDEFINED), + _sectoricon(SymbolTypes::SECICON_UNDEFINED), +#endif // APP6C + _transformed(false), + _scale(1.0), + _changeCount(0), + _classId(0) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + reset(); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // Symbol::Symbol() + + +Symbol::~Symbol() { + DEBUG_LOG(logger) << LOGFUNCTION ; + qDeleteAll(_primitives); + _primitives.clear(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // ~Symbol() + + +Symbol::Symbol(const Symbol& other) + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.Symbol")), + _changeCount(0) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + reset(); + *this = other; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // Symbol::Symbol(const Symbol& other) + + +Symbol& Symbol::operator=(const Symbol& other) { + DEBUG_LOG(logger) << LOGFUNCTION ; + reset(); + + // Attributes + _id = other._id; + _dimen = other._dimen; + _affil = other._affil; + _bcd_ab = other._bcd_ab; + _commandlevel = other._commandlevel; + _headquarter = other._headquarter; + _mob = other._mob; + _vehicle = other._vehicle; + _intrinsicmob = other._intrinsicmob; + _arming = other._arming; + _miscTags = other._miscTags; + _transformed = other._transformed; + // Symbols name + _name = other._name; + + _sector1 = other._sector1; + _sectoricon = other._sectoricon; + + // Branches + _branchTags = other._branchTags; + + // Text + _textType = other._textType; + _line1 = other._line1; + _line2 = other._line2; + _line3 = other._line3; + _align1 = other._align1; + _align2 = other._align2; + _align3 = other._align3; + _maxStringLength = other._maxStringLength; + + // Primitives + for (Primitive* prim : other._primitives) { + _primitives.push_back(new Primitive(*prim)); + } + _scale = other._scale; + _bbCacheValid = other._bbCacheValid; + ++_changeCount; + + // APP6-Classification + _classId = other._classId; + _className = other._className; + _classHierarchy = other._classHierarchy; + _classCodeId = other._classCodeId; + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return *this; +} // Symbol& Symbol::operator=(const Symbol& other) + + +bool Symbol::operator==(const Symbol& other) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + bool result = true; + + // Attributes + result &= _dimen == other._dimen; + result &= _bcd_ab == other._bcd_ab; + result &= _commandlevel == other._commandlevel; + result &= _headquarter == other._headquarter; + result &= _mob == other._mob; + result &= _vehicle == other._vehicle; + result &= _intrinsicmob == other._intrinsicmob; + result &= _arming == other._arming; + result &= _miscTags == other._miscTags; + + result &= _sector1 == other._sector1; + result &= _sectoricon == other._sectoricon; + + // NOTE + // _affil is NOT compared, this is not an error, because _affil does not + // define a symbols property but a state. + // + // _id is not compared, because it is an identifier used in the database, + // but not really a part of the Symbols definition + // + // _name is not compared for the same reason. _name is used for describing + // the Symbols meaning in human-readable form. + + // Branches + result &= _branchTags == other._branchTags; + + // Text + result &= _textType == other._textType; + result &= _line1 == other._line1; + result &= _line2 == other._line2; + result &= _line3 == other._line3; + result &= _align1 == other._align1; + result &= _align2 == other._align2; + result &= _align3 == other._align3; + result &= _maxStringLength == other._maxStringLength; + + // Primitives + if ( _primitives.size() != other._primitives.size() ) { + result = false; + } else { + auto pi0 = other._primitives.begin(); + auto pi1 = _primitives.begin(); + while ( pi0 != other._primitives.end() && pi1 != _primitives.end() ) { + result &= **pi0 == **pi1; + ++pi0; + ++pi1; + } + } + result &= _scale == other._scale; + + // APP6-Classification is NOT be compared + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // bool Symbol::operator==(const Symbol& other) + + +bool Symbol::operator!=(const Symbol& other) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return !(*this==other); +} // bool Symbol::operator!=(const Symbol& other) + + +bool Symbol::isAPP6() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return ((getAffil() != SymbolTypes::AFFIL_UNDEFINED) && + (getDimen() != SymbolTypes::DIMEN_UNDEFINED)); +} // bool Symbol::isAPP6() const + + +void Symbol::toZDv1_11(Symbol* dimen_affil, + Symbol* bcdab, + Symbol* commandlevel, + Symbol* mobility, + Symbol* vehicle, + Symbol* intrinsicMobility, + Symbol* arming, + const QList &miscs, + const QList &branches, + const SymbolTypes::AdditionalSymbolData &additionalData + ) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( dimen_affil != nullptr ) { + for (Primitive* prim : dimen_affil->getPrimitives()) { + Primitive *newPrim = new Primitive(*prim); + if(additionalData.m_filltype == SymbolTypes::FILLTYPE_FILLED) { + newPrim->setFill(true); + } + _primitives.push_back(newPrim); + } + _affil = SymbolTypes::AFFIL_UNDEFINED; + _dimen = SymbolTypes::DIMEN_UNDEFINED; + } + + if ( bcdab != nullptr ) { + for (Primitive* prim : bcdab->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _bcd_ab = SymbolTypes::BCDAB_UNDEFINED; + } + + if ( commandlevel != nullptr ) { + for (Primitive* prim : commandlevel->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _commandlevel = SymbolTypes::CL_UNDEFINED; + } + + if ( mobility != nullptr ) { + for (Primitive* prim : mobility->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _mob = SymbolTypes::MOB_UNDEFINED; + } + + if ( vehicle != nullptr ) { + for (Primitive* prim : vehicle->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _vehicle = SymbolTypes::VEHICLE_UNDEFINED; + } + + if ( intrinsicMobility != nullptr ) { + for (Primitive* prim : intrinsicMobility->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _intrinsicmob = SymbolTypes::INTRINSICMOB_UNDEFINED; + } + + if ( arming != nullptr ) { + for (Primitive* prim : arming->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + _arming = SymbolTypes::ARMING_UNDEFINED; + } + + for (Symbol* symbol : std::as_const(miscs)) { + if (symbol) { + for (Primitive* prim : symbol->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + } + _miscTags.fill(false); + } + + + for (Symbol* symbol : std::as_const(branches)) { + if (symbol) { + for (Primitive* prim : symbol->getPrimitives()) { + _primitives.push_back(new Primitive(*prim)); + } + } + _branchTags.fill(false); + } + + // Fix Primitives + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *tmpP = *it; + if ( tmpP->getLineWidth() < 0.0 ) { + tmpP->setLineWidth(0.0); + } + ++it; + } + + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::toZDv1_11(Symbol* dimen_affil, ...) + + +void Symbol::reset() { + DEBUG_LOG(logger) << LOGFUNCTION ; + // Attributes + _dimen = SymbolTypes::DIMEN_UNDEFINED; + _affil = SymbolTypes::AFFIL_UNDEFINED; + _bcd_ab = SymbolTypes::BCDAB_UNDEFINED; + _commandlevel = SymbolTypes::CL_UNDEFINED; + _headquarter = false; + _mob = SymbolTypes::MOB_UNDEFINED; + _intrinsicmob = SymbolTypes::INTRINSICMOB_UNDEFINED; + _miscTags.clear(); + _miscTags.resize(SymbolTypes::MISC_LAST); + + _sector1 = SymbolTypes::SEC1_UNDEFINED; + _sectoricon = SymbolTypes::SECICON_UNDEFINED; + + // Name and ID + _id = -1; + _name.clear(); + + // Reset Branch-Tags + _branchTags.clear(); + _branchTags.resize(SymbolTypes::BRANCH_LAST); + + // Reset text-type and texts + _textType = TEXT_UNDEFINED; + _line1.clear(); + _line2.clear(); + _line3.clear(); + _align1 = ALIGNMENT_UNDEFINED; + _align2 = ALIGNMENT_UNDEFINED; + _align3 = ALIGNMENT_UNDEFINED; + + // Remove all primitives + qDeleteAll(_primitives); + _primitives.clear(); + _scale = 1.0; + + _bbCacheValid = false; + _boundingBox[0] = 0.0; + _boundingBox[1] = 0.0; + _boundingBox[2] = 0.0; + _boundingBox[3] = 0.0; + + // Init the Matrix-Maps for Primitive-Transformations + Symbol::initMatrixMaps(); + + // APP6-Classification + _classId = 0; + _className.clear(); + _classHierarchy.clear(); + _classCodeId.clear(); + + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::reset() + + +void Symbol::addBranch(SymbolTypes::t_branch branch) { + DEBUG_LOG(logger) << LOGFUNCTION ; + if (_branchTags.setBit(branch)) + { + _bbCacheValid = false; + ++_changeCount; + } + else + { + ERROR_LOG(logger) << "Branch out of range: " << branch ; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::addBranch(t_branch branch) + + +void Symbol::removeBranch(SymbolTypes::t_branch branch) { + DEBUG_LOG(logger) << LOGFUNCTION ; + if (_branchTags.clearBit(branch)) + { + _bbCacheValid = false; + ++_changeCount; + } + else + { + ERROR_LOG(logger) << "Branch out of range: " << branch ; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removeBranch(t_branch branch) + + +void Symbol::setTextType(t_text t) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _textType = t; + switch (t) { + case TEXT1: + setMaxStringLength(4); + break; + case TEXT2: + setMaxStringLength(5); + break; + case TEXT3: + default: + setMaxStringLength(6); + break; + } + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::setTextType(t_text t) + + +void Symbol::setText(const QString &line1, t_alignment align1, + const QString &line2, t_alignment align2, + const QString &line3, t_alignment align3) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( _textType >= TEXT1 ) { + _line1 = line1; + _align1 = align1; + } + if ( _textType >= TEXT2 ) { + _line2 = line2; + _align2 = align2; + } + if ( _textType >= TEXT3 ) { + _line3 = line3; + _align3 = align3; + } + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::setText(const QString &line1, ...) + + +QString Symbol::getText(unsigned int line) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + QString result; + switch (line) { + case 1: + result = _line1; + break; + case 2: + result = _line2; + break; + case 3: + result = _line3; + break; + default: + break; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // QString Symbol::getText(unsigned int line) const + + +Symbol::t_alignment Symbol::getTextAlign(unsigned int line) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + switch (line) { + case 1: return _align1; + case 2: return _align2; + case 3: return _align3; + default: return Symbol::ALIGNMENT_UNDEFINED; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // t_alignment Symbol::getTextAlign(unsigned int line) const + +void Symbol::addMisc(SymbolTypes::t_misc misc) { + DEBUG_LOG(logger) << LOGFUNCTION ; + if (_miscTags.setBit(misc)) + { + _bbCacheValid = false; + ++_changeCount; + } + else + { + ERROR_LOG(logger) << "Misc out of range: " << misc ; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::addMisc(t_branch branch) + + +void Symbol::removeMisc(SymbolTypes::t_misc misc) { + DEBUG_LOG(logger) << LOGFUNCTION ; + if (_miscTags.clearBit(misc)) + { + _bbCacheValid = false; + ++_changeCount; + } + else + { + ERROR_LOG(logger) << "Misc out of range: " << misc ; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removeMisc(t_branch branch) + + +bool Symbol::addPrimitive(Primitive* p) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (Primitive* prim : _primitives) { + unsigned int id = prim->id(); + if ( id == p->id() ) { + return true; + } + } + _primitives.push_back(p); + _bbCacheValid = false; + _transformed = false; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return true; +} // bool Symbol::addPrimitive(Promitive* p) + + +void Symbol::removePrimitive(unsigned int id) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *tmpP = *it; + if ( tmpP->id() == id ) { + it = _primitives.erase(it); + delete tmpP; + _bbCacheValid = false; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removePrimitive(unsigned int id) + +void Symbol::removePrimitive(SymbolTypes::t_misc misc) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *tmpP = *it; + if ( (tmpP->iconType() == SymbolTypes::ICON_TYPE_MISC) && + (tmpP->icon() == (int)misc) + ) { + it = _primitives.erase(it); + delete tmpP; + _bbCacheValid = false; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removePrimitive(SymbolTypes::t_misc misc) + +void Symbol::removePrimitive(SymbolTypes::t_sectoricon sectoricon) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *tmpP = *it; + if ( (tmpP->iconType() == SymbolTypes::ICON_TYPE_SECTOR_ICON) && + (tmpP->icon() == (int)sectoricon) + ) { + it = _primitives.erase(it); + delete tmpP; + _bbCacheValid = false; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removePrimitive(SymbolTypes::t_sectoricon sectoricon) + +void Symbol::removePrimitive(SymbolTypes::t_sectoricon secicon, + SymbolTypes::t_sector_position sectorPosition) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *tmpP = *it; + if ( (tmpP->iconType() == SymbolTypes::ICON_TYPE_SECTOR_ICON) && + (tmpP->icon() == (int)secicon) && + (tmpP->position() == sectorPosition) + ) { + it = _primitives.erase(it); + delete tmpP; + _bbCacheValid = false; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::removePrimitive(secicon, sectorPosition) + + +bool Symbol::containsPrimitive(SymbolTypes::t_misc misc) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + bool retContains = false; + for (const Primitive *tmpP : _primitives) { + if ( (tmpP->iconType() == SymbolTypes::ICON_TYPE_MISC) && + (tmpP->icon() == (int)misc) + ) { + retContains = true; + break; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return retContains; +} // Symbol::containsPrimitive + +bool Symbol::containsPrimitive(SymbolTypes::t_sectoricon secicon) const { + DEBUG_LOG(logger) << LOGFUNCTION ; + bool retContains = false; + for (const Primitive *tmpP : _primitives) { + if ( (tmpP->iconType() == SymbolTypes::ICON_TYPE_SECTOR_ICON) && + (tmpP->icon() == (int)secicon) + ) { + retContains = true; + break; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return retContains; +} // Symbol::containsPrimitive + + +bool Symbol::containsPrimitive(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position sectorPosition, + int id) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + bool retContains = false; + for (const Primitive *tmpP : _primitives) { + if ( (tmpP->iconType() == iconType) && + (tmpP->position() == sectorPosition) && + (tmpP->icon() == id) ) { + retContains = true; + break; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return retContains; +} // Symbol::containsPrimitive + + +void Symbol::raisePrimitive(unsigned int id) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ++it) { + if ( (*it)->id() == id ) { + // Move to front: erase and insert at beginning + Primitive* prim = *it; + _primitives.erase(it); + _primitives.push_front(prim); + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::raisePrimitive(unsigned int id) + + +void Symbol::lowerPrimitive(unsigned int id) { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (auto it = _primitives.begin(); it != _primitives.end(); ++it) { + if ( (*it)->id() == id ) { + // Move to back: erase and push to back + Primitive* prim = *it; + _primitives.erase(it); + _primitives.push_back(prim); + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::lowerPrimitive(unsigned int id) + + +bool Symbol::getBoundingBox(double* x0, double* y0, double* x1, double* y1, + Symbol* dimen_affil, Symbol* bcdab, + Symbol* commandlevel, Symbol* mobility) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + if ( (_primitives.size() == 0) && (dimen_affil == nullptr) && + (bcdab == nullptr) && (commandlevel == nullptr) && (mobility == nullptr) ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return false; + } + + if ( !_bbCacheValid ) { + auto plist = _primitives.begin(); + // get first bbox of first primitive + (*plist)->getBoundingBox(_boundingBox[0], + _boundingBox[1], + _boundingBox[2], + _boundingBox[3]); + ++plist; + // Merge with remaining primitive-bounding-boxes + double bb[4]; + for (; plist != _primitives.end(); ++plist) { + (*plist)->getBoundingBox(bb[0], bb[1], + bb[2], bb[3]); + _boundingBox[0] = std::min(_boundingBox[0], bb[0]); + _boundingBox[1] = std::min(_boundingBox[1], bb[1]); + _boundingBox[2] = std::max(_boundingBox[2], bb[2]); + _boundingBox[3] = std::max(_boundingBox[3], bb[3]); + } + // Get bounding boxes from attributes, if not nullptr and merge + if ( dimen_affil != nullptr ) { + if ( dimen_affil->getBoundingBox(&bb[0], &bb[1], + &bb[2], &bb[3], + nullptr, nullptr, nullptr, nullptr) ) { + _boundingBox[0] = std::min(_boundingBox[0], bb[0]); + _boundingBox[1] = std::min(_boundingBox[1], bb[1]); + _boundingBox[2] = std::max(_boundingBox[2], bb[2]); + _boundingBox[3] = std::max(_boundingBox[3], bb[3]); + } + } + if ( bcdab != nullptr ) { + if ( bcdab->getBoundingBox(&bb[0], &bb[1], + &bb[2], &bb[3], + nullptr, nullptr, nullptr, nullptr) ) { + _boundingBox[0] = std::min(_boundingBox[0], bb[0]); + _boundingBox[1] = std::min(_boundingBox[1], bb[1]); + _boundingBox[2] = std::max(_boundingBox[2], bb[2]); + _boundingBox[3] = std::max(_boundingBox[3], bb[3]); + } + } + if ( commandlevel != nullptr ) { + if ( commandlevel->getBoundingBox(&bb[0], &bb[1], + &bb[2], &bb[3], + nullptr, nullptr, nullptr, nullptr) ) { + _boundingBox[0] = std::min(_boundingBox[0], bb[0]); + _boundingBox[1] = std::min(_boundingBox[1], bb[1]); + _boundingBox[2] = std::max(_boundingBox[2], bb[2]); + _boundingBox[3] = std::max(_boundingBox[3], bb[3]); + } + } + if ( mobility != nullptr ) { + if ( mobility->getBoundingBox(&bb[0], &bb[1], + &bb[2], &bb[3], + nullptr, nullptr, nullptr, nullptr) ) { + _boundingBox[0] = std::min(_boundingBox[0], bb[0]); + _boundingBox[1] = std::min(_boundingBox[1], bb[1]); + _boundingBox[2] = std::max(_boundingBox[2], bb[2]); + _boundingBox[3] = std::max(_boundingBox[3], bb[3]); + } + } + } + + _bbCacheValid = true; + *x0 = _boundingBox[0]; + *y0 = _boundingBox[1]; + *x1 = _boundingBox[2]; + *y1 = _boundingBox[3]; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return true; +} // bool Symbol::getBoundingBox(double* x0, double* y0, double* x1, double* y1,...) + + +void Symbol::rotatePrimitives() { + DEBUG_LOG(logger) << LOGFUNCTION ; + for (Primitive *p : _primitives) { + if ( p->getRotation() != 0.0 ) { + ++_changeCount; + p->rotate(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::rotatePrimitives() + + +void Symbol::transformSymbol(t_transformMatrixGroup group, SymbolTable *bestMatchTable) { + DEBUG_LOG(logger) << LOGFUNCTION ; + QPair key(_dimen, _affil); + + // Check, if there is a bestMatchTable and if it contains an already transformed symbol + if ( bestMatchTable != nullptr ) { + if ( bestMatchTable->contains(id()) ) { + QList bestMatchList = bestMatchTable->values(id()); + + SymbolTypes::t_dimen local_dimen = this->getDimen(); + // LAND_UNITS und ACTIVITY sind, + // bezogen auf Form/Shape des Rollensymbols gleich: + if(local_dimen == SymbolTypes::ACTIVITY) { + local_dimen = SymbolTypes::LAND_UNITS; + } + SymbolTypes::t_affil local_affil = this->getAffil(); + // Wenn affil eines der neuen APP6C-spezifischen ist - konkret + // pending, assumed friend, suspect - so nutzen wir die passenden Matrizen: + // (Passend im Sinne der Form/Shape des Rollensymbols) + if (local_affil == SymbolTypes::PENDING) + local_affil = SymbolTypes::UNKNOWN; + if (local_affil == SymbolTypes::ASSUMED_FRIEND) + local_affil = SymbolTypes::FRIEND; + if (local_affil == SymbolTypes::SUSPECT) + local_affil = SymbolTypes::ENEMY; + // (Somit benoetigen wir im Falle von bestMatchFiles + // nicht auch noch welche fuer diese 3 affils) + + for (Symbol* symbol : std::as_const(bestMatchList)) { + if (!symbol) + continue; + // Compare id, dimen and affil + bool match = (symbol->getAffil() == local_affil ); + match &= (symbol->getDimen() == local_dimen ); + match &= (symbol->id() == id() ); + + if ( match && symbol->transformed() && + (this != symbol ) ) { + // MATCH! - Replace primitives + clearPrimitives(); + for (const Primitive* srcPrim : symbol->getPrimitives()) { + _primitives.push_back(new Primitive(*srcPrim)); + } + _transformed = true; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + + } + } + } + + // Select the Matrix Group + QMap, Matrix> *_matrixMap; + switch (group) { + case TMG_BCDAB: + _matrixMap = &_matrixMapBCDAB; + break; + case TMG_COMMAND_LEVEL: + _matrixMap = &_matrixMapCommandLevel; + break; + case TMG_BRANCHES: + _matrixMap = &_matrixMapBranch; + break; + default: + ERROR_LOG(logger) << "Unknown Matrix-Group selected!" ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + + if ( ! _matrixMap->contains(key) ) { + // No matching transformation found + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return; + } + Matrix m = _matrixMap->value(key); + transformSymbol(m); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::transformSymbol(t_transformMatrixGroup group, SymbolTable *bestMatchTable) + + +void Symbol::transformSymbol(const Matrix &m, bool ignoreTransformFlag) { + DEBUG_LOG(logger) << LOGFUNCTION + << " ignoreTransformFlag = " << ignoreTransformFlag + ; + QTransform t(m.m11, m.m12, m.m13, + m.m21, m.m22, m.m23, + m.m31, m.m32, m.m33); + + for (Primitive *tmpP : _primitives) { + + if ( tmpP->getTransform() || ignoreTransformFlag) { + QPolygonF points = tmpP->getPoints(); + // transform all points + for (int i = 0; i < points.size(); ++i) { + points[i] = t.map(points.at(i)); + } + tmpP->setPoints(points); + } + + } // for + + _transformed = true; + ++_changeCount; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void Symbol::transformSymbol(const Matrix &m) + + +void Symbol::initMatrixMaps() { + + if ( Symbol::initMatrixDone ) { return; } + + using da = QPair; + + // Branches Map + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 0.55, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::PENDING)] = _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)]; + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)] = Matrix( 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)] = Matrix(0.75, 0.0, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)] = Matrix(1.35, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)] = Matrix(0.75, 0.0, 0.0, 0.0, 0.75, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)] = Matrix(1.35, 0.0, 0.0, 0.0, 0.9, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)] = Matrix(0.75, 0.0, 0.0, 0.0, 0.4, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)] = _matrixMapBranch[da(SymbolTypes::LAND_UNITS, SymbolTypes::FRIEND)]; + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)]; + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)]; + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)] = Matrix( 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)] = Matrix(0.65, 0.0, 0.0, 0.0, 0.65, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)]; + _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::SUSPECT)] = _matrixMapBranch[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)]; + + + // CommandLevel Map + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::PENDING)] = _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)]; + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -0.1, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)]; + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)]; + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)]; + _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::SUSPECT)] = _matrixMapCommandLevel[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)]; + + + // BCDAB Map + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::AFFIL_UNDEFINED)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.3, 1.0); + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::UNKNOWN)]; + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::PENDING)] = _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::UNKNOWN)]; + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -0.1, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.1, 1.0); + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.1, 1.0); + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.1, 1.0); + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.1, 1.0); + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::FRIEND)]; + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::ASSUMED_FRIEND)] = _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::FRIEND)]; + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::NEUTRAL)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)] = Matrix(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.2, 1.0); + + _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::DIMEN_UNDEFINED, SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::AIR_SPACE , SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::LAND_UNITS , SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::LAND_EQUIPMENT , SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::OVER_WATER , SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::UNDER_WATER , SymbolTypes::ENEMY)]; + _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::SUSPECT)] = _matrixMapBCDAB[da(SymbolTypes::ACTIVITY , SymbolTypes::ENEMY)]; + + Symbol::initMatrixDone = true; +} // void Symbol::initMatrixMaps() + + +QRectF Symbol::getSymbolFrameRect(SymbolTypes::t_dimen dimen, SymbolTypes::t_affil affil) +{ + // Symbol Frame Rectangles: x,y,w,h + QRectF bb_sqare(-1.1, -1.1, 2.2, 2.2); // e.g. Neutral + QRectF bb_circle(-1.2, -1.2, 2.4, 2.4); // e.g. Surface Friend + QRectF bb_hyperbola(-1.1, -1.1, 2.2, 2.2); // e.g. Air Friend + QRectF bb_rect(-1.5, -1.0, 3.0, 2.0); // e.g. Ground Friend + QRectF bb_flower(-1.44, -1.44, 2.88, 2.88); // e.g. Unknown +// QRectF bb_flower_bottomopen(-1.44, -0.7, 2.88, 2.14); // e.g. Air Unknown +// QRectF bb_flower_topopen(-1.44, -1.44, 2.88, 2.14); // e.g.SubSurface Unknown + QRectF bb_diamond(-1.44, -1.44, 2.88, 2.88); // e.g. Ground Hostile + + QRectF retRect = bb_sqare; + if(dimen != SymbolTypes::DIMEN_UNDEFINED) { + switch(affil) { + case SymbolTypes::UNKNOWN: + case SymbolTypes::PENDING: + retRect = bb_flower; + /** + if(dimen == SymbolTypes::AIR_SPACE) { + retRect = bb_flower_bottomopen; + } + if(dimen == SymbolTypes::UNDER_WATER) { + retRect = bb_flower_topopen; + } + **/ + break; + case SymbolTypes::FRIEND: + case SymbolTypes::ASSUMED_FRIEND: + retRect = bb_rect; + if(isAirSubsurface(dimen)) { + retRect = bb_hyperbola; + } + if(dimen == SymbolTypes::OVER_WATER) { + retRect = bb_circle; + } + break; + case SymbolTypes::ENEMY: + case SymbolTypes::SUSPECT: + retRect = bb_diamond; + break; + default: + break; + } + } + return retRect; +} // QRectF Symbol::getSymbolFrameRect() + +bool Symbol::isAirSubsurface(SymbolTypes::t_dimen dimen) +{ + if((dimen == SymbolTypes::AIR_SPACE) || + (dimen == SymbolTypes::UNDER_WATER)) { + return true; + } + return false; +} + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.h new file mode 100755 index 000000000..471bb6f26 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol.h @@ -0,0 +1,817 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include +#include +#include +#include +#include + +#include +#include + +#include "symbology_xml_export.h" +#include "symbol_types.h" +#include "primitive.h" + +#include + + +namespace SymbologyXML +{ + +class SymbolTable; +class SymbolReader; + +/** + \brief Abstraction of a symbol + + Central class representing a single symbol. Manipulation to the symbol is + directly done in the state of the object. Methods for reading and writing + the symbol from/to XML are provided. + + To work with many symbols in a program, you should use the class SymbolTable. + + If you need to work with graphics-primitives in an abstract way you should + use Primitive Objects, which are used by Symbol to describe the free part + of the visual representation of a Symbol. + + @author Stephan Kuhagen +*/ + +class SYMBOLOGY_XML_EXPORT Symbol +{ +public: + static const char* SymbolVersion; + + friend class SymbolReader; + friend class PixmapSymbolCache; + + static SymbologyXML::SymbolTypes::t_affil roleToAffiliation(AdvancedSymbology::Role role); + + Symbol(); + ~Symbol(); + + //! Copy C'tor + Symbol(const Symbol& other); + + //! Assignment-Operator + Symbol& operator=(const Symbol& other); + + //! Compare-Operator + bool operator==(const Symbol& other) const; + bool operator!=(const Symbol& other) const; + + /** + Return true, if the Symbol is valid. + \return true, if the Symbol is valid. + */ + bool isValid() const { return (_id != -1); } + + + /** + Returns true, if this is a new Symbol according to APP6 + \return true is this is a APP6-Symbol + */ + bool isAPP6() const; + + /** + Convert Symbol to old ZDv 1/11 format. + WARNING: This is irreversible, you definitely loose all APP6-Attributes! + \param dimen_affil: Pointer to Symbol with geometry for attributes Dimension/Affiliation + \param bcdab: Pointer to Symbol with geometry for attribute BCDAB + \param commandlevel: Pointer to Symbol with geometry for attribute CommandLevel + \param mobility: Pointer to Symbol with geometry for attribute Mobility + \param intrinsicMobility: Pointer to Symbol with geometry for attribute Intrinsic-Mobility + \param miscs: QList with Pointers to all misc-Symbols + \param branches: QList with Pointers to all branch-Symbols + */ + void toZDv1_11(Symbol* dimen_affil, + Symbol* bcdab, + Symbol* commandlevel, + Symbol* mobility, + Symbol* vehicle, + Symbol* intrinsicMobility, + Symbol* arming, + const QList &miscs, + const QList &branches, + const SymbolTypes::AdditionalSymbolData &additionalData); + + /** + Reset the symbol to its initial state + */ + void reset(); + + + + /** + Set the Symbols ID. + \param id: The ID + */ + void setID(int id) { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + _id = id; + } + + //! Return the Symbols ID + int id() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _id; + } + + + + /** + Set the Symbols name + \param name: Name string for the Symbol + */ + void setName(const QString &name) { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + _name = name; + } + + //! Return the Symbols name + QString getName() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _name; + } + + ///////////////////////////////////////////////// + // BRANCH + ///////////////////////////////////////////////// + /** + Add a branch-tag. Does nothing, if the branch is already added. + \param branch: The branch-type to add + */ + void addBranch(SymbolTypes::t_branch branch); + + /** + Remove a branch. Does nothing, if the branch does not exist. + \param branch: The branch-type to add + */ + void removeBranch(SymbolTypes::t_branch branch); + + /** + Return a NGL::BitSet of all branches of the symbol. If a bit is set, the + according branch-tag is set. + \return NGL::BitSet of branch-tags + */ + NGL::BitSet getBranchTags() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _branchTags; + } + + /** + Check if a branch-type (bit( is set + \param branch: The branch-type to check + \return true if the is branch-tag is set + */ + bool hasBranch(SymbolTypes::t_branch branch) const { + return _branchTags.at(branch); + } + + + //! Enum defining all types of symbol-text + enum t_text {TEXT_UNDEFINED = 0, TEXT1, TEXT2, TEXT3}; + //! Enum defining text-alignments + enum t_alignment {ALIGNMENT_UNDEFINED = 0, LEFT = 1, CENTER = 2, RIGHT = 3}; + + /** + Set the text-type for the symbol + \param t: the text-type + */ + void setTextType(t_text t); + + //! Return the text-type + t_text getTextType() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _textType; + } + + //! Set the maximum length of Strings + void setMaxStringLength(int length) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _maxStringLength = length; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + //! Return the max. allowed string-length for the current text-type + int maxStringLength() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _maxStringLength; + } + + /** + Set a symbol-text. If a text is a Null-QString the corresponding line + remains unchanged. If the current text-type does not contain one of + the given lines, that line is silently ignored. + \param line1: Text for the first line + \param align1: Text-alignment for text1 + \param line2: Text for the second line + \param align2: Text-alignment for text2 + \param line3: Text for the third line + \param align3: Text-alignment for text3 + */ + void setText(const QString &line1, t_alignment align1, + const QString &line2, t_alignment align2, + const QString &line3, t_alignment align3); + + /** + Get a text-line. If a line is requested, which does not exist, a NULL-String + is returned. + \param line: Which line should be returned. + \return The line, or a NULL-String + */ + QString getText(unsigned int line) const; + + /** + Get a text-alignment. If a line is requested, which does not exist, a + ALIGNMENT_UNDEFINED is returned. + \param line: Which alignment should be returned. + \return The alignment + */ + t_alignment getTextAlign(unsigned int line) const; + + + //! Set the dimen-tag + void setDimen(SymbolTypes::t_dimen d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _transformed = ( _dimen == d ); + _dimen = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the dimen-tag + SymbolTypes::t_dimen getDimen() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _dimen; + } + + //! Set the affil-tag + void setAffil(SymbolTypes::t_affil a) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _transformed = ( _affil == a ); + _affil = a; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the affil-tag + SymbolTypes::t_affil getAffil() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _affil; + } + + //! Set the bcdab-tag + void setBcdab(SymbolTypes::t_bcdab d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _bcd_ab = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the bcdab-tag + SymbolTypes::t_bcdab getBcdab() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _bcd_ab; + } + + //! Set the commandlevel-tag + void setCommandLevel(SymbolTypes::t_commandlevel d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _commandlevel = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the commandlevel-tag + SymbolTypes::t_commandlevel getCommandLevel() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _commandlevel; + } + + + //! Set the headquarter-tag + void setHeadquarter(bool d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _headquarter = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the headquarter-tag + bool getHeadquarter() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _headquarter; + } + + + //! Set the mob-tag + void setMob(SymbolTypes::t_mob d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _mob = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the mob-tag + SymbolTypes::t_mob getMob() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _mob; + } + + + //! Set the vehicle-tag + void setVehicle(SymbolTypes::t_vehicle d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _vehicle = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the vehicle-tag + SymbolTypes::t_vehicle getVehicle() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _vehicle; + } + + //! Set the intrinsic-mob-tag + void setIntrinsicMob(SymbolTypes::t_intrinsicmob d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _intrinsicmob = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the intrinsic-mob-tag + SymbolTypes::t_intrinsicmob getIntrinsicMob() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _intrinsicmob; + } + + //! Set the arming-tag + void setArming(SymbolTypes::t_arming d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _arming = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the arming-tag + SymbolTypes::t_arming getArming() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _arming; + } + + + + /** + Add a misc-tag. Does nothing, if the misc is already added. + \param misc: The misc-type to add + */ + void addMisc(SymbolTypes::t_misc misc); + + /** + Remove a misc. Does nothing, if the misc does not exist. + \param misc: The misc-type to remove + */ + void removeMisc(SymbolTypes::t_misc misc); + + /** + Return a NGL::BitSet of all misc of the symbol. If a bit is set, the + according misc-tag is set. + \return NGL::BitSet of misc-tags + */ + NGL::BitSet getMiscTags() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _miscTags; + } + + //! Set the sector1-tag + void setSector1(SymbolTypes::t_sector1 d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _sector1 = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the sector1-tag + SymbolTypes::t_sector1 getSector1() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _sector1; + } + + //! Set the sectoricon-tag + void setSectorIcon(SymbolTypes::t_sectoricon d) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _sectoricon = d; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + //! Get the sectoricon-tag + SymbolTypes::t_sectoricon getSectorIcon() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _sectoricon; + } + + + /** + Set the scale for the graphic-primitives. + \param scale: the scale-value + */ + void setScale(double scale) { + DEBUG_LOG(logger) << LOGFUNCTION ; + _scale = scale; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Get the scale for the graphic-primitives. + \return the scale + */ + double getScale() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _scale; + } + + /** + Set the APP6-Classification + \param classify: the Classification + */ + /* + void setClassification(const NGLDAO::SClassification &classify) { + setClassId(classify.id); + setClassName(classify.name); + setClassHierarchy(classify.hierarchy); + setClassCodeId(classify.codeId); + }*/ + + //! Set the APP6-ClassId + void setClassId(int classId) { _classId = classId; } + //! Set the APP6-ClassName + void setClassName(const QString &className) { _className = className; } + //! Set the APP6- ClassHierarchy + void setClassHierarchy(const QString &classHierarchy) { _classHierarchy = classHierarchy; } + //! Set the APP6- ClassCodeId + void setClassCodeId(const QString &classCodeId) { _classCodeId = classCodeId; } + + //! Get the APP6-ClassId + int getClassId() const { return _classId; } + //! Get the APP6-ClassName + QString getClassName() const { return _className; } + //! Get the APP6- ClassHierarchy + QString getClassHierarchy() const { return _classHierarchy; } + //! Get the APP6- ClassCodeId + QString getClassCodeId() const { return _classCodeId; } + + /** + Add a graphics-primitive to the symbol. The primitive is always added + to the top of the visibility-stack. That means, it's above all previous + primitives. If the primitive was already added, the method does nothing, + and returns true. + \param p: Pointer to the the primitive + \return true, if the primitive was added, false otherwise + */ + bool addPrimitive(Primitive* p); + + /** + Removes a primitive from the symbol. If the primitive is not in the symbol, + the method does nothing. + \param id: The id of the primitive to remove. + */ + void removePrimitive(unsigned int id); + + + void removePrimitive(SymbolTypes::t_misc misc); + void removePrimitive(SymbolTypes::t_sectoricon sectoricon); + void removePrimitive(SymbolTypes::t_sectoricon secicon, SymbolTypes::t_sector_position sectorPosition); + + + /** + Removes all primitive from the symbol. + */ + void clearPrimitives(bool exceptPrimitivesICON=false) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *p = *it; + if(exceptPrimitivesICON && (p->type() == Primitive::ICON)) { + ++it; + continue; + } + it = _primitives.erase(it); + delete p; + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Removes all primitives ICON/TEXT from the symbol. + */ + void clearPrimitivesICON_TEXT() { + DEBUG_LOG(logger) << LOGFUNCTION ; + + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *p = *it; + if((p->type() == Primitive::ICON) || (p->type() == Primitive::TEXT)) { + it = _primitives.erase(it); + // ?? delete p + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Removes all primitiveICON of requested iconType from the symbol. + \param iconType: The iconType of the primitives to be removed. + */ + void clearPrimitives(SymbolTypes::t_icon_type iconType) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *p = *it; + if(p->iconType() == iconType) { + it = _primitives.erase(it); + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Removes all primitiveICON of requested sectorPosition from the symbol. + \param sectorPosition: The sectorPosition of the primitives to be removed. + */ + void clearPrimitives(SymbolTypes::t_sector_position sectorPosition) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *p = *it; + if(p->position() == sectorPosition) { + it = _primitives.erase(it); + // ?? delete p + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Removes all primitiveICON of requested iconType from the symbol. + \param iconType: The iconType of the primitives to be removed. + \param sectorPosition: The sectorPosition of the primitives to be removed. + \param id: The id of the primitives to be removed. + */ + void clearPrimitives(SymbolTypes::t_icon_type iconType, SymbolTypes::t_sector_position sectorPosition, + int id) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + for (auto it = _primitives.begin(); it != _primitives.end(); ) { + Primitive *p = *it; + if ( (p->iconType() == iconType) && + (p->position() == sectorPosition) && + (p->icon() == id) ) + { + it = _primitives.erase(it); + } else { + ++it; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + } + + /** + Return a linked list of all primitives of the symbol + \return Linked list with all primitives + */ + std::list getPrimitives() const { + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return _primitives; + } + + /** + Lookup for a t_misc primitive in this symbol + \param misc: id of a primitive + \return true, if the primitive was found, false otherwise + */ + bool containsPrimitive(SymbolTypes::t_misc misc) const; + + /** + Lookup for a t_sectoricon primitive in this symbol + \param secicon: id of a primitive + \return true, if the primitive was found, false otherwise + */ + bool containsPrimitive(SymbolTypes::t_sectoricon secicon) const; + + /** + Lookup for a (iconType, position, id) primitive in this symbol + \param iconType: icon type of primitive + \param position: position of primitive + \param id: id of primitive + \return true, if the primitive was found, false otherwise + */ + bool containsPrimitive(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position sectorPosition, + int id) const; + + /** + Move the primitive to the top of the visibility-stack. + If the given primitive can not be found, the method does nothing. + \param id: The id of the primitive + */ + void raisePrimitive(unsigned int id); + + /** + Move the primitive to the bottom of the visibility-stack. + If the given primitive can not be found, the method does nothing. + \param id: The id of the primitive + */ + void lowerPrimitive(unsigned int id); + + + /** + Return the bounding box of this Symbol and of the given Attribute-Symbols. + The pointers to Attribute-Symbols may be NULL. + \param x0: Pointer for storing lower x-value of bounding box + \param y0: Pointer for storing lower y-value of bounding box + \param x1: Pointer for storing upper x-value of bounding box + \param y1: Pointer for storing upper y-value of bounding box + \param dimen_affil: Pointer to Symbol with geometry for attributes Dimension/Affiliation + \param bcdab: Pointer to Symbol with geometry for attribute BCDAB + \param commandlevel: Pointer to Symbol with geometry for attribute BCDAB + \param mobility: Pointer to Symbol with geometry for attribute Mobility + \return false, if the bounding box could not be calculated (i.e. no Primitives) + */ + bool getBoundingBox(double* x0, double* y0, double* x1, double* y1, + Symbol* dimen_affil, Symbol* bcdab, Symbol* commandlevel, + Symbol* mobility); + + + /** + Rotate all primitives around the center of their full bounding boxes and + reset the rotation-property. This means, the geometry of the primitive is + transformed (and possibly its type) to match the rotation-property. This is + used, if the graphics-API used for drawing the Primitives can not rotate + them itself. + */ + void rotatePrimitives(); + + + //! A 3x3-Matrix used for transformations of Primitives + class Matrix + { + public: + //! Default-constructor creates identity matrix + Matrix() = default; + Matrix(double v11, double v12, double v13, + double v21, double v22, double v23, + double v31, double v32, double v33): + m11(v11), m12(v12), m13(v13), + m21(v21), m22(v22), m23(v23), + m31(v31), m32(v32), m33(v33) + {} + + double m11 = 1; + double m12 = 0; + double m13 = 0; + double m21 = 0; + double m22 = 1; + double m23 = 0; + double m31 = 0; + double m32 = 0; + double m33 = 1; + }; + + + //! Enum for selecting groups of transformation-matrices. + enum t_transformMatrixGroup {TMG_BCDAB, TMG_COMMAND_LEVEL, TMG_BRANCHES}; + + /** + If this Symbol is used to hold the geometry of the inner part of a Symbol + (which is inside the Role-Symbol), this method transformes the geometry + to match the Dimension and Affiliation settings. When transforming the + geometry, this method assumes, that the current geometry is valid for + Dimension==Land and Affiliation==Neutral (a square SymbolFrame). + Starting there, a transformation-matrix is chosen for the currently set + values of Dimension and Affiliation and all Primitives are transformed (except + those where getTransform() returns false) according to the matrix. + + Since there are now three groups of transformation-matrices, it is necessary + to select the appropiate group with a parameter. + + Transforming the Symbol sets the transformed-flag \see transformed(), if not + already set. It is possible to transform multiple times, the flag is read-only + and is not used to prohibit multiple transforms. + + \param group: The group of matrices to use. + \param bestMatchTable: If not NULL, it points to a SymbolTable, which + contains this Symbol in already transformed or specially + constructed for the given attribute-combination. Before + transforming the symbol, the table is searched for a perfect + matching symbol. If found, it is used instead of transforming + this symbol. + */ + void transformSymbol(t_transformMatrixGroup group, SymbolTable *bestMatchTable = nullptr); + //! Transform Symbol according to Matrix + void transformSymbol(const Matrix &m, bool ignoreTransformFlag = false); + bool transformed() const { return _transformed; } + + static QRectF getSymbolFrameRect(SymbolTypes::t_dimen dimen, SymbolTypes::t_affil affil); + +private: + //! NGLLogger + NGL::INGLLogger& logger; + + /** + (Re)Init the Matrix-Map + */ + static void initMatrixMaps(); + //! Maps with transformation-matrices + static bool initMatrixDone; + static QMap, Matrix> _matrixMapBCDAB; + static QMap, Matrix> _matrixMapCommandLevel; + static QMap, Matrix> _matrixMapBranch; + + //! True, if the cached bounding box is valid (i.e. no changes to geometry) + bool _bbCacheValid; + //! The cached bounding box of this symbol. Order: [lower x, lower y, upper x, upper y] + double _boundingBox[4]; + + static bool isAirSubsurface(SymbolTypes::t_dimen dimen); + +protected: + //! The Symbol-ID + int _id; + + //! BitArray containing all set Branch-Tags + NGL::BitSet _branchTags; + + //! String containing the symbols name/description + QString _name; + + //! the text-type of the symbol + t_text _textType; + //! Text-strings + QString _line1, _line2, _line3; + //! Text-alignments + t_alignment _align1, _align2, _align3; + //! Max length of strings + int _maxStringLength; + + //! dimen-attribute + SymbolTypes::t_dimen _dimen; + //! affil-attribute + SymbolTypes::t_affil _affil; + //! bcdab-attribute + SymbolTypes::t_bcdab _bcd_ab; + //! CommandLevel-attribute + SymbolTypes::t_commandlevel _commandlevel; + //! headquarter-attribute + bool _headquarter; + //! mob-attribute + SymbolTypes::t_mob _mob; + //! vehicle-attribute + SymbolTypes::t_vehicle _vehicle; + //! intrinsicmob-attribute + SymbolTypes::t_intrinsicmob _intrinsicmob; + //! arming-attribute + SymbolTypes::t_arming _arming; + + SymbolTypes::t_sector1 _sector1; + SymbolTypes::t_sectoricon _sectoricon; + + //! BitArray containing all set Misc-Tags + NGL::BitSet _miscTags; + + //! Flag is true, if Symbol is transformed according to _dimen and _affil + bool _transformed; + + //! Scale of the graphic-primitives + double _scale; + //! Linked list containing all primitives of the symbol + std::list _primitives; + //! Count changes. Used for PixmapSymbolCache-Keys + int _changeCount; + + //! APP6-ClassId + int _classId; + //! APP6-ClassName + QString _className; + //! APP6-ClassHierarchy + QString _classHierarchy; + //! APP6-ClassCodeId + QString _classCodeId; +}; // class Symbol + +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.cpp new file mode 100755 index 000000000..fb140a105 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.cpp @@ -0,0 +1,29 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Christian Roeskens, SLSE, 2017-12-20 + */ + + +#include "symbol_custom_graphics_item_group.h" + +#include + +namespace SymbologyXML { + +CustomGraphicsItemGroup::CustomGraphicsItemGroup(QGraphicsItem *parent) + : QGraphicsItemGroup(parent) +{ + +} + +void CustomGraphicsItemGroup::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + painter->setPen(QPen(QBrush(Qt::black), 0.01)); //TODO: change hardcoded penwidth + QGraphicsItemGroup::paint(painter, option, widget); +} + +} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.h new file mode 100755 index 000000000..00ad48c8d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_custom_graphics_item_group.h @@ -0,0 +1,26 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + * + * Created by Christian Roeskens, SLSE, 2017-12-20 + */ + +#pragma once + +#include + +namespace SymbologyXML { + +class CustomGraphicsItemGroup : public QGraphicsItemGroup +{ +public: + explicit CustomGraphicsItemGroup(QGraphicsItem *parent = nullptr); + + // QGraphicsItem interface +public: + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override final; +}; + +} diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.cpp new file mode 100755 index 000000000..962af7cfa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.cpp @@ -0,0 +1,1127 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "symbol_exporter.h" +#include "primitive.h" +#include "symbol_table.h" +#include "attribute_data.h" +#include "symbol_custom_graphics_item_group.h" + +// test #include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +namespace SymbologyXML +{ + +#define BOUNDING_RECT 423 +#define HEADQUARTER_LINE 424 + +#define REDUCE_LINEWIDTH_F 4./5 // 80 % +#define LINEWIDTH_FRAME_SOLID 0.04 +#define LINEWIDTH_FRAME_DASHED_DOTTED 0.08 +#define LINEWIDTH_HEADQUARTER 0.06 + +static const bool BLACK_AND_WHITE_DOTTED_LINE = true; + +static QFont* defaultFont = nullptr; + +static const QFont::StyleStrategy defaultStyleStrategy = QFont::PreferAntialias; + + +bool isColorOfOwnForce(const QColor& color) +{ + // Sind wir bei der 'eigenen' Partei? (Hack über die Farben) + return ( ( (color.red() == 0xFF) && (color.green() == 0x0 ) && (color.blue() == 0x0 ) ) // color of team 'red' (0xFF0000) + || ( (color.red() == 0xFF) && (color.green() == 0x7F) && (color.blue() == 0x7F) ) // lightcolor of team 'red' (0xFF7F7F) + ); +} + + + +void SymbolExporter::drawFrameSymbol(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalData, + QGraphicsScene* scene, const QColor& color, const QColor& fillColor, + double z, bool antialias) +{ + Q_UNUSED(antialias); + + SymbolTypes::t_affil affil = symbol.getAffil(); + + Primitive::t_linestyle linestyleSymbol = Primitive::SOLID; + if((affil == SymbolTypes::ASSUMED_FRIEND) || + (affil == SymbolTypes::SUSPECT) || + (affil == SymbolTypes::PENDING)) { + linestyleSymbol = Primitive::DOTTED; + } else { + if(additionalData.m_uncertainty == SymbolTypes::UNCERTAINTY_UNCERTAIN) { + linestyleSymbol = Primitive::DOTTED; + } else if(additionalData.m_state == SymbolTypes::STATE_ANTICIPATED) { + linestyleSymbol = Primitive::DASHED; + } + } + // Draw all primitives of the frame symbol + const auto& primitives = symbol.getPrimitives(); + + for (const Primitive* primitivePtr : primitives) { + Primitive prim = *primitivePtr; + double lineWidth = prim.getLineWidth(); + if(lineWidth >= 0) { + if(linestyleSymbol == Primitive::SOLID) { + lineWidth = LINEWIDTH_FRAME_SOLID; + } else { + lineWidth = LINEWIDTH_FRAME_DASHED_DOTTED; + } + prim.setLineStyle(linestyleSymbol); + } else { // lineWidth < 0 : + prim.setLineStyle(Primitive::SOLID); + } + if (additionalData.m_filltype == SymbolTypes::FILLTYPE_OUTLINED) { + prim.setLineWidth(lineWidth*2.0); + } + else { + prim.setLineWidth(lineWidth); + } + bool isAttrib = true; + // filltype: + if(prim.fill()) { + // prims with filltype == FILLED : e.g. small filled rectangles for t_dimen activity + prim.setLineStyle(Primitive::SOLID); + isAttrib = false; + } else { + prim.setFill(additionalData.m_filltype == SymbolTypes::FILLTYPE_FILLED); + } + QGraphicsItem *gitem = nullptr; + if(BLACK_AND_WHITE_DOTTED_LINE && + (linestyleSymbol == Primitive::DOTTED) && (prim.getLineStyle() == Primitive::DOTTED)) { + // additional prim (white): + Primitive prim2(prim); + prim2.setLineStyle(Primitive::SOLID); + prim2.setFill(false); + gitem = SymbolExporter::drawPrimitive(prim2, Qt::white, fillColor, z, isAttrib); + if(gitem) { + scene->addItem(gitem); + gitem->setZValue(z); + } + // current prim (black-dotted): + gitem = SymbolExporter::drawPrimitive(prim, Qt::black, fillColor, z, isAttrib); + } else { + gitem = SymbolExporter::drawPrimitive(prim, color, fillColor, z, isAttrib); + } + if(gitem) { + scene->addItem(gitem); + gitem->setZValue(z); + } + } + +} // void SymbolExporter::drawFrameSymbol(const Symbol& symbol, ... + +void SymbolExporter::drawHeadquarterPrims(QGraphicsScene *scene, bool headquarter, + SymbolTypes::t_dimen dimen, SymbolTypes::t_affil affil, + const QColor& color) +{ + QGraphicsItem *hqItem = nullptr; + const auto items = scene->items(); + for (QGraphicsItem *item : items) + { + if (item->data(HEADQUARTER_LINE).toBool()) + { + hqItem = item; + break; + } + } + if (hqItem) + { + scene->removeItem(hqItem); + delete hqItem; + } + if (headquarter) + { + // headquarter: + QGraphicsLineItem *hqLine = new QGraphicsLineItem(); + QPen hqLinePen; + hqLinePen.setWidthF(LINEWIDTH_HEADQUARTER); + hqLinePen.setColor(color); + hqLine->setPen(hqLinePen); + hqLine->setData(HEADQUARTER_LINE, true); + QRectF frameRect = Symbol::getSymbolFrameRect(dimen, affil); + hqLine->setLine(frameRect.left(), frameRect.center().y(), frameRect.left(), -2.0); + scene->addItem(hqLine); + } +} + +void SymbolExporter::drawSymbol(const Symbol& symbol, const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool antialias, QFont* font_p, + QMap *mapItemPrimitives_p, bool drawBoundRect) +{ + + Q_UNUSED(fillColor); + + // If this Symbol should be tracked in the Primitives-Map, clear the map first + if ( mapItemPrimitives_p ) + { + mapItemPrimitives_p->clear(); + } + + // Draw all primitives (and ICONS/TEXTS) of the given Symbol + + const auto& primitives = symbol.getPrimitives(); + + for (Primitive* item : primitives) + { + SymbolExporter::drawSymbolPrimitive(item, symTableCont, scene, + item->getColor().isValid() ? item->getColor() : color, item->getColor().isValid() ? item->getColor() : color, + z, isAttrib, mapItemPrimitives_p, drawBoundRect); + } // for + + + if ( symbol.getTextType() != Symbol::TEXT_UNDEFINED ) + { + +#if defined (SYMBOL_TEXT_IN_BLACK) && (SYMBOL_TEXT_IN_BLACK == 1) + // Sind wir bei der 'eigenen' Partei? (Hack über die Farben) + if ( isColorOfOwnForce(color) ) + { + drawSymbolText(symbol, scene, Qt::black, antialias, font_p); + } else { + drawSymbolText(symbol, scene, color, antialias, font_p); + } +#else + drawSymbolText(symbol, scene, color, antialias, font_p); +#endif // #if defined (SYMBOL_TEXT_IN_BLACK)... + } + +} // void SymbolExporter::drawSymbol(Symbol* symbol, SymbolTable* symTableSectorIcons_p...) + + +void SymbolExporter::drawSymbolPrimitive(Primitive *primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, + QMap *mapItemPrimitives_p, + bool drawBoundRect) +{ + QGraphicsItem *gitem = nullptr; + if(primitive->type() == Primitive::ICON) { + gitem = SymbolExporter::drawICON(*primitive, symTableCont, scene, + color, fillColor, + z, isAttrib, drawBoundRect); + } else if(primitive->type() == Primitive::TEXT) { + gitem = SymbolExporter::drawText(*primitive, symTableCont, scene, + color, fillColor, + z, isAttrib, drawBoundRect); + } else { + gitem = SymbolExporter::drawPrimitive(*primitive, color, fillColor, z, + isAttrib, drawBoundRect); + if(gitem) { + scene->addItem(gitem); + } + } + if(gitem) { + if(!isAttrib) { + gitem->setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable); + } + gitem->setSelected(false); + gitem->setZValue(z); + + if(mapItemPrimitives_p) { + mapItemPrimitives_p->operator[](gitem) = primitive; + } + } +} + +#ifdef APP6C +void SymbolExporter::drawSymbolText(const Symbol &symbol, + QGraphicsScene* scene, + const QColor& color, + bool antialias, + QFont* font_p) +{ + // first check if we really need to draw text + bool bEmpty = true; + for (int i=0; bEmpty && i<(int)symbol.getTextType(); ++i) { + bEmpty = symbol.getText(i+1).isEmpty(); + } + if(bEmpty) + return; + + // Find a fixed Font, if possible + QFont font = SymbolExporter::getMatchFont(font_p, antialias); + + // Font ist ausgewaehlt, weiter gehts: + QFontMetricsF metrics(font); + + for (int i=0; i<(int)symbol.getTextType(); ++i) { + QString txt = symbol.getText(i+1); + if(txt.length()>0) { + Symbol::t_alignment align = symbol.getTextAlign(i+1); + + QGraphicsSimpleTextItem *textItem = scene->addSimpleText(txt, font); + textItem->setBrush(color); + textItem->setZValue(0.9); + +// QRectF metricsRect = metrics.boundingRect(txt); // no effect +// metricsRect.moveCenter(QPointF(0.0, 0.0)); // no effect + double textHeight = metrics.height(); + double textWidth = metrics.horizontalAdvance(txt); + + + double maxWidth, maxHeight, leftX, topY; + if(i == 1) { + maxWidth = 1.7; + maxHeight = 0.8; + } + else { + maxWidth = 1.4; + maxHeight = 0.4; + } + if(align == Symbol::LEFT || align == Symbol::RIGHT) { + maxWidth /= 2.0; + } + + double scaleX = maxWidth / textWidth; + double scaleY = maxHeight / textHeight; + double scale = 1; + if(scaleX > scaleY) { + scale = scaleY; + } + else { + scale = scaleX; + } + textItem->setTransform(QTransform::fromScale(scale, -scale), true); + textHeight*=scale; + textWidth*=scale; + + + if(i == 0) { + topY = 0.35+textHeight; + } + else if(i == 1) { + topY = textHeight/2; + } + else { + topY = -0.35; + } + + switch (align) { + case Symbol::LEFT: + leftX = -0.7; + break; + case Symbol::RIGHT: + leftX = 0.7-textWidth; + break; + case Symbol::CENTER: + default: + leftX = -textWidth/2.0; + break; + } + + textItem->setPos(leftX, topY); + +//////////////////////////////////////////////////////////////////////// +// replaced by rotation in PixmapSymboCache: +//////////////////////////////////////////////////////////////////////// +// // rotation of 'text', +// int rotAngle = 60; +// textItem->setRotation(rotAngle); // angle is interpreted clockwise; +// // Qt4.6 introduced setRotation Otherwise try: +// // textItem->rotate(rotAngle); // angle is interpreted clockwise; +// // textItem->setTransform( QTransform().rotate(rotAngle), true ); // angle is interpreted clockwise; +// +// QTransform transView; +// transView.rotate(-rotAngle); // angle is interpreted counterclockwise +// textItem->setPos( transView.map(QPointF(leftX,topY)) ); +//////////////////////////////////////////////////////////////////////// + + } + + } // for +} // void SymbolExporter::drawSymbolText(const Symbol &symbol, ... +#else +void SymbolExporter::drawSymbolText(const Symbol &symbol, + QGraphicsScene* scene, + const QColor& color, + bool antialias, + QFont* font_p) +{ + // first check if we really need to draw text + bool bEmpty = true; + for (int i=0; bEmpty && i<(int)symbol.getTextType(); ++i) { + bEmpty = symbol.getText(i+1).isEmpty(); + } + if(bEmpty) + return; + + // Find a fixed Font, if possible + QFont font = SymbolExporter::getMatchFont(font_p, antialias); + + // Font ist ausgewaehlt, weiter gehts: + QFontMetricsF metrics(font); + + // TextBox Width + double len = (double)symbol.maxStringLength(); + double textBoxW = len* metrics.maxWidth(); + + // TextBox Height + Symbol::t_text textType = symbol.getTextType(); + double textBoxLineH = metrics.lineSpacing(); + double textBoxH = (double)(textBoxLineH*textType + (int)textType-1); + + // Scale TextBox + double maxWidth; + switch (textType) { + case Symbol::TEXT1: + maxWidth = 1.7; + break; + case Symbol::TEXT2: + maxWidth = 1.5; + break; + case Symbol::TEXT3: + default: + maxWidth = 1.3; + break; + } + double scale = maxWidth/textBoxW; + + // Add Text + QRectF textBox(0.0, 0.0, textBoxW, textBoxH); + textBox.moveCenter(QPointF(0.0, 0.0)); + + for (int i=0; i<(int)textType; ++i) { + QString txt = symbol.getText(i+1); + Symbol::t_alignment align = symbol.getTextAlign(i+1); + + QGraphicsTextItem *textItem = scene->addText(txt, font); + textItem->setDefaultTextColor(color); + QRectF metricsRect = metrics.boundingRect(txt); + metricsRect.moveCenter(QPointF(0.0, 0.0)); + QPointF center = textItem->boundingRect().center(); + textItem->setZValue(0.9); + textItem->setTransform(QTransform::fromScale(scale, -scale), true); + + // Place horizontal according to alignment + double moveX = -center.x(); + switch (align) { + case Symbol::LEFT: + moveX = moveX-(metricsRect.left()-textBox.left()); + break; + case Symbol::RIGHT: + moveX = moveX+(textBox.right()-metricsRect.right()); + break; + case Symbol::CENTER: + default: + // Do nothing, it's x-centered by default + break; + } + moveX = moveX*scale; + + // Place vertical according to text-type + double moveY = center.y(); + switch (textType) { + case Symbol::TEXT3: + moveY = moveY - ((i-1)*metricsRect.height()); + break; + case Symbol::TEXT2: + moveY = moveY - ((i==0?-1:1)*(metricsRect.height()/2.0)); + break; + case Symbol::TEXT1: + default: + // Do nothing, it's y-centered by default + break; + } + moveY = moveY*scale; + + textItem->moveBy(moveX, moveY); + } +} // void SymbolExporter::drawSymbolText(const Symbol &symbol, ... +#endif + + +QFont SymbolExporter::getMatchFont(QFont* font_p, bool antialias) +{ + QFont retFont; + if(font_p) { + retFont = fontMatch(*font_p); + } else { + if(!defaultFont) { + defaultFont = new QFont(QStringLiteral("Monospace"), 10); + defaultFont->setStyleStrategy(defaultStyleStrategy); + QFont matchFont = fontMatch(*defaultFont); + delete defaultFont; + defaultFont = new QFont(matchFont); + } + retFont = *defaultFont; + } + QFont::StyleStrategy styleStrategy = QFont::PreferAntialias; + if(!antialias) { + styleStrategy = QFont::NoAntialias; + } + if(styleStrategy != retFont.styleStrategy()) { + retFont.setStyleStrategy(styleStrategy); + retFont = fontMatch(retFont); + } + retFont.setBold(true); + return retFont; +} + +QFont SymbolExporter::fontMatch(const QFont &font) +{ + QFont retFont = font; + if(!font.exactMatch()) { + QFontDatabase fdb; + QStringList fontFamilies = fdb.families(QFontDatabase::Latin); + for (int i = 0; i < fontFamilies.size(); ++i) { + QFont tmpFont(fontFamilies.at(i), 10); + if ( tmpFont.fixedPitch() ) { + retFont = tmpFont; + break; + } + } + } + return retFont; +} + +QGraphicsItem* SymbolExporter::redraw(QGraphicsItem *g, bool drawBoundRect) +{ + Primitive *prim = g->data(primitiveKey).value(); + + if(prim->type() == Primitive::TEXT) { + + // Primitive::TEXT: + + CustomGraphicsItemGroup* ggroup = dynamic_cast(g); + + if(ggroup) { + QPolygonF points = prim->getPoints(); + if(points.size()!=2) { + return nullptr; + } + + ggroup->setTransform(QTransform()); + ggroup->setPos(0, 0); + + const QList children = ggroup->childItems(); + for(int i = children.size() - 1; i >=0 ; i--) { + QGraphicsItem *child = children.at(i); + child->setTransform(QTransform()); + child->setPos(0, 0); + if(child->data(BOUNDING_RECT).toBool()) { + ggroup->removeFromGroup(child); + delete child; + } + } + QRectF wantedBox(points.at(0), points.at(1)); + // prim->text kann auch mehrzeilig sein: + int metricFlags = 0; + QFontMetrics metrics(SymbolExporter::getMatchFont(nullptr, true)); + // einzeilig war mal: QRectF boundingBox = + // QRectF(0, 0, metrics.width(prim->text()), metrics.height()); + QSize textSize = metrics.size(metricFlags, prim->text()); + QRectF boundingBox = QRectF(0, 0, textSize.width(), textSize.height()); + int baselinePixel = 0; + if(prim->text().contains(QStringLiteral("\n"))) { + baselinePixel = 2; + } + boundingBox.setHeight(boundingBox.height() + baselinePixel); + qreal dx, dy, dtaken; + dx = wantedBox.width() / boundingBox.width(); + dy = wantedBox.height() / boundingBox.height(); + dtaken = qMin(dx, dy); + + ggroup->moveBy(-boundingBox.width()*dtaken/2, boundingBox.height()*dtaken/2); + ggroup->setTransform(QTransform::fromScale(dtaken, -dtaken), true); + ggroup->moveBy(wantedBox.center().x(), wantedBox.center().y()); + + if(drawBoundRect) { + QGraphicsRectItem *selectRect = new QGraphicsRectItem(); + QPen rectpen(Qt::DotLine); + rectpen.setColor(Qt::red); + rectpen.setWidthF(0.01); + selectRect->setData(BOUNDING_RECT, true); + selectRect->setPen(rectpen); + selectRect->setBrush(Qt::NoBrush); + selectRect->setRect(wantedBox); + ggroup->addToGroup(selectRect); + } + + // rotate: + double angle = prim->getRotation(); + ggroup->setTransform(QTransform().rotate(angle), true); // rotation point is not the center of ggroup ! :-( + // + ggroup->update(); + + return ggroup; + } + } else if(prim->type() == Primitive::ICON) { + + // Primitive::ICON: + + CustomGraphicsItemGroup* ggroup = dynamic_cast(g); + + if(ggroup) { + QPolygonF points = prim->getPoints(); + if(points.size()!=2) { + return nullptr; + } + const QList children = ggroup->childItems(); + for(int i = children.size() - 1; i >=0 ; i--) { + QGraphicsItem *child = children.at(i); + if(child->data(BOUNDING_RECT).toBool()) { + ggroup->removeFromGroup(child); + delete child; + } + } + ggroup->setTransform(QTransform()); + ggroup->setPos(0, 0); + + QRectF wantedBox(points.at(0), points.at(1)); + + #ifdef NEVER + bool scalingOfLinewidth = false; // false == linewidth will not be changed + if (scalingOfLinewidth) + { + // war mal so: ( nur proportional !!!) : + QRectF boundingBox = ggroup->boundingRect(); + qreal dtaken = qMin(wantedBox.width() / boundingBox.width(), + wantedBox.height() / boundingBox.height()); + + ggroup->setTransform(QTransform::fromScale(dtaken, dtaken), true); + ggroup->moveBy(-boundingBox.center().x()*dtaken, -boundingBox.center().y()*dtaken); + ggroup->moveBy(wantedBox.center().x(), wantedBox.center().y()); + } + else + #endif + { // let the linewith's be constant + bool proport = !(prim->scalemode() == Primitive::Scalemode_Unproport); + scaleGeometry(ggroup, wantedBox, proport); + } + if(drawBoundRect) { + QGraphicsRectItem *selectRect = new QGraphicsRectItem(); + QPen rectpen(Qt::DotLine); + rectpen.setColor(Qt::red); + rectpen.setWidthF(0.01); + selectRect->setData(BOUNDING_RECT, true); + selectRect->setPen(rectpen); + selectRect->setBrush(Qt::NoBrush); + selectRect->setRect(wantedBox); + ggroup->addToGroup(selectRect); + } + // rotate: + double angle = prim->getRotation(); + QPointF centerF = ggroup->boundingRect().center(); + ggroup->setTransform(QTransform()); + ggroup->setTransform(QTransform().translate(centerF.x(), centerF.y()) + .rotate(angle).translate(-centerF.x(), -centerF.y())); + // + ggroup->update(); + + return ggroup; + } + } + else { + + // other Primitives: + + QGraphicsPathItem* pathItem = dynamic_cast(g); + if(pathItem) { + QPainterPath path = SymbolExporter::createPath(prim, false); + pathItem->setPath(path); + // rotate: + double angle = prim->getRotation(); + double cx = 0.0; + double cy = 0.0; + prim->getCenter(cx, cy); + pathItem->setTransform(QTransform()); + pathItem->setTransform(QTransform().translate(cx, cy).rotate(angle).translate(-cx, -cy)); + // + pathItem->update(); + } + } + + return g; +} + +void SymbolExporter::scaleGeometry(QGraphicsItemGroup* ggroup, const QRectF &wantedBox, + bool proport) +{ + // test NGL::INGLLogger &mLogger = + // test NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger( "SymbolEditor" ); + + // try and try a scale, at least it seams as if its ok + // and do not vis Qt-errors ! + qreal last_scalex = -1; + qreal scalex = 0; + qreal scaley = scalex; + QRectF boundingBox; + int countWhile = 0; + + while((qAbs(last_scalex - scalex) > 0.001) && + (countWhile < 10) && // max tries + ((scalex < 0.999) || (scalex > 1.001))) { // dtaken should go to 1.000 + // set new scalex, scaley: + boundingBox = ggroup->boundingRect(); + qreal dx, dy; + dx = wantedBox.width() / boundingBox.width(); + dy = wantedBox.height() / boundingBox.height(); + last_scalex = scalex; + if(proport) { + scalex = qMin(dx, dy); + scaley = scalex; + } else { + scalex = dx; + scaley = dy; + } + // test ERROR_LOG(mLogger) << "scaleGeometry: countWhile = " << countWhile + // test << "scalex = " << scalex ; + SymbolExporter::tryScaleGeometry(ggroup, scalex, scaley); + ++countWhile; + } + ggroup->moveBy(-boundingBox.center().x()*scalex, -boundingBox.center().y()*scaley); + ggroup->moveBy(wantedBox.center().x(), wantedBox.center().y()); +} + +void SymbolExporter::tryScaleGeometry(QGraphicsItemGroup* ggroup, + qreal scalex, qreal scaley) +{ + // items from group : + QList gi_l; + while(ggroup->childItems().size() > 0) { + QGraphicsItem* gi_p = ggroup->childItems().at(0); + gi_l << gi_p; + ggroup->removeFromGroup(gi_p); + } + // + QTransform matrix; + matrix.scale(scalex, scaley); + + for(QGraphicsItem* gi_p : std::as_const(gi_l)) { + QGraphicsPathItem* pathItem = dynamic_cast(gi_p); + if(pathItem) { + QPainterPath painterPath = matrix.map(pathItem->path()); + pathItem->setPath(painterPath); + } + } + // items to group : + while(gi_l.size() > 0) { + ggroup->addToGroup(gi_l.at(0)); + gi_l.takeAt(0); + } +} + +QGraphicsItem* SymbolExporter::drawPrimitive(const Primitive& primitive, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect) +{ + Q_UNUSED(drawBoundRect); + + Primitive *item = const_cast(&primitive); + + QColor localColor = color; + if (item->getColor().isValid()) + { + localColor = item->getColor(); + localColor.setAlpha(color.alpha()); // Evtl. nur wenn mapItemPrimitives_p != 0 + } + + QBrush brush; + QPen pen; + + double pWidth = item->getLineWidth(); + if ( isAttrib ) { + if(item->fill()) { + // filled : + if(pWidth < 0.0) { + pen.setColor(QColor(0,0,0,0)); + pWidth = 0.0; + } else if(pWidth == 0.0) { + //pen.setColor(localColor); + QColor blackAlpha = Qt::black; + blackAlpha.setAlpha(localColor.alpha()); + pen.setColor(blackAlpha); + } else { + pen.setColor(localColor); + } + } else { + // outlined : + pen.setColor(localColor); + if(pWidth < 0.0) { + return nullptr; + } + } + brush.setColor(fillColor); + } else { + // !isAttrib : + pen.setColor(localColor); + brush.setColor(fillColor); + } + pen.setWidthF(pWidth); + + brush.setStyle(item->fill()?(Qt::SolidPattern):(Qt::NoBrush)); + + // pen style: + switch (item->getLineStyle()) + { + case Primitive::DASHED_DOTTED: + pen.setStyle(Qt::DashDotLine); + break; + case Primitive::DOTTED: + pen.setDashPattern(QVector() << 1 << 1); // the same length for dot and space + // war mal so: pen.setStyle(Qt::DotLine); + break; + case Primitive::DASHED: + pen.setStyle(Qt::DashLine); + break; + case Primitive::SOLID: + default: + pen.setStyle(Qt::SolidLine); + break; + } // switch + + pen.setCapStyle(Qt::FlatCap); + pen.setJoinStyle(Qt::BevelJoin); + + QPainterPath qpath = SymbolExporter::createPath(item, isAttrib); + + if ( !qpath.isEmpty() ) + { + QGraphicsPathItem *pathItem = new QGraphicsPathItem(qpath); + QVariant data = QVariant::fromValue(item); + pathItem->setData(primitiveKey, data); // primitiveKey=42 from symbolexporter.h + + pathItem->setPen(pen); + pathItem->setBrush(brush); + // rotate: + double angle = item->getRotation(); + double cx, cy; + item->getCenter(cx, cy); + if(angle != 0.0) { + pathItem->setTransform(QTransform()); + pathItem->setTransform(QTransform().translate(cx, cy).rotate(angle).translate(-cx, -cy)); + } + // + pathItem->setZValue(z); + + return pathItem; + } // if ( !qpath.isEmpty() ) + + return nullptr; +} // SymbolExporter::drawPrimitive + +QGraphicsItem* SymbolExporter::drawICON(const Primitive& primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect) +{ + if ( ! scene) + return nullptr; + + CustomGraphicsItemGroup * ggroup = nullptr; + Primitive *primitive_p = const_cast(&primitive); + + if(primitive_p->type() == Primitive::ICON) + { + SymbolTypes::t_sectoricon primIconId = (SymbolTypes::t_sectoricon)primitive_p->icon(); + SymbolTypes::t_icon_type iconType = primitive_p->iconType(); + SymbolTable* symTableSectorIcons_p = nullptr; + if ( (iconType>= 0) && + (iconType < SymbolTypes::ICON_TYPE_END) && + (symTableCont.size() == SymbolTypes::ICON_TYPE_END) ) { + symTableSectorIcons_p = symTableCont[iconType]; + } + + // endgueltige id des (Sub-)Symbols ermitteln. + // Dazu je nach iconType den passenden Offset einbezuiehen: + int tmpID = -1; + + switch (iconType) + { + case SymbolTypes::ICON_TYPE_SECTOR_ICON: + tmpID = SymbolTable::getSectorIconSymbolID(primIconId); + break; + case SymbolTypes::ICON_TYPE_INTRINSIC_MOBILITY: + tmpID = SymbolTable::getIntrinsicMobilitySymbolID( (SymbolTypes::t_intrinsicmob)primIconId ); + break; + case SymbolTypes::ICON_TYPE_VEHICLE: + tmpID = SymbolTable::getVehicleSymbolID( (SymbolTypes::t_vehicle)primIconId ); + break; + case SymbolTypes::ICON_TYPE_ARMING: + tmpID = SymbolTable::getArmingSymbolID( (SymbolTypes::t_arming)primIconId ); + break; + case SymbolTypes::ICON_TYPE_MISC: + tmpID = SymbolTable::getMiscSymbolID( (SymbolTypes::t_misc)primIconId ); + break; + case SymbolTypes::ICON_TYPE_UNDEFINED: + case SymbolTypes::ICON_TYPE_END: + { + // emtpy - avoiding compiler warning + + } + } // switch + + // Und nun mit der endgueltige id des (Sub-)Symbols den passdenden SymboTable + // um das (Sub-)Symbol bitten: + + if ( symTableSectorIcons_p && symTableSectorIcons_p->contains(tmpID) ) + { + Symbol *secIconSymbol = new Symbol(*(symTableSectorIcons_p->value(tmpID))); + + ggroup = new CustomGraphicsItemGroup(); + scene->addItem(ggroup); + + const auto& plist = secIconSymbol->getPrimitives(); + + // linewidth: + double resultLinewidth = primitive_p->getLineWidth(); + if(resultLinewidth < 0) { + for (const Primitive* subPrim : plist) { + if(subPrim->getLineWidth() > resultLinewidth) { + resultLinewidth = subPrim->getLineWidth(); + } + } + if(resultLinewidth < 0) { + resultLinewidth = 0; + } + if(primitive_p->position() != SymbolTypes::SECTORMAIN) { + resultLinewidth = resultLinewidth * REDUCE_LINEWIDTH_F; + } + if(primitive_p->rectpos() == SymbolTypes::SECTOR_RECTPOS_LARGE) { + resultLinewidth = resultLinewidth * 2; + } + primitive_p->setLineWidth(resultLinewidth); + } + // :linewidth + + for (Primitive* prim : plist) + { + if(prim->getLineWidth() > 0) { + prim->setLineWidth(primitive_p->getLineWidth()); + } + QGraphicsItem *gitem = SymbolExporter::drawPrimitive(*prim, color, fillColor, + z, isAttrib); + if(gitem) { + gitem->setData(primitiveKey, QVariant()); + ggroup->addToGroup(gitem); + } + } // for + + ggroup->setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable); + ggroup->setSelected(false); + + QVariant temp = QVariant::fromValue(primitive_p); + ggroup->setData(primitiveKey, temp); + + redraw(ggroup, drawBoundRect); + + ggroup->setSelected(false); + ggroup->setZValue(z); + + delete secIconSymbol; + + }// if ( symTableSectorIcons_p.contains(tmpID) ) + + + } // if(primitive_p->type() == Primitive::ICON) + return ggroup; + +} // QGraphicsItem* SymbolExporter::drawICON + +QGraphicsItem* SymbolExporter::drawText(const Primitive &primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect) +{ + Q_UNUSED(symTableCont); + Q_UNUSED(fillColor); + Q_UNUSED(isAttrib); + Q_UNUSED(drawBoundRect); + + if ( ! scene) + return nullptr; + + QColor finalColor = color; +#if defined (SYMBOL_TEXT_IN_BLACK) && (SYMBOL_TEXT_IN_BLACK == 1) + // Sind wir bei der 'eigenen' Partei? (Hack über die Farben) + if ( isColorOfOwnForce(color) ) + { + finalColor = Qt::black; + } +#endif // #if defined (SYMBOL_TEXT_IN_BLACK)... + + CustomGraphicsItemGroup * ggroup = nullptr; + Primitive *primitive_p = const_cast(&primitive); + + if(primitive_p->type() == Primitive::TEXT) { + ggroup = new CustomGraphicsItemGroup(); + scene->addItem(ggroup); + + QGraphicsSimpleTextItem *gitem = new QGraphicsSimpleTextItem(); + gitem->setBrush(finalColor); + gitem->setFont(SymbolExporter::getMatchFont(nullptr, true)); + gitem->setText(primitive_p->text()); + ggroup->addToGroup(gitem); + + ggroup->setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable); + ggroup->setSelected(false); + + QVariant temp = QVariant::fromValue(primitive_p); + ggroup->setData(primitiveKey, temp); // primitiveKey=42 from symbolexporter.h + + redraw(ggroup, drawBoundRect); + + ggroup->setSelected(false); + ggroup->setZValue(z); + } + return ggroup; +} // QGraphicsItem* SymbolExporter::drawText + + +QPainterPath SymbolExporter::createPath(const Primitive* primitive_p, bool isAttrib) +{ + QPainterPath qpath; + double w, h, xmin, ymin; + QPolygonF points = primitive_p->getPoints(); + switch (primitive_p->type()) + { + case Primitive::ELLIPSE : + { + w = fabs(points.at(0).x()-points.at(1).x()); + h = fabs(points.at(0).y()-points.at(1).y()); + xmin = std::min(points.at(0).x(), points.at(1).x()); + ymin = std::min(points.at(0).y(), points.at(1).y()); + if ( primitive_p->closed() || (primitive_p->getExtent() >= 360.0) ) + { + qpath.addEllipse(xmin, ymin, w, h); + } + else + { + if ( primitive_p->fill() && !isAttrib ) + { + qpath.moveTo(xmin+(w/2.0), ymin+(h/2.0)); + } + else + { + qpath.arcMoveTo(xmin, ymin, w, h, -(primitive_p->getStartAngle()) ); + } + qpath.arcTo(xmin, ymin, w, h, + -(primitive_p->getStartAngle()), -(primitive_p->getExtent()) ); + } + } break; + + case Primitive::LINE : + { + qpath.moveTo(points.at(0)); + qpath.lineTo(points.at(1)); + } break; + + case Primitive::POLYGON : + { + qpath.addPolygon(points); + if ( primitive_p->closed() ) + { + qpath.closeSubpath(); + } + } break; + + case Primitive::RECT : + { + // TODO: QRectF rect(points.at(0), points.at(1)) ?? + w = fabs(points.at(0).x()-points.at(1).x()); + h = fabs(points.at(0).y()-points.at(1).y()); + xmin = std::min(points.at(0).x(), points.at(1).x()); + ymin = std::min(points.at(0).y(), points.at(1).y()); + qpath.addRect(xmin, ymin, w, h); + } break; + + default : break; + } + return qpath; +} // QPainterPath SymbolExporter::createPath(Primitive* primitive, bool isAttrib) + + +Primitive *SymbolExporter::newPrimitiveICON(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position pos, + SymbolTypes::t_sector_rectpos rectpos, + int id) +{ + Primitive *p = new Primitive(Primitive::ICON); + p->setIcon(id); + p->setIconType(iconType); + QRectF rect = SymbolTypes::getDefaultRect(pos, rectpos); + QPolygonF poly; + poly.append(rect.topLeft()); + poly.append(rect.bottomRight()); + p->setPoints(poly); + p->setPosition(pos); + p->setRectpos(rectpos); + p->setLineWidth(-1); // will be set in drawICON + + return p; +} + + +Symbol *SymbolExporter::newSecIconSymbol(const SymbolTypes::t_symbolTableCont& symTableCont, + SymbolTypes::t_icon_type iconType, int iconId) +{ + if(iconId == SymbolTypes::SECICON_UNDEFINED) { // undefined + return nullptr; + } + + SymbolTable* symTableSectorIcons_p = nullptr; + if((iconType>= 0) && + (iconType < SymbolTypes::ICON_TYPE_END) && + (symTableCont.size() == SymbolTypes::ICON_TYPE_END)) { + symTableSectorIcons_p = symTableCont[iconType]; + } + + int tmpID = -1; + switch (iconType) { + case SymbolTypes::ICON_TYPE_SECTOR_ICON: + tmpID = SymbolTable::getSectorIconSymbolID((SymbolTypes::t_sectoricon)iconId); + break; + case SymbolTypes::ICON_TYPE_INTRINSIC_MOBILITY: + tmpID = SymbolTable::getIntrinsicMobilitySymbolID( (SymbolTypes::t_intrinsicmob)iconId ); + break; + case SymbolTypes::ICON_TYPE_VEHICLE: + tmpID = SymbolTable::getVehicleSymbolID( (SymbolTypes::t_vehicle)iconId ); + break; + case SymbolTypes::ICON_TYPE_ARMING: + tmpID = SymbolTable::getArmingSymbolID( (SymbolTypes::t_arming)iconId ); + break; + case SymbolTypes::ICON_TYPE_MISC: + tmpID = SymbolTable::getMiscSymbolID( (SymbolTypes::t_misc)iconId ); + break; + case SymbolTypes::ICON_TYPE_UNDEFINED: + case SymbolTypes::ICON_TYPE_END: + break; + } // switch + + if(!symTableSectorIcons_p || !symTableSectorIcons_p->contains(tmpID)) { + return nullptr; + } + Symbol *secIconSymbol = new Symbol(*(symTableSectorIcons_p->value(tmpID))); + return secIconSymbol; +} + +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.h new file mode 100755 index 000000000..0211025b5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_exporter.h @@ -0,0 +1,142 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + + +#pragma once + + +#include "symbol.h" +#include "symbology_xml_export.h" +#include "primitive.h" + +#include +#include + +class QGraphicsItem; +class QGraphicsItemGroup; +class QGraphicsScene; + +namespace SymbologyXML +{ + + +/** + @author Stephan Kuhagen +*/ +class SYMBOLOGY_XML_EXPORT SymbolExporter +{ +public: + /** + Draws a symbol frame into a given GraphicScene + \param symbol: Reference to symbol + \param additionalSymbolData: contains status, filltype + \param scene: Pointer to GraphicScene + \param color: Draw with this color + \param fillColor: Fill with this color + \param z: Z-Value in the scene for new Items + \param antialias: antialias (used for font-style-setting) + */ + static void drawFrameSymbol(const Symbol& symbol, + const SymbolTypes::AdditionalSymbolData& additionalData, + QGraphicsScene* scene, const QColor& color, const QColor& fillColor, + double z, bool antialias = true); + + /** + Draws the headquarter prims into a given GraphicScene + \param scene: Pointer to GraphicScene + \param headquarter : headquarter or not + \param affil : affliliation + \param dimen: dimension + \param color: draw color + */ + static void drawHeadquarterPrims(QGraphicsScene *scene, bool headquarter, + SymbolTypes::t_dimen dimen, SymbolTypes::t_affil affil, + const QColor& color); + + /** + Draws a symbol into a given GraphicScene + \param symbol:reference to symbol + \param symTableSectorIcons_p: Pointer to Symboltable with SectorIcons + \param scene: Pointer to GraphicScene + \param color: Draw with this color + \param fillColor: Fill with this color + \param z: Z-Value in the scene for new Items + \param isAttrib: If true, this is a static Attribute-Symbol + \param antialias: antialias (used for font-style-setting) + */ + static void drawSymbol(const Symbol& symbol, const SymbolTypes::t_symbolTableCont& symTableCont, QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib = false, bool antialias = true, + QFont* font_p = nullptr, + QMap *mapItemPrimitives_p = nullptr, + bool drawBoundRect=false); + + /** + Draw the Text-Data of a Symbol into the given scene with color. + \param symbol: The symbol + \param color: Draw with this color + \param scene: Pointer to GraphicScene + \param antialias: antialias (used for font-style-setting) + \param font_p: font (set the font to be used ) + */ + static void drawSymbolText(const Symbol &symbol, QGraphicsScene* scene, + const QColor& color, bool antialias, QFont* font_p = nullptr); + + static void drawSymbolPrimitive(Primitive *primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, + QMap *mapItemPrimitives_p, + bool drawBoundRect); + + static QGraphicsItem* drawPrimitive(const Primitive& primitive, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect = false); + + static QGraphicsItem* redraw(QGraphicsItem *g, bool drawBoundRect = false); + + static void scaleGeometry(QGraphicsItemGroup* ggroup, const QRectF &wantedBox, bool proport); + + static void tryScaleGeometry(QGraphicsItemGroup* ggroup, qreal scalex, qreal scaley); + + static QGraphicsItem* drawICON(const Primitive &primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect = false); + static QGraphicsItem* drawText(const Primitive &primitive, + const SymbolTypes::t_symbolTableCont& symTableCont, + QGraphicsScene* scene, + const QColor& color, const QColor& fillColor, + double z, bool isAttrib, bool drawBoundRect = false); + static Primitive *newPrimitiveICON(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position pos, + SymbolTypes::t_sector_rectpos rectpos, + int id); + static Symbol *newSecIconSymbol(const SymbolTypes::t_symbolTableCont& symTableCont, + SymbolTypes::t_icon_type iconType, int iconId); + + static QFont getMatchFont(QFont* font_p, bool antialias); + static QFont fontMatch(const QFont &font); + + /** + Create a QPainterPath from this Primitive. + \param primitive: The Primitive + \param isAttrib: True, if this Primitive is part of an Attribute (influences some + draw operations) + \return A new QPainterPath + */ + static QPainterPath createPath(const Primitive* primitive_p, bool isAttrib); + + + //! Deleted Constructor, only static functions in this class + SymbolExporter() = delete; +}; + +} // namespace SymbologyXML + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_id_t.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_id_t.h new file mode 100755 index 000000000..e2347f748 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_id_t.h @@ -0,0 +1,70 @@ +/** + * Definition of the symbol id + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +namespace SymbologyXML +{ + +struct symbol_id_t { + + /** + * @brief Constructor + * @param raw value of the symbol id (real symbol id AND flag 'isArtillery') + */ + explicit symbol_id_t(unsigned short raw = 0) + : m_raw(raw) + {} + + /** + * @brief Get the real symbol id + * @return real symbol id + */ + unsigned short symbolId() const { return (m_raw & idMask); } + + /** + * @brief Set the real symbol id + * @param real symbol id + */ + void setSymbolId(unsigned short id) { m_raw = ((id & idMask) | (m_raw & bit) );} + + /** + * @brief Get flag 'isArtillery' + * @return 'isArtillery' + */ + bool isArtillery() const { return ((m_raw & bit) == bit); } + + /** + * @brief Set flag 'isArtillery' + * @param flag 'isArtillery' + */ + void setArtillery(bool bSet) { if(bSet) m_raw |= bit; else m_raw &= ~bit; } + + /** + * @brief Get the raw data (e.g. for database insertion) + * @return + */ + unsigned short raw() const { return m_raw; } + unsigned short &raw() { return m_raw; } + + /** + * @brief Set raw value of the symbol id (real symbol id AND flag 'isArtillery') + * @param raw value + */ + void setRaw(unsigned short raw) { m_raw = raw; } + + bool operator==(const symbol_id_t other) const { return m_raw == other.m_raw; } + bool operator!=(const symbol_id_t other) const { return !operator==(other); } +protected: + // For isArtillery: + static const unsigned short idMask = 0x7fffU; + static const unsigned short bit = 0x8000U; + // raw data: + unsigned short m_raw; +}; + +}; // namespace SymbologyXML \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.cpp new file mode 100755 index 000000000..5c17872b3 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.cpp @@ -0,0 +1,1097 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "symbol_reader.h" +#include "attribute_data.h" + +#include +#include +#include +#include + +namespace SymbologyXML +{ + + +SymbolReader::SymbolReader() : QXmlStreamReader(), + logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.SymbolReader")), + _buffer(nullptr), + _symbol(nullptr), + _transformed(false) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolReader() + + +SymbolReader::~SymbolReader() +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + delete _buffer; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // ~SymbolReader() + + +bool SymbolReader::read(QFile *xml, Symbol &target) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _symbol = (Symbol*)⌖ + if ( xml->exists() ) { + if ( !xml->open(QIODevice::ReadOnly) ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Can not open file: '" << xml->fileName() << "'" ; + raiseError(QObject::tr("Can not open the file")); + } + } else { + ERROR_LOG(logger) << LOGFUNCTION + << " File does not exist: '" << xml->fileName() << "'" ; + raiseError(QObject::tr("The file does not exist")); + } + + _filename = xml->fileName(); // For Debugging only + + setDevice(xml); + bool result = read(); + xml->close(); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // read(QFile xml, Symbol &target) + + +bool SymbolReader::read(const QString &xml, Symbol &target) { + return read(xml.toUtf8(), target); +} // read(const QString &xml, Symbol &target) + + +bool SymbolReader::read(const QByteArray &xml, Symbol &target) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _symbol = (Symbol*)⌖ + delete _buffer; + _buffer = new QBuffer(); + _buffer->setData(xml); + _buffer->open(QBuffer::ReadOnly); + setDevice(_buffer); + bool result = read(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // read(const QString &xml, Symbol &target) + + +bool SymbolReader::read() { + DEBUG_LOG(logger) << LOGFUNCTION ; + + _symbol->reset(); + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::StartElement) { + if ( name() == QLatin1String("symbol") ) { + readSymbol(); + } else { + ERROR_LOG(logger) << LOGFUNCTION + << " The data is not a symbol." ; + raiseError(QObject::tr("The data is not a symbol")); + } + } + } + _symbol->_transformed = _transformed; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return (error() == QXmlStreamReader::NoError); +} // read() + + +void SymbolReader::readUnknownElement() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement()); + + while (!atEnd()) { + WARNING_LOG(logger) << LOGFUNCTION + << " Reading unknown/unexpected element: " + << qPrintable(name().toString()) ; + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + readUnknownElement(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolReader::readUnknownElement() + + +void SymbolReader::readSymbol() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("symbol")) ); + + QStringView attrib = attributes().value(QStringLiteral("version")); + QString ownVersion = QLatin1String(Symbol::SymbolVersion); + if ( attrib.toString().toDouble() > ownVersion.toDouble() ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong symbol version. " + << " should be '"<< ownVersion << "'" + << " but is '" << attrib.toString() << "'" + << getDebugInfo() ; + raiseError(QObject::tr("Wrong symbol version")); + } + + _symbol->setID(getAttribInt("id")); + + // undefined|air_space|land_units|land_equipment|over_water|under_water + attrib = attributes().value(QStringLiteral("dimen")); + + if ( attrib.isEmpty() ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " No value for attribute dimen: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + } else { + SymbolTypes::t_dimen dimen; + bool bOk = false; + dimen = SymbolTypes::instance()->getDimen()->convert_str2enum(attrib, & bOk); + _symbol->setDimen(dimen); + if( ! bOk ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute dimen: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + // raiseError(QObject::tr("Unknown value for attribute affil.")); + } + } + + // undefined|unknown|friend|neutral|enemy + attrib = attributes().value(QLatin1String("affil")); + + if ( attrib.isEmpty() ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " No value for attribute affil: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + } else { + SymbolTypes::t_affil affil; + bool bOk = false; + affil = SymbolTypes::instance()->getAffil()->convert_str2enum(attrib, & bOk); + _symbol->setAffil(affil); + if( ! bOk ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute affil: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + + // raiseError(QObject::tr("Unknown value for attribute affil.")); + } + } + + // true|false|1|0 + _transformed = getAttribBool("transformed", false, true); + + // tag bcdab: + attrib = attributes().value(QLatin1String("bcdab")); + if (attrib.isEmpty()) { + _symbol->setBcdab(SymbolTypes::BCDAB_UNDEFINED); + } else { + _symbol->setBcdab(SymbolTypes::instance()->getBcdab()->convert_str2enum(attrib)); + } + + // tag commandLevel : + attrib = attributes().value(QLatin1String("command_level")); + if (attrib.isEmpty()) { + _symbol->setCommandLevel(SymbolTypes::CL_UNDEFINED); + } else { + _symbol->setCommandLevel(SymbolTypes::instance()->getCommandLevel()->convert_str2enum(attrib)); + } + // headquarter + // true|false + _symbol->setHeadquarter(false); + attrib = attributes().value(QLatin1String("headquarter")); + if (!attrib.isEmpty() ) { + if(attrib == QStringLiteral("true")) { + _symbol->setHeadquarter(true); + } else if(attrib == QStringLiteral("false")) { + _symbol->setHeadquarter(false); + } else { + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute headquarter. " + << getDebugInfo() ; + raiseError(QObject::tr("Unknown value for attribute headquarter")); + } + } + + // Mobility + attrib = attributes().value(QStringLiteral("mob")); + if (attrib.isEmpty()) { + _symbol->setMob(SymbolTypes::MOB_UNDEFINED); + } else { + SymbolTypes::t_mob t = SymbolTypes::instance()->getMob()->convert_str2enum(attrib); + if(t == SymbolTypes::MOB_UNDEFINED) + t = SymbolTypes::instance()->getMob()->convert_str2enum(QStringLiteral("mob_") + attrib.toString()); + _symbol->setMob(t); + } + + + // vehicle (optional) + // vehicle (undefined|vehicle|util_vehicleA|util_vehicleB|util_vehicle_armored|armored_infantry|armored_infantryB|carrier|armored_tank) #IMPLIED> + attrib = attributes().value(QStringLiteral("vehicle")); + if (attrib.isEmpty() ) { + _symbol->setVehicle(SymbolTypes::VEHICLE_UNDEFINED); + } else { + SymbolTypes::t_vehicle ivehicle = SymbolTypes::instance()->getVehicle()->convert_str2enum(attrib); + if(ivehicle == SymbolTypes::VEHICLE_UNDEFINED) + ivehicle = SymbolTypes::instance()->getVehicle()->convert_str2enum(QLatin1String("vehicle_") + attrib.toString()); +#ifdef APP6C + // downwards compat. : + if(ivehicle != SymbolTypes::VEHICLE_UNDEFINED) { + Primitive *p = newPrimitiveICON(SymbolTypes::ICON_TYPE_VEHICLE, + SymbolTypes::SECTORMAIN, SymbolTypes::SECTOR_RECTPOS_LARGE, + (int)ivehicle); + if(p) { + QRectF rect = SymbolTypes::getDefaultRect(SymbolTypes::SECTORMAIN, SymbolTypes::SECTOR_RECTPOS_LARGE); + QPolygonF poly; + poly.append(rect.topLeft()); + poly.append(rect.bottomRight()); + p->setPoints(poly); + _symbol->addPrimitive(p); + } + } + // : downwards compat. +#else + _symbol->setVehicle(ivehicle); +#endif + } + + // intrinsicMobility (optional) + // undefined|wheel|wheel_all_terrain|chain|chain_all_terrain|trailer|train + attrib = attributes().value(QStringLiteral("intrinsicmob")); + if (attrib.isEmpty()) { + _symbol->setIntrinsicMob(SymbolTypes::INTRINSICMOB_UNDEFINED); + } else { + SymbolTypes::t_intrinsicmob imob = SymbolTypes::instance()->getIntrinsicMob()->convert_str2enum(attrib); + if(imob == SymbolTypes::INTRINSICMOB_UNDEFINED) + imob = SymbolTypes::instance()->getIntrinsicMob()->convert_str2enum(QStringLiteral("intrinsicmob_") + attrib.toString()); +#ifdef APP6C + // downwards compat. : + if(imob != SymbolTypes::INTRINSICMOB_UNDEFINED) { + Primitive *p = newPrimitiveICON(SymbolTypes::ICON_TYPE_INTRINSIC_MOBILITY, + SymbolTypes::SECTOR2, SymbolTypes::SECTOR_RECTPOS_DEFAULT, + (int)imob); + if(p) { + _symbol->addPrimitive(p); + } + } + // : downwards compat. +#else + _symbol->setIntrinsicMob(imob); +#endif + } + + // arming (optional) + // undefined|gun|auto_weapon|ATGun|ADGun|morter|howitzer|rocket|missile) #IMPLIED + attrib = attributes().value(QStringLiteral("arming")); + if ( ! attrib.isEmpty() ) { + SymbolTypes::t_arming arming = SymbolTypes::instance()->getArming()->convert_str2enum(attrib); + if(arming == SymbolTypes::ARMING_UNDEFINED) + arming = SymbolTypes::instance()->getArming()->convert_str2enum(QStringLiteral("arming_") + attrib.toString()); +#ifdef APP6C + // downwards compat. : + if(arming != SymbolTypes::ARMING_UNDEFINED) { + Primitive *p = newPrimitiveICON(SymbolTypes::ICON_TYPE_ARMING, + SymbolTypes::SECTORMAIN, SymbolTypes::SECTOR_RECTPOS_DEFAULT, + (int)arming); + if(p) { + _symbol->addPrimitive(p); + } + } + // : downwards compat. +#else + _symbol->setArming(arming); +#endif + } + + // Value is optional: +// ERROR_LOG(logger) << LOGFUNCTION +// << " Unknown value for attribute arming." ; +// raiseError(QObject::tr("Unknown value for attribute arming.")); + + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("app6class")) { + readApp6Class(); + } else if (name() == QStringLiteral("branch")) { + readBranch(); + } else if (name() == QStringLiteral("misc")) { + readMisc(); + } else if (name() == QStringLiteral("name")) { + readName(); + } else if (name() == QStringLiteral("text1")) { + _symbol->setTextType(Symbol::TEXT1); + readText(1); + } else if (name() == QStringLiteral("text2")) { + _symbol->setTextType(Symbol::TEXT2); + readText(2); + } else if (name() == QStringLiteral("text3")) { + _symbol->setTextType(Symbol::TEXT3); + readText(3); + } else if (name() == QStringLiteral("graphic")) { + readGraphic(); + } else { + readUnknownElement(); + } + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolReader::readSymbol() + + +void SymbolReader::readName() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("name")) ); + _symbol->setName(readElementText()); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readName() + + +void SymbolReader::readApp6Class() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("app6class")) ); + + QStringView attrib = attributes().value(QStringLiteral("classname")); + if ( ! attrib.isEmpty() ) { + _symbol->setClassName(attrib.toString()); + } + attrib = attributes().value(QStringLiteral("classhierarchy")); + if ( ! attrib.isEmpty() ) { + _symbol->setClassHierarchy(attrib.toString()); + } + attrib = attributes().value(QStringLiteral("classcodeid")); + if ( ! attrib.isEmpty() ) { + _symbol->setClassCodeId(attrib.toString()); + } + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } else { + readUnknownElement(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readApp6Class() + + +void SymbolReader::readBranch() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("branch")) ); + + QStringView attrib = attributes().value(QStringLiteral("class")); + // undefined|tank|infantry|reconnaissance|sof_unit|artillery|army_air_defense + // |engineer_troops|nbc_defense|army_aviation|signal|supply|psyops|medical + // |civil_military_coop + + if ( ! attrib.isEmpty() ) + { + bool bOK = false; + _symbol->addBranch(SymbolTypes::instance()->getBranch()->convert_str2enum(attrib, &bOK)); + + if( ! bOK ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute branch: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + } + } + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } else { + readUnknownElement(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // readBranch() + + +void SymbolReader::readMisc() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("misc")) ); + + QStringView attrib = attributes().value(QStringLiteral("class")); + + if ( ! attrib.isEmpty() ) + { +#ifdef APP6C + // downwards compat. : + Primitive *p = newMiscPrimitiveICON(attrib); + if(p) { + _symbol->addPrimitive(p); + } + // : downwards compat. +#else + // undefined|lightA|mediumA|heavyA|lightB|mediumB|heavyB|lightC|mediumC|heavyC|ArmLight|ArmMedium|ArmHeavy + bool bOk = false; + _symbol->addMisc(SymbolTypes::instance()->getMisc()->convert_str2enum(attrib, &bOk)); + + if( ! bOk ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute misc: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + } +#endif + } + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } else { + readUnknownElement(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // readMisc() + + +Primitive *SymbolReader::newMiscPrimitiveICON(const QStringView &attrib) +{ + Primitive *retPrim = nullptr; + bool bOK = false; + + SymbolTypes::t_misc misc = SymbolTypes::instance()->getMisc()->convert_str2enum(attrib, &bOK); + if(!bOK) { + ERROR_LOG(logger) << LOGFUNCTION + << " APP6: Unknown value for attribute misc: " + << "'" << attrib.toString() << "' " + << getDebugInfo() ; + } else { + if(misc != SymbolTypes::MISC_UNDEFINED) { + retPrim = newPrimitiveICON(SymbolTypes::ICON_TYPE_MISC, + SymbolTypes::SECTORMAIN, SymbolTypes::SECTOR_RECTPOS_DEFAULT, + (int)misc); + } + } + return retPrim; +} + + +void SymbolReader::readText(unsigned int lines) { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && + ((name() == QStringLiteral("text1")) || + (name() == QStringLiteral("text2")) || + (name() == QStringLiteral("text3"))) ); + + _symbol->setMaxStringLength(getAttribInt("maxdatalength")); + + unsigned int lineCount = 0; + Symbol::t_alignment align[3]; + Symbol::t_alignment alignTmp = Symbol::ALIGNMENT_UNDEFINED; + align[0] = Symbol::ALIGNMENT_UNDEFINED; + align[1] = Symbol::ALIGNMENT_UNDEFINED; + align[2] = Symbol::ALIGNMENT_UNDEFINED; + QStringList data; + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("data")) { + data.append(readData(&alignTmp)); + align[lineCount] = alignTmp; + ++lineCount; + } else { + readUnknownElement(); + } + } + } + + if ( lineCount != lines ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of lines. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of lines")); + } else { + const QString nil; + _symbol->setText((data.size()>0)?data[0]:nil, align[0], + (data.size()>1)?data[1]:nil, align[1], + (data.size()>2)?data[2]:nil, align[2]); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // readText(unsigned int lines) + + +void SymbolReader::readGraphic() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("graphic")) ); + + _symbol->setScale(getAttribDouble("scale")); + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + // ellipse|line|polygon|rect + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("ellipse")) { + readGEllipse(); + } else if (name() == QStringLiteral("line")) { + readGLine(); + } else if (name() == QStringLiteral("polygon")) { + readGPolygon(); + } else if (name() == QStringLiteral("rect")) { + readGRect(); + } else if (name() == QStringLiteral("icon")) { + readGIcon(); + } else if (name() == QStringLiteral("text")) { + readGText(); + } else { + readUnknownElement(); + } + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // readGraphic() + + +QString SymbolReader::readData(Symbol::t_alignment* align) { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("data")) ); + + QStringView attrib = attributes().value(QStringLiteral("align")); + // left|center|right + if ( attrib == QStringLiteral("left") ) { + *align = Symbol::LEFT; + } else if ( attrib == QStringLiteral("center") ) { + *align = Symbol::CENTER; + } else if ( attrib == QStringLiteral("right") ) { + *align = Symbol::RIGHT; + } else { + *align = Symbol::ALIGNMENT_UNDEFINED; + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute align. " + << getDebugInfo() ; + raiseError(QObject::tr("Unknown value for attribute align")); + } + + QString textData = readElementText(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return textData; +} // QString SymbolReader::readData(Symbol::t_alignment* align) + + +void SymbolReader::readGEllipse() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("ellipse")) ); + + Primitive* p = new Primitive(Primitive::ELLIPSE); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + p->setLineWidth(getAttribDouble("linewidth")); + p->setLineStyle(getAttribLineStyle()); + p->setFill(getAttribBool("fill")); + p->setClosed(getAttribBool("closed")); + p->setStartAngle(getAttribDouble("start")); + p->setExtent(getAttribDouble("extent")); + p->setColor(getAttribColor()); + + unsigned int count = 0; + QPolygonF pointList; + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count != 2 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of points for ellipse. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of points for ellipse")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGEllipse() + + +void SymbolReader::readGLine() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("line")) ); + + Primitive* p = new Primitive(Primitive::LINE); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + p->setLineWidth(getAttribDouble("linewidth")); + p->setLineStyle(getAttribLineStyle()); + p->setColor(getAttribColor()); + + unsigned int count = 0; + QPolygonF pointList; + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QLatin1String("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count != 2 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of points for line. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of points for line")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGLine() + + +void SymbolReader::readGPolygon() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("polygon")) ); + + Primitive* p = new Primitive(Primitive::POLYGON); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + p->setLineWidth(getAttribDouble("linewidth")); + p->setLineStyle(getAttribLineStyle()); + p->setFill(getAttribBool("fill")); + p->setClosed(getAttribBool("closed")); + p->setColor(getAttribColor()); + + unsigned int count = 0; + QPolygonF pointList; + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count < 3 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Too few points for polygon. " + << getDebugInfo() ; + raiseError(QObject::tr("Too few points for polygon")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGPolygon() + + +void SymbolReader::readGRect() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("rect")) ); + + Primitive* p = new Primitive(Primitive::RECT); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + p->setLineWidth(getAttribDouble("linewidth")); + p->setLineStyle(getAttribLineStyle()); + p->setFill(getAttribBool("fill")); + p->setColor(getAttribColor()); + + unsigned int count = 0; + QPolygonF pointList; + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count != 2 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of points for rect. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of points for rect")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGRect() + + +void SymbolReader::readGText() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("text")) ); + + Primitive* p = new Primitive(Primitive::TEXT); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + // join two strings: + + QString s1 = getAttribString("sval1"); + QString s2 = getAttribString("sval2"); + + p->setText( (s2.size() > 0) ? s1 + QStringLiteral("\n") + s2 : s1 ); + + // + unsigned int count = 0; + QPolygonF pointList; + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count != 2 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of points for text. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of points for text")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGRect() + + +void SymbolReader::readGIcon() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("icon")) ); + + // + QString attrib = getAttribString("icon_type"); + SymbolTypes::t_icon_type icon_type = SymbolTypes::ICON_TYPE_UNDEFINED; + + if ( attrib.isEmpty() ) + { + ERROR_LOG(logger) << LOGFUNCTION + << " No attrib for icon_type " + << getDebugInfo() ; + } else { + icon_type = SymbolTypes::instance()->getIconType()->convert_str2enum(attrib); + } + Primitive* p = newPrimitiveICON(icon_type, getAttribPosition(), getAttribRectpos(), getAttribInt("id")); + p->setScalemode(getAttribScalemode()); + p->setTransform(getAttribBool("transform", true, true)); + p->setRotation(getAttribDouble("rotate")); + p->setLineWidth(getAttribDouble("linewidth")); + + unsigned int count = 0; + QPolygonF pointList; + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } + if (tt == QXmlStreamReader::StartElement) { + if (name() == QStringLiteral("point")) { + pointList.append(readGPoint()); + ++count; + } else { + readUnknownElement(); + } + } + } + // points: + if(count == 0) { + QRectF defaultR = SymbolTypes::getDefaultRect(p->position(), p->rectpos()); + pointList.append(defaultR.topLeft()); + ++count; + pointList.append(defaultR.bottomRight()); + ++count; + } + p->setPoints(pointList); + _symbol->addPrimitive(p); + + if ( count != 2 ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Wrong number of points for icon. " + << getDebugInfo() ; + raiseError(QObject::tr("Wrong number of points for icon")); + } + // + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolReader::readGRect() + + +QPointF SymbolReader::readGPoint() { + DEBUG_LOG(logger) << LOGFUNCTION ; + Q_ASSERT(isStartElement() && (name() == QStringLiteral("point")) ); + + double x = getAttribDouble("x"); + double y = getAttribDouble("y"); + + while (!atEnd()) { + TokenType tt = readNext(); + if (tt == QXmlStreamReader::EndElement) { + break; + } else { + readUnknownElement(); + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return QPointF(x, y); +} // Point SymbolReader::readGPoint() + + +bool SymbolReader::getAttribBool(const char *name, bool def, bool implied) { + DEBUG_LOG(logger) << LOGFUNCTION ; + QString value = attributes().value(QLatin1String(name)).toString().toLower(); + bool result = def; + if ( (value == QStringLiteral("true")) || (value == QStringLiteral("1")) ) { + result = true; + } else if ( (value == QStringLiteral("false")) || (value == QStringLiteral("0")) ) { + result = false; + } else if ( !implied ) { + ERROR_LOG(logger) << LOGFUNCTION + << " Can not parse bool attribute '" << name << "': " + << getDebugInfo() ; + raiseError(QObject::tr("Can not parse bool-attribute")); + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // bool SymbolReader::getAttribBool(const QString& name, bool def, bool implied) + + +double SymbolReader::getAttribDouble(const char *name, double def, bool implied) { + DEBUG_LOG(logger) << LOGFUNCTION ; + bool ok; + double value = attributes().value(QLatin1String(name)).toString().toDouble(&ok); + if ( ok ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return value; + } else if ( implied ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return def; + } else { + ERROR_LOG(logger) << LOGFUNCTION + << " Can not parse double attribute '" << name << "': " + << getDebugInfo() ; + raiseError(QObject::tr("Can not parse double-attribute")); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return value; + } +} // double SymbolReader::getAttribDouble(const QString& name, double def, bool implied) + + +int SymbolReader::getAttribInt(const char *name, int def, bool implied) { + DEBUG_LOG(logger) << LOGFUNCTION ; + bool ok; + int value = attributes().value(QLatin1String(name)).toString().toInt(&ok,0); + // Need this conversion for values with bit 31 set + // unsigned long longValue = attributes().value(name).toString().toULong(&ok, 0); + // int value = (int)(longValue & 0x7FFFFFFF); + if ( ok ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return value; + } else if ( implied ) { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return def; + } else { + ERROR_LOG(logger) << LOGFUNCTION + << " Can not parse int attribute '" << name << "': " + << getDebugInfo() ; + raiseError(QObject::tr("Can not parse int-attribute")); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return value; + } +} // int SymbolReader::getAttribInt(const QString& name, int def, bool implied) + +Primitive::t_linestyle SymbolReader::getAttribLineStyle() +{ + QStringView attrib = attributes().value(QStringLiteral("linestyle")); + // solid, dashed, dotted, dashed_dotted + if (attrib == QStringLiteral("solid")) + return Primitive::SOLID; + if (attrib == QStringLiteral("dashed")) + return Primitive::DASHED; + if (attrib == QStringLiteral("dotted")) + return Primitive::DOTTED; + if (attrib == QStringLiteral("dashed_dotted")) + return Primitive::DASHED_DOTTED; + + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute linestyle. " + << getDebugInfo() ; + raiseError(QObject::tr("Unknown value for attribute linestyle")); + return Primitive::SOLID; +} // Primitive::t_linestyle SymbolReader::getAttribLineStyle() + + +SymbolTypes::t_sector_position SymbolReader::getAttribPosition(SymbolTypes::t_sector_position def) +{ + QStringView attrib = attributes().value(QStringLiteral("position")); + + if (attrib.isEmpty()) + { + ERROR_LOG(logger) << LOGFUNCTION + << " No attrib for position " + << getDebugInfo(); + return SymbolTypes::SECTOR_POSITION_UNDEFINED; + } + + bool bOK = false; + SymbolTypes::t_sector_position value = + SymbolTypes::instance()->getSectorPosition()->convert_str2enum(attrib, &bOK); + if (!bOK) + { + value = def; + + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute position. " + << getDebugInfo() ; + raiseError(QObject::tr("Unknown value for attribute position")); + } + + return value; +} + +SymbolTypes::t_sector_rectpos SymbolReader::getAttribRectpos(SymbolTypes::t_sector_rectpos def) +{ + QStringView attrib = attributes().value(QStringLiteral("rectpos")); + + if (attrib.isEmpty()) + return def; + + bool bOK = false; + SymbolTypes::t_sector_rectpos value = + SymbolTypes::instance()->getSectorRectpos()->convert_str2enum(attrib, &bOK); + if (!bOK) + { + value = def; + ERROR_LOG(logger) << LOGFUNCTION + << " Unknown value for attribute rectpos " + << getDebugInfo() ; + raiseError(QObject::tr("Unknown value for attribute rectpos")); + } + + return value; +} + +Primitive::t_scalemode SymbolReader::getAttribScalemode(Primitive::t_scalemode def) +{ + QStringView attrib = attributes().value(QStringLiteral("scalemode")); + + return attrib.isEmpty() ? def : Primitive::scalemode(attrib.toString()); +} + +QString SymbolReader::getAttribString(const char *name) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + QStringView attrib = attributes().value(QLatin1String(name)); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return attrib.toString(); +} // getAttribString + + +QColor SymbolReader::getAttribColor(const QColor &def) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + QColor result = def; + QStringView _attrib = attributes().value(QStringLiteral("color")); + if ( _attrib.length() == 9 ) { + result.setNamedColor(_attrib.left(7).toString()); + // Get Alpha-Channel + bool ok; + int value = _attrib.right(2).toInt(&ok,16); + if ( ok ) { + result.setAlpha(value); + } + } + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return result; +} // QColor SymbolReader::getAttribColor(QColor def) + + +QString SymbolReader::getDebugInfo() const +{ + QString ret = QStringLiteral("[filename='") + _filename + QStringLiteral("'"); + if (_symbol) + ret += QStringLiteral(", id=") + QString::number(_symbol->id()); + ret += QStringLiteral("]"); + return ret; +} // QString SymbolReader::getDebugInfo() const + + +// newPrimitiveICON --> SymbolExporter::newPrimitiveICON !! libsymbol_gui ? +Primitive *SymbolReader::newPrimitiveICON(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position pos, SymbolTypes::t_sector_rectpos rectpos, + int id) +{ + Primitive *p = new Primitive(Primitive::ICON); + p->setIcon(id); + p->setIconType(iconType); + QRectF rect = SymbolTypes::getDefaultRect(pos, rectpos); + QPolygonF poly; + poly.append(rect.topLeft()); + poly.append(rect.bottomRight()); + p->setPoints(poly); + p->setPosition(pos); + p->setRectpos(rectpos); + p->setLineWidth(-1); // will be set in drawICON + + return p; +} + +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.h new file mode 100755 index 000000000..595fca3e5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_reader.h @@ -0,0 +1,226 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include "symbology_xml_export.h" + +#include "symbol.h" +#include "primitive.h" + +#include +#include +#include + +#include + +class QBuffer; +class QFile; + + +namespace SymbologyXML +{ +/** + \brief Read a Symbol from a XML-File or XML-String. + + Symbols are stored as XML-Files on HD or in a database. This class reads a + XML-Description of a Symbol and writes the data into a given Symbol. To export + a Symbol to XML, use SymbolWriter. + + @author Stephan Kuhagen +*/ +class SYMBOLOGY_XML_EXPORT SymbolReader : public QXmlStreamReader { +public: + SymbolReader(); + ~SymbolReader(); + + /** + Read a symbol from a file + \param xml: The file containing the XML-description of the symbol + \param target: The symbol, where the data should go + \return true on success, false otherwise + */ + bool read(QFile *xml, Symbol &target); + + /** + Read a symbol from a string + \param xml: The file containing the XML-description of the symbol + \param target: The symbol, where the data should go + \return true on success, false otherwise + */ + bool read(const QString &xml, Symbol &target); + + /** + Read a symbol from a string + \param xml: The file containing the XML-description of the symbol + \param target: The symbol, where the data should go + \return true on success, false otherwise + */ + bool read(const QByteArray &xml, Symbol &target); + +private: + //! NGLLogger + NGL::INGLLogger& logger; + + /** + Read a symbol from the current IODevice. The IODevice is set and created + the string of file of the public read()-methods + \return true on success, false otherwise + */ + bool read(); + + //! Read an unknown element until a close-tag is found + void readUnknownElement(); + + //! Read a symbol-element + void readSymbol(); + //! Read a name-element + void readName(); + //! Read a branch-element + void readBranch(); + //! Read the APP6-Classification + void readApp6Class(); + //! Read a misc-element + void readMisc(); + //! Read a text-element + void readText(unsigned int lines); + //! Read a graphic-element + void readGraphic(); + /** + Read a data-element + \param align: Pointer to a t_alignment-variable + \return The data as a string + */ + QString readData(Symbol::t_alignment* align); + + //! Read a ellipse-element + void readGEllipse(); + //! Read a line-element + void readGLine(); + //! Read a polygon-element + void readGPolygon(); + //! Read a rect-element + void readGRect(); + //! Read a icon-element + void readGIcon(); + //! Read a text-element + void readGText(); + //! Read a point-element + QPointF readGPoint(); + + /** + Parse a bool-attribute + \param name: The name of the Attribute + \param def: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + bool getAttribBool(const char *name, bool def = false, bool implied = false); + + /** + Parse a double-attribute + \param name: The name of the Attribute + \param def: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + double getAttribDouble(const char *name, double def = 0.0, bool implied = false); + + /** + Parse a int-attribute + \param name: The name of the Attribute + \param def: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + int getAttribInt(const char *name, int def = 0, bool implied = false); + + /** + Parse a linestyle-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + Primitive::t_linestyle getAttribLineStyle(); + + /** + Parse a Position-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + SymbolTypes::t_sector_position getAttribPosition(SymbolTypes::t_sector_position def = SymbolTypes::SECTOR_POSITION_UNDEFINED); + + /** + Parse a Rectpos-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + SymbolTypes::t_sector_rectpos getAttribRectpos(SymbolTypes::t_sector_rectpos def = SymbolTypes::SECTOR_RECTPOS_DEFAULT); + + /** + Parse a scalemode-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + Primitive::t_scalemode getAttribScalemode(Primitive::t_scalemode def = Primitive::Scalemode_Proport); + + /** + Parse a linestyle-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + \param implied: If true, then the Attribute is implied and if not present + in the XML-Data, then default is returned. + */ + QString getAttribString(const char *name); + + /** + Parse a color-attribute + \param default: The default-value, if implied==true and the Attribute is not + in the XML-Data. + */ + QColor getAttribColor(const QColor &def = QColor()); + + + /** + Concatinate filename and symbol id for debug-output. + \return filename and symbol for debug + */ + QString getDebugInfo() const; + + /** + Creates a primitive ICON + \return primitive + */ + Primitive *newPrimitiveICON(SymbolTypes::t_icon_type iconType, + SymbolTypes::t_sector_position pos, SymbolTypes::t_sector_rectpos rectpos, + int id); + Primitive *newMiscPrimitiveICON(const QStringView &attrib); + + //! Buffer containing the QString from read() with QString + QBuffer* _buffer; + //! Pointer to the symbol, where the data should go + Symbol* _symbol; + //! Save the symbols transformed-flag until parsing is complete + bool _transformed; + + //! Save the filename for debuuging + QString _filename; + +}; // class SymbolReader : public QXmlStreamReader + +}; // namespace SymologyXML + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.cpp new file mode 100755 index 000000000..88e67430d --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.cpp @@ -0,0 +1,219 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "symbol_table.h" +#include "symbol_reader.h" + +#include +#include +#include +#include + +namespace SymbologyXML +{ + + +SymbolTable::SymbolTable(const char *loggerName) + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger(loggerName)) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolTable::SymbolTable() + + +SymbolTable::~SymbolTable() +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + clear(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolTable::SymbolTable() + +bool SymbolTable::loadSymbolFromFile(const QString &filename, bool replace) +{ + QFile file(filename); + + SymbolReader sr; + Symbol* s = new Symbol(); + if ( !sr.read(&file, *s) ) { + ERROR_LOG(logger) << LOGFUNCTION << ": Failed to read xml-symbol '" + << filename << "'" ; + return false; + } + DEBUG_LOG(logger) << LOGFUNCTION + << ": id '" << s->id() << "'" + << " '0x" << std::hex << s->id() << "'" + << " cP="<< s->getPrimitives().size() + << " file '" << filename << "'"; + if (replace) + m_map.insert(s->id(), s); + else + m_map.insert(s->id(), s); + + return true; +} // bool SymbolTable::loadSymbolFromFile(const QString &filename, bool replace) + + +bool SymbolTable::setDirectory(const QString &directory, const QStringList &nameFilters) { + DEBUG_LOG(logger) << LOGFUNCTION + << " dir='" << directory << "'"; + + if (directory.isEmpty()) + return true; + + QDir dir(directory); + bool result = dir.exists(); + if ( !result ) { + ERROR_LOG(logger) << LOGFUNCTION << ": Failed to read dir '" + << dir.absolutePath().toLatin1().data() << "'" + ; + } else { + clear(); // alte Caches aufräumen + m_directory = directory + QLatin1Char('/'); + if ( nameFilters.isEmpty() ) { + // No filters, assume that all files should be read + QDirIterator dirIt(directory, QDir::Files|QDir::Readable|QDir::NoDotAndDotDot); + while(dirIt.hasNext()) { + bool bRet = loadSymbolFromFile(dirIt.next()); + if( !bRet ) { + result = false; + } + } + } else { + QDirIterator dirIt(directory, nameFilters, QDir::Files|QDir::Readable|QDir::NoDotAndDotDot); + while(dirIt.hasNext()) { + bool bRet = loadSymbolFromFile(dirIt.next()); + if( !bRet ) { + result = false; + } + } + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION + << " dir='" << directory << "'" + << " count=" << this->size(); + return result; +} // bool SymbolTable::setDirectory(const QString &directory, const QStringList & nameFilters = QStringList()) + +bool SymbolTable::updateSymbol(int id, bool replace) { + DEBUG_LOG(logger) << LOGFUNCTION ; + + bool bRet = false; + // Der Dateiname muss "symbol_%04d.xml" sein! + QString filename(QString::asprintf("symbol_%04d.xml", id)); + bRet = loadSymbolFromFile( m_directory + filename, replace); + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return bRet; +} // bool SymbolTable::updateSymbol(int id, bool replace) + + +Symbol* SymbolTable::value(const int key, Symbol *defaultValue) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + const QList &allValues = m_map.values(key); + for (Symbol *symbol : allValues) + { + if (!symbol) + continue; + bool match = symbol->getAffil() == SymbolTypes::AFFIL_UNDEFINED; + match &= symbol->getDimen() == SymbolTypes::DIMEN_UNDEFINED; + match &= symbol->transformed() == false; + if (match) + { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return symbol; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return m_map.value(key, defaultValue); +} // Symbol SymbolTable::value(const int &key, const Symbol *defaultValue) const + + +QList SymbolTable::values(int key) const +{ + return m_map.values(key); +} // QList values(int key) const + + + +Symbol* SymbolTable::operator[](const int &key) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + auto range = m_map.equal_range(key); + for (auto it = range.first; it != range.second; ++it) { + Symbol *symbol = it.value(); + if (!symbol) + continue; + bool match = symbol->getAffil() == SymbolTypes::AFFIL_UNDEFINED; + match &= symbol->getDimen() == SymbolTypes::DIMEN_UNDEFINED; + match &= symbol->transformed() == false; + if (match) + { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return symbol; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + auto values = m_map.values(key); + return values.isEmpty() ? nullptr : values.first(); +} // Symbol* SymbolTable::operator[](const int &key) + + +const Symbol* SymbolTable::operator[](const int &key) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + auto range = m_map.equal_range(key); + for (auto it = range.first; it != range.second; ++it) { + const Symbol *symbol = it.value(); + if (!symbol) + continue; + bool match = symbol->getAffil() == SymbolTypes::AFFIL_UNDEFINED; + match &= symbol->getDimen() == SymbolTypes::DIMEN_UNDEFINED; + match &= symbol->transformed() == false; + if (match) + { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return symbol; + } + } + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + auto values = m_map.values(key); + return values.isEmpty() ? nullptr : values.first(); +} // const Symbol* SymbolTable::operator[](const int &key) const + + +void SymbolTable::rotateAllSymbolPrimitives() +{ + DEBUG_LOG(logger) << LOGFUNCTION + << " m_map.count = " <rotatePrimitives(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // void SymbolTable::rotateAllSymbolPrimitives() + + +bool SymbolTable::contains(int key) const +{ + return m_map.contains(key); +} // void SymbolTable::contains(int key) + +int SymbolTable::size() const +{ + return m_map.size(); +} // void SymbolTable::size() + +void SymbolTable::clear() +{ + qDeleteAll(m_map); + m_map.clear(); +} // void SymbolTable::clear() + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.h new file mode 100755 index 000000000..95ffa6b09 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_table.h @@ -0,0 +1,391 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + + +#include +#include +#include +#include + +#include + +#include "symbology_xml_export.h" +#include "symbol.h" +#include "symbol_types.h" + + +namespace SymbologyXML +{ + + +/* +Frame: Dimension-1 << 16 + Affiliation-1 << 8 + +BCDAB: 1 << 24 +Mobility: 2 << 24 +Branch: 3 << 24 +CommandLevel: 4 << 24 +Vehicle: 5 << 24 +IntrinsicMobility: 6 << 24 +Arming: 7 << 24 +Misc: 8 << 24 +Sector1: 9 << 24 +Sector2: 10 << 24 +*/ + +/** + @author Stephan Kuhagen +*/ +class SYMBOLOGY_XML_EXPORT SymbolTable +{ +public: + SymbolTable(const SymbolTable &) = delete; + SymbolTable &operator=(const SymbolTable &) = delete; + explicit SymbolTable(const char *loggerName = "AdvSymbologyXML.SymbolTable"); + ~SymbolTable(); + + /** + Set the current directory where the symbols should read from. The former + symbols in the cache will be destroyed and the QMap is initialized from + the directory given. + \param directory directory to read symbols from + \param nameFilter: A list of name filters as used in shell-environments. + Examples: '*.xml', 'file_??.xml', where '??' mean two + chars of any kind. + \return true on success, false otherwise (e.g. directory does not exist) + */ + bool setDirectory(const QString &directory, const QStringList & nameFilters = QStringList()); + + /** + Update the Symbol with ID. If there is currently no symbol with ID, it is + created by this method. + \param id: Update this Symbol from the same source as given in initFrom* + \return true on success, false on error + */ + bool updateSymbol(int id, bool replace = false); + + /** + Overload from QMap<> + If there are multiple items for key in the map, the map is searched for the + value as follows: Either return the first Symbol, which has _affil and _dimen + set to undefined and transformed() == false, or if this does not exist, the + first available, which matches key + */ + Symbol* value(const int key, Symbol *defaultValue = nullptr) const; + + + QList values(int key) const; + + /** + * Overload from QMap<> + If there are multiple items for key in the map, the map is searched for the + value as follows: Either return the first Symbol, which has _affil and _dimen + set to undefined and transformed() == false, or if this does not exist, the + first available, which matches key + */ + Symbol* operator[](const int &key); + + /** + Overload from QMap<> + If there are multiple items for key in the map, the map is searched for the + value as follows: Either return the first Symbol, which has _affil and _dimen + set to undefined and transformed() == false, or if this does not exist, the + first available, which matches key + */ + const Symbol* operator[](const int &key) const; + + /** + Create a Frame-Symbol-ID for a given Symbol. The Function returns a + Symbol-ID by combining the attributes Affiliation, Dimension and the + fill-flag. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getFrameSymbolID(const Symbol& symbol) { + // + SymbolTypes::t_affil affil = symbol.getAffil(); + if(affil == SymbolTypes::PENDING) { + affil = SymbolTypes::UNKNOWN; + } + if(affil == SymbolTypes::SUSPECT) { + affil = SymbolTypes::ENEMY; + } + if(affil == SymbolTypes::ASSUMED_FRIEND) { + affil = SymbolTypes::FRIEND; + } + return getFrameSymbolID(symbol.getDimen(), affil); + } + + /** + Create a Frame-Symbol-ID. The Function returns a Symbol-ID by combining + the attributes Affiliation, Dimension and the fill-flag. + \param dimen: The Symbols Dimension (enum t_dimen in symbol.h) + \param affil: The Symbols Affiliation (enum t_affil in symbol.h) + \return The ID created by combining the attributes + */ + static int getFrameSymbolID(SymbolTypes::t_dimen dimen, SymbolTypes::t_affil affil) { + return ( (dimen-1) <<16 ) + + ( (affil-1) << 8 ); // + int(outline); + } + + /** + Create a Mobility-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getMobilitySymbolID(const Symbol& symbol) { + return ( 2<<24 ) + symbol.getMob(); + } + + /** + Create a Mobility-Symbol-ID for a given Symbol. + \param mob: The Symbols Mobility (enum t_mob in symbol.h) + \return The ID created by combining the attributes + */ + static int getMobilitySymbolID(SymbolTypes::t_mob mob) { + return ( 2<<24 ) + mob; + } + + + /** + Create a BCDAB-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getBCDABSymbolID(const Symbol& symbol) { + return ( 1<<24 ) + symbol.getBcdab(); + } + + /** + Create a BCDAB-Symbol-ID for a given Symbol. + \param v: The Symbols BCDAB-Value (enum t_bcdab in symbol.h) + \return The ID created by combining the attributes + */ + static int getBCDABSymbolID(SymbolTypes::t_bcdab v) { + return ( 1<<24 ) + v; + } + + + /** + Create a CommandLevel-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getCommandLevelSymbolID(const Symbol& symbol) { + return ( 4<<24 ) + symbol.getCommandLevel(); + } + + /** + Create a CommandLevel-Symbol-ID for a given Symbol. + \param v: The Symbols CommandLevel-Value (enum t_commandLevel in symbol.h) + \return The ID created by combining the attributes + */ + static int getCommandLevelSymbolID(SymbolTypes::t_commandlevel v) { + return ( 4<<24 ) + v; + } + + + /** + Create a Branch-Symbol-ID for a given Symbol. (Truppengattung) + \param v: The Symbols Truppengattung-Value (enum t_branch in symbol.h) + \return The ID created by combining the attributes + */ + static int getBranchSymbolID(SymbolTypes::t_branch v) { + return ( 3<<24 ) + v; + } + + + /** + Create a Vehicle-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getVehicleSymbolID(const Symbol& symbol) { + return ( 5<<24 ) + symbol.getVehicle(); + } + + /** + Create a Vehicle-Symbol-ID for a given Symbol. + \param v: The Symbols Vehicle-Value (enum t_Vehicle in symbol.h) + \return The ID created by combining the attributes + */ + static int getVehicleSymbolID(SymbolTypes::t_vehicle v) { + return ( 5<<24 ) + v; + } + + + /** + Create a IntrinsicMobility-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getIntrinsicMobilitySymbolID(const Symbol& symbol) { + return ( 6<<24 ) + symbol.getIntrinsicMob(); + } + + /** + Create a IntrinsicMobility-Symbol-ID for a given Symbol. + \param v: The Symbols IntrinsicMobility-Value (enum t_intrinsicmob in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getIntrinsicMobilitySymbolID(SymbolTypes::t_intrinsicmob v) { + return ( 6<<24 ) + v; + } + + /** + Create a Arming-Symbol-ID for a given Symbol. + \param symbol: The Symbol + \return The ID created by combining the attributes + */ + static int getArmingSymbolID(const Symbol& symbol) { + return ( 7<<24 ) + symbol.getArming(); + } + + /** + Create a Arming-Symbol-ID for a given Symbol. + \param v: The Symbols arming-Value (enum t_arming in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getArmingSymbolID(SymbolTypes::t_arming v) { + return ( 7<<24 ) + v; + } + + /** + Create a Misc-Symbol-ID for a given Symbol + \param v: The Symbols Misc-Value (enum t_misc in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getMiscSymbolID(SymbolTypes::t_misc v) { + return ( 8<<24 ) + v; + } + + /** + Create a Sector1-Symbol-ID for a given Symbol + \param v: The Symbols Sector1-Value (enum t_sector1 in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getSector1SymbolID(const Symbol& symbol) { + return ( 9<<24 ) + symbol.getSector1(); + } + /** + Create a Sector1-Symbol-ID for a given Symbol + \param v: The Symbols Sector1-Value (enum t_sector1 in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getSector1SymbolID(SymbolTypes::t_sector1 v) { + return ( 9<<24 ) + v; + } + + /** + Create a SectorIcon-Symbol-ID for a given Symbol + \param v: The Symbols SectorIcon-Value (enum t_sectoricon in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getSectorIconSymbolID(const Symbol& symbol) { + return ( 10<<24 ) + symbol.getSectorIcon(); + } + /** + Create a SectorIcon-Symbol-ID for a given Symbol + \param v: The Symbols SectorIcon-Value (enum t_sectoricon in symbol_types.h) + \return The ID created by combining the attributes + */ + static int getSectorIconSymbolID(SymbolTypes::t_sectoricon v) { + return ( 10<<24 ) + v; + } + + /** + Create an AddOn SymbolId_Cont_T for the given Symbols + \param vbg: The vbg_struct + \return The SymbolId_Cont_T created by combining the attributes + */ + typedef int SymbolId_T; + typedef QSet SymbolId_Cont_T; + + static SymbolTable::SymbolId_Cont_T getVbgSymbolIDs(const SymbolTypes::vbg_struct &vbg) + { + SymbolId_Cont_T ret; + const SymbolTypes::vbg_et &v = vbg.vbg; + constexpr int idBase = 0x1000; + switch (v) + { + case SymbolTypes::LEICHTER_TREFFER: + case SymbolTypes::MITTLERER_TREFFER: + case SymbolTypes::SCHWERER_TREFFER: + ret.insert(idBase); // SymbolId fuer die XML-Files + break; + case SymbolTypes::BEWEGUNGSUNFAEHIG: + case SymbolTypes::BEWEGUNGSUNFAEHIG_SICHTB: + ret.insert(idBase + 1); + break; + case SymbolTypes::AUSFALL_WAFFENANLAGE: + case SymbolTypes::AUSFALL_WAFFENANLAGE_SICHTB: + ret.insert(idBase + 2); + break; + case SymbolTypes::TOTALAUSFALL: + ret.insert(idBase + 1); + ret.insert(idBase + 2); + break; + default: + // die restlichen Alternativen fuehren zu keiner ID + break; + } + return ret; + } + + static SymbolTable::SymbolId_Cont_T getModifierSymbolIDs(const SymbolTypes::modifier_struct &modifier) + { + SymbolId_Cont_T ret; + constexpr int idBase = 0x1010; + + if (modifier.hasManipulation()) + ret.insert(idBase + 1); + if (modifier.hasNoPosition()) + ret.insert(idBase + 2); + if (modifier.hasByteError()) + ret.insert(idBase + 4); + + if (modifier.hasNbcProtection()) + ret.insert(0x1003); // no dependency to idBase + + return ret; + } + + + /** + Rotate all Primitives of all Symbols. + */ + void rotateAllSymbolPrimitives(); + + bool contains(int key) const; + + int size() const; + + void clear(); + +protected: + //! NGLLogger + NGL::INGLLogger& logger; + + /** + Load a Symbol from a xml-file + \param filename: The xml-file to load + \param replace: if true, replaces old value(s), otherwise uses insertMulti + \return true on success, false if the Symbol could not be loaded + */ + bool loadSymbolFromFile(const QString &filename, bool replace = false); + + QMultiMap m_map; + + //! database table to read symbols from + QString m_databaseTable; + //! directory to read symbols from + QString m_directory; +}; // class SymbolTable + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.cpp new file mode 100755 index 000000000..9cf5d0531 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.cpp @@ -0,0 +1,1067 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + + +#include "symbol_types.h" +#include "attribute_data.h" + +#include + +namespace SymbologyXML +{ + +const double SymbolTypes::SCALE_UNDEFINED = 0.0; + +SymbolTypes *SymbolTypes::s_instance = nullptr; + + +class SymbolTypes::Private +{ +public: + AttributeData dimenData; + AttributeData affilData; + AttributeData bcdabData; + AttributeData commandlevelData; + AttributeData mobData; + + AttributeData iconTypeData; + AttributeData sectorPosition; + AttributeData sectorRectpos; + AttributeDataSectorIcon sectorIconData; + + AttributeData branchData; + AttributeData intrinsicMobData; + AttributeData vehicleData; + AttributeData armingData; + AttributeData miscData; +}; + +QByteArray SymbolTypes::AdditionalSymbolData::createKey() const +{ + char keyBuf[1024]; + snprintf(keyBuf, sizeof(keyBuf), + "%d-%d-%d-%f-%d-%d-%d-%d-%d-%d-%d", + this->m_state, + this->m_uncertainty, + this->m_filltype, + this->m_scale, + this->m_vbg.vbg, + this->m_vbg.color.rgba(), + this->m_modifier.hasNoPosition(), + this->m_modifier.hasManipulation(), + this->m_modifier.hasByteError(), + this->m_modifier.hasNbcProtection(), + this->m_rotationAngle); + + keyBuf[sizeof(keyBuf) - 1] = '\0'; + + return QByteArray(keyBuf); +} + +void SymbolTypes::init() +{ + ///////////////////////////////////////////////// + // BATTLE-DIMENSION-Modifier + ///////////////////////////////////////////////// + d->dimenData.clear(); + + d->dimenData.insert(DIMEN_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->dimenData.insert(AIR_SPACE, QStringLiteral("air_space"), tr("Luft-/Weltraum")); + d->dimenData.insert(LAND_UNITS, QStringLiteral("land_units"), tr("Land (Einheiten)")); + d->dimenData.insert(LAND_EQUIPMENT, QStringLiteral("land_equipment"), tr("Land (Fahrzeug/Geraet)")); + d->dimenData.insert(OVER_WATER, QStringLiteral("over_water"), tr("Ueberwasser")); + d->dimenData.insert(UNDER_WATER, QStringLiteral("under_water"), tr("Unterwasser")); + d->dimenData.insert(ACTIVITY, QStringLiteral("activity"), tr("Zivile Unterstuetzung")); + + ///////////////////////////////////////////////// + // AFFIL - Modifier + ///////////////////////////////////////////////// + d->affilData.clear(); + + d->affilData.insert(AFFIL_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); +#ifdef APP6C + d->affilData.insert(UNKNOWN, QStringLiteral("unknown"), tr("Unbekannt")); + d->affilData.insert(PENDING, QStringLiteral("pending"), tr("Pending")); + d->affilData.insert(FRIEND, QStringLiteral("friend"), tr("Freund")); + d->affilData.insert(ASSUMED_FRIEND, QStringLiteral("assumed_friend"), tr("Assumed_Friend")); + d->affilData.insert(NEUTRAL, QStringLiteral("neutral"), tr("Neutral")); + d->affilData.insert(ENEMY, QStringLiteral("enemy"), tr("Feind")); + d->affilData.insert(SUSPECT, QStringLiteral("suspect"), tr("Suspect")); +#else + d->affilData.insert(UNKNOWN, QStringLiteral("unknown"), tr("Unbekannt")); + d->affilData.insert(FRIEND, QStringLiteral("friend"), tr("Freund")); + d->affilData.insert(NEUTRAL, QStringLiteral("neutral"), tr("Neutral")); + d->affilData.insert(ENEMY, QStringLiteral("enemy"), tr("Feind")); +#endif + + + ///////////////////////////////////////////////// + // BCDAB - Modifier + ///////////////////////////////////////////////// + d->bcdabData.clear(); + d->bcdabData.insert(BCDAB_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->bcdabData.insert(BCDAB_CREW, QStringLiteral("crew"), tr("Team")); + d->bcdabData.insert(BCDAB_SQUAD, QStringLiteral("squad"), tr("Squad")); + d->bcdabData.insert(BCDAB_SECTION, QStringLiteral("section"), tr("Group")); + d->bcdabData.insert(BCDAB_PLATOON, QStringLiteral("platoon"), tr("Platoon")); + d->bcdabData.insert(BCDAB_SQUADRON, QStringLiteral("squadron"), tr("Squadron")); + d->bcdabData.insert(BCDAB_COMPANY, QStringLiteral("company"), tr("Company")); + d->bcdabData.insert(BCDAB_BATTALION, QStringLiteral("battalion"), tr("Battalion")); + d->bcdabData.insert(BCDAB_REGIMENT, QStringLiteral("regiment"), tr("Regiment")); + d->bcdabData.insert(BCDAB_BRIGADE, QStringLiteral("brigabe"), tr("Brigade")); + d->bcdabData.insert(BCDAB_DIVISION, QStringLiteral("division"), tr("Division")); + d->bcdabData.insert(BCDAB_CORPS, QStringLiteral("corps"), tr("Corps")); + d->bcdabData.insert(BCDAB_ARMY, QStringLiteral("army"), tr("Army")); + d->bcdabData.insert(BCDAB_ARMY_GROUP, QStringLiteral("army_group"), tr("Army group")); + d->bcdabData.insert(BCDAB_REGION, QStringLiteral("region"), tr("High command")); + d->bcdabData.insert(BCDAB_INSTALLATION, QStringLiteral("installation"), tr("Institution")); + d->bcdabData.insert(BCDAB_TASK_FORCE, QStringLiteral("task_force"), tr("Task force")); + d->bcdabData.insert(BCDAB_DUMMY, QStringLiteral("dummy"), tr("Dummy")); + d->bcdabData.insert(BCDAB_COMMAND, QStringLiteral("command"), tr("Command")); + d->bcdabData.insert(BCDAB_TASK_FORCE_COMPANY, QStringLiteral("bcdab_task_force_company"), tr("bcdab_task_force_company")); + d->bcdabData.insert(BCDAB_TASK_FORCE_BATTALION, QStringLiteral("bcdab_task_force_battalion"), tr("bcdab_task_force_battalion")); + d->bcdabData.insert(BCDAB_TASK_FORCE_BRIGADE, QStringLiteral("bcdab_task_force_brigade"), tr("bcdab_task_force_brigade")); + + ///////////////////////////////////////////////// + // COMMANDLEVEL - Modifier + ///////////////////////////////////////////////// + d->commandlevelData.clear(); + d->commandlevelData.insert(CL_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->commandlevelData.insert(CL_SQUAD, QStringLiteral("cl_squad"), tr("Squad")); + d->commandlevelData.insert(CL_SECTION, QStringLiteral("cl_section"), tr("Group")); + d->commandlevelData.insert(CL_PLATOON, QStringLiteral("cl_platoon"), tr("Platoon")); + d->commandlevelData.insert(CL_SQUADRON, QStringLiteral("cl_squadron"), tr("Squadron")); + d->commandlevelData.insert(CL_COMPANY, QStringLiteral("cl_companie"), tr("Company")); + d->commandlevelData.insert(CL_BATTALION, QStringLiteral("cl_battailon"), tr("Battalion")); + d->commandlevelData.insert(CL_REGIMENT, QStringLiteral("cl_regiment"), tr("Regiment")); + d->commandlevelData.insert(CL_BRIGADE, QStringLiteral("cl_brigade"), tr("Brigade")); + d->commandlevelData.insert(CL_DIVISION, QStringLiteral("cl_division"), tr("Division")); + d->commandlevelData.insert(CL_CREW, QStringLiteral("cl_crew"), tr("cl_crew")); + + ///////////////////////////////////////////////// + // MOB - Modifier + ///////////////////////////////////////////////// + d->mobData.clear(); + d->mobData.insert(MOB_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->mobData.insert(MOB_AIRBORNE, QStringLiteral("mob_airborne"), tr("mob_airborne")); + d->mobData.insert(MOB_AMPHIBIOUS, QStringLiteral("mob_amphibious"), tr("mob_amphibious")); + d->mobData.insert(MOB_BARGE, QStringLiteral("mob_barge"), tr("mob_barge")); + d->mobData.insert(MOB_BICYCLE_EQUIPPED, QStringLiteral("mob_bicycle_equipped"), tr("mob_bicycle_equipped")); + d->mobData.insert(MOB_OVER_SNOW, QStringLiteral("mob_over_snow"), tr("mob_over_snow")); + d->mobData.insert(MOB_PACK_ANIMALS, QStringLiteral("mob_pack_animals"), tr("mob_pack_animals")); + d->mobData.insert(MOB_SEMI_TRAILER, QStringLiteral("mob_semi_trailer"), tr("mob_semi_trailer")); + d->mobData.insert(MOB_SLED, QStringLiteral("mob_sled"), tr("mob_sled")); + d->mobData.insert(MOB_TRACKED, QStringLiteral("mob_tracked"), tr("mob_tracked")); + d->mobData.insert(MOB_TRAILER, QStringLiteral("mob_trailer"), tr("mob_trailer")); + d->mobData.insert(MOB_TRAIN, QStringLiteral("mob_train"), tr("mob_train")); + d->mobData.insert(MOB_WHEEL, QStringLiteral("mob_wheel"), tr("mob_wheel")); + d->mobData.insert(MOB_WHEELED_AND_TRACKED, QStringLiteral("mob_wheeled_and_tracked"), tr("mob_wheeled_and_tracked")); + d->mobData.insert(MOB_WHEEL_ALL_TERRAIN, QStringLiteral("mob_wheel_all_terrain"), tr("mob_wheel_all_terrain")); + + ///////////////////////////////////////////////// + // iconType - enumeration for internal use + ///////////////////////////////////////////////// + d->iconTypeData.clear(); + + d->iconTypeData.insert(ICON_TYPE_UNDEFINED, QStringLiteral("icon_type_undefined"), QStringLiteral("icon_typeUnused")); + d->iconTypeData.insert(ICON_TYPE_SECTOR_ICON, QStringLiteral("icon_type_secicon"), QStringLiteral("icon_typeUnused")); + d->iconTypeData.insert(ICON_TYPE_INTRINSIC_MOBILITY, QStringLiteral("icon_type_intrinsicmob"), QStringLiteral("icon_typeUnused")); + d->iconTypeData.insert(ICON_TYPE_VEHICLE, QStringLiteral("icon_type_vehicle"), QStringLiteral("icon_typeUnused")); + d->iconTypeData.insert(ICON_TYPE_ARMING, QStringLiteral("icon_type_arming"), QStringLiteral("icon_typeUnused")); + d->iconTypeData.insert(ICON_TYPE_MISC, QStringLiteral( "icon_type_misc"), QStringLiteral("icon_typeUnused")); + + + ///////////////////////////////////////////////// + // SECTOR-POSITION + ///////////////////////////////////////////////// + d->sectorPosition.clear(); + + d->sectorPosition.insert(SECTOR1, QStringLiteral("sector1"), QStringLiteral("secPosUnused") ); + d->sectorPosition.insert(SECTOR2, QStringLiteral("sector2"), QStringLiteral("secPosUnused") ); + d->sectorPosition.insert(SECTORMAIN, QStringLiteral("sectorMain"), QStringLiteral("secPosUnused") ); + d->sectorPosition.insert(SECTORFF, QStringLiteral("sectorFF"), QStringLiteral("secPosUnused") ); + + ///////////////////////////////////////////////// + // SECTOR-RECTPOS + ///////////////////////////////////////////////// + d->sectorRectpos.clear(); + + d->sectorRectpos.insert(SECTOR_RECTPOS_DEFAULT, QStringLiteral("default"), QStringLiteral("secRectposUnused")); + d->sectorRectpos.insert(SECTOR_RECTPOS_LARGE, QStringLiteral("large"), QStringLiteral("secRectposUnused")); + + ///////////////////////////////////////////////// + // SECTOR-ICON - + ///////////////////////////////////////////////// + d->sectorIconData.clear(); + + + // COMMON + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_UNDEFINED, + QStringLiteral("secicon_undefined"), tr("Undefined"), + SECTOR1|SECTOR2|SECTORMAIN|SECTORFF ); + d->sectorIconData.insert(SECICON_UNDEFINED, + QStringLiteral("secicon_undefined"), tr("Undefined"), + SECTORMAIN, SELECT_WIDGET_CB ); + + + // MAIN + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_AIR_TRAFFIC_SERVICES, + QStringLiteral("secicon_air_traffic_services"), tr("secicon_air_traffic_services"), + SECTORMAIN, SELECT_WIDGET_CB); + // Nur als Platzhalter vorbereitet! +// d->sectorIconData.insert(SECICON_APOD_APOE, +// QStringLiteral("secicon_apod_apoe"), tr("secicon_apod_apoe"), +// SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_AMMUNITION, + QStringLiteral("secicon_ammunition"), tr("secicon_ammunition"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ARMORED_TANK, + QStringLiteral("secicon_armored_tank"), tr("secicon_armored_tank"), + SECTORMAIN, SELECT_WIDGET_LV); + d->sectorIconData.insert(SECICON_AVIATION, + QStringLiteral("secicon_aviation"), tr("secicon_aviation"), + SECTORMAIN, SELECT_WIDGET_LV); + d->sectorIconData.insert(SECICON_AVIATION_FIXED_WING, + QStringLiteral("secicon_aviation_fixed_wing"), tr("secicon_aviation_fixed_wing"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_AVIATION_FIXED_ROTARY_WING, + QStringLiteral("secicon_aviation_fixed_rotary_wing"), tr("secicon_aviation_fixed_rotary_wing"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_NBC_DEFENCE, + QStringLiteral("secicon_nbc_defense"), tr("secicon_nbc_defense"), + SECTORMAIN, SELECT_WIDGET_LV); + d->sectorIconData.insert(SECICON_NBC_DEFENCE, + QStringLiteral("secicon_nbc_defense"), tr("secicon_nbc_defense"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_CIV_MIL_COOPERATION, + QStringLiteral("secicon_civ_mil_cooperation"), tr("secicon_civ_mil_cooperation"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_COMBAT_SUPPORT, + QStringLiteral("secicon_combat_support"), tr("secicon_combat_support"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_COMBINED_ARMS, + QStringLiteral("secicon_combined_arms"), tr("secicon_combined_arms"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_DIVING, + QStringLiteral("secicon_diving"), tr("secicon_diving"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_DRILLING, + QStringLiteral("secicon_drilling"), tr("secicon_drilling"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ELECTRIC_RANGING, + QStringLiteral("secicon_electric_ranging"), tr("secicon_electric_ranging"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ENGINEER, + QStringLiteral("secicon_engineer"), tr("secicon_engineer"), + SECTORMAIN, SELECT_WIDGET_CB); + + // secicon_field_artillery ==> in secicon_artillery.xml realisiert + d->sectorIconData.insert(SECICON_FIELD_ARTILLERY, + QStringLiteral("secicon_field_artillery"), tr("secicon_field_artillery"), + SECTORMAIN, SELECT_WIDGET_LV); + d->sectorIconData.insert(SECICON_FIELD_ARTILLERY, + QStringLiteral("secicon_field_artillery"), tr("secicon_field_artillery"), + SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_FIELD_ARTILLERY_OBSERVER, + QStringLiteral("secicon_field_artillery_observer"), tr("secicon_field_artillery_observer"), + SECTORMAIN, SELECT_WIDGET_CB); +// Nur als Platzhalter vorbereitet! +// d->sectorIconData.insert(SECICON_FIELD_CAMP_CONSTRUCTION, +// QStringLiteral("secicon_field_camp_construction"), tr("secicon_field_camp_construction"), +// SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_FINANCE, + QStringLiteral("secicon_finance"), tr("secicon_finance"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_FIRE_PROT_FIGHTING, + QStringLiteral("secicon_fire_prot_fighting"), tr("secicon_fire_prot_fighting"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LABOUR, + QStringLiteral("secicon_labour"), tr("secicon_labour"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LAUNDRY_BATH, + QStringLiteral("secicon_laundry_bath"), tr("secicon_laundry_bath"), + SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_MAINTENANCE, + QStringLiteral("secicon_maintenance"), tr("secicon_maintenance"), + SECTORMAIN|SECTOR1|SECTOR2, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_MINE, + QStringLiteral("secicon_mine"), tr("secicon_mine"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + +// Nur als Platzhalter vorbereitet! +// d->sectorIconData.insert(SECICON_MINE_CLEARING, +// QStringLiteral("secicon_mine_clearing"), tr("secicon_mine_clearing"), +// SECTORMAIN, SELECT_WIDGET_CB); +// +// Nur als Platzhalter vorbereitet! +// d->sectorIconData.insert(SECICON_MINE_LAUNCHING, +// QStringLiteral("secicon_mine_launching"), tr("secicon_mine_launching"), +// SECTORMAIN, SELECT_WIDGET_CB); +// +// Nur als Platzhalter vorbereitet! +// d->sectorIconData.insert(SECICON_MINE_LAYING, +// QStringLiteral("secicon_mine_laying"), tr("secicon_mine_laying"), +// SECTORMAIN, SELECT_WIDGET_CB); + +// zusaetzlich realisiert in ARMING + d->sectorIconData.insert(SECICON_MISSILE, + QStringLiteral("secicon_missile"), tr("secicon_missile"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + +// zusaetzlich realisiert in ARMING + d->sectorIconData.insert(SECICON_MORTAR, + QStringLiteral("secicon_mortar"), tr("secicon_mortar"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_MORTUARY_AFFAIRS, + QStringLiteral("secicon_mortuary_affairs"), tr("secicon_mortuary_affairs"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_NAVAL, + QStringLiteral("secicon_naval"), tr("secicon_naval"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_OBSERVER, + QStringLiteral("secicon_observer"), tr("secicon_observer"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ORDNANCE, + QStringLiteral("secicon_ordnance"), tr("secicon_ordnance"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PETROLEUM_OIL, + QStringLiteral("secicon_petroleum_oil"), tr("secicon_petroleum_oil"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PIPELINE, + QStringLiteral("secicon_pipeline"), tr("secicon_pipeline"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_POSTAL, + QStringLiteral("secicon_postal"), tr("secicon_postal"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PSYCH_OPS, + QStringLiteral("secicon_psych_ops"), tr("secicon_psych_ops"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_QUARTERMASTER, + QStringLiteral("secicon_quartermaster"), tr("secicon_quartermaster"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_RADAR, + QStringLiteral("secicon_radar"), tr("secicon_radar"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_RADIO, + QStringLiteral("secicon_radio"), tr("secicon_radio"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_RADIO_RELAY, + QStringLiteral("secicon_radio_relay"), tr("secicon_radio_relay"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_RADIO_TELETYPE_CENTRE, + QStringLiteral("secicon_radio_teletype_centre"), tr("secicon_radio_teletype_centre"), + SECTORMAIN, SELECT_WIDGET_CB); + +// Nur als Platzhalter vorbereitet! $102A +// d->sectorIconData.insert(SECICON_RAILHEAD, +// QStringLiteral("secicon_railhead"), tr("secicon_railhead"), +// SECTORMAIN, SELECT_WIDGET_CB); + +// Nur als Platzhalter vorbereitet! $102B +// d->sectorIconData.insert(SECICON_SPOD_SPOE, +// QStringLiteral("secicon_spod_spoe"=, tr("secicon_spod_spoe"), +// SECTORMAIN, SELECT_WIDGET_CB); + +// Nur als Platzhalter vorbereitet! $102C +// d->sectorIconData.insert(SECICON_SECURITY_POLICE, +// QStringLiteral("secicon_security_police"), tr("secicon_security_police"), +// SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_SENSOR, + QStringLiteral("secicon_sensor"), tr("secicon_sensor"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SNIPER, + QStringLiteral("secicon_sniper"), tr("secicon_sniper"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SURVEILLANCE, + QStringLiteral("secicon_surveillance"), tr("secicon_surveillance"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SURVEY, + QStringLiteral("secicon_survey"), tr("secicon_survey"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_TACTICAL_SATELLITE, + QStringLiteral("secicon_tactical_satellite"), tr("secicon_tactical_satellite"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_TOPOGRAPHIC, + QStringLiteral("secicon_topographic"), tr("secicon_topographic"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_TRANSPORTATION, + QStringLiteral("secicon_transportation"), tr("secicon_transportation"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_UNMANNED_SYSTEMS, + QStringLiteral("secicon_unmanned_systems"), tr("secicon_unmanned_systems"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_VIDEO_IMAGERY, + QStringLiteral("secicon_video_imagery"), tr("secicon_video_imagery"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_WATER, + QStringLiteral("secicon_water"), tr("secicon_water"), + SECTORMAIN, SELECT_WIDGET_CB); +// Nur als Platzhalter vorbereitet! $1037 +// d->sectorIconData.insert(SECICON_WATER_PURIFIKATION, +// QStringLiteral("secicon_water_purifikation"), tr("secicon_water_purifikation"), +// SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_AVIATION_ROTARY_WING, + QStringLiteral("secicon_aviation_rotary_wing"), tr("secicon_aviation_rotary_wing"), + SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_PSYCH_OPS_RADIO_TV, + QStringLiteral("secicon_psych_ops_radio_tv"), tr("secicon_psych_ops_radio_tv"), + SECTORMAIN, SELECT_WIDGET_CB); + + + + + + // Weitere Land Units Main Icons die in Full Frame Icons benoetigt werden StartOffset 0x1050 + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_SUBSISTENCE, + QStringLiteral("secicon_subsistence"), tr("secicon_subsistence"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PERSONAL_DEMAND, + QStringLiteral("secicon_personal_demand"), tr("secicon_personal_demand"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MAJOR_END, + QStringLiteral( "secicon_major_end"), tr("secicon_major_end"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_REPAIR_PARTS, + QStringLiteral("secicon_repair_parts"), tr("secicon_repair_parts"), + SECTORMAIN, SELECT_WIDGET_CB); + + + // Weitere Land Units Main Icons die fuer Individual and Organization benoetigt werden StartOffset 0x1070 + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_CIVILIAN_POLICE, + QStringLiteral("secicon_civilian_police"), tr("secicon_civilian_police"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ENVIRONMENTAL_PROTECTION, + QStringLiteral("secicon_environmental_protection"), tr("secicon_environmental_protection"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_INDIVIDUAL, + QStringLiteral("secicon_individual"), tr("secicon_individual"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ORGANIZATION_OR_GROUP, + QStringLiteral("secicon_organization_or_group"), tr("secicon_organization_or_group"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_KILLING_VICTIM, + QStringLiteral("secicon_killing_victim"), tr("secicon_killing_victim"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_KILLING_VICTIMS, + QStringLiteral("secicon_killing_victims"), tr("secicon_killing_victims"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_VICTIM_OF_AN_ATTEMPTED_CRIME, + QStringLiteral("secicon_victim_of_an_attempted_crime"), tr("secicon_victim_of_an_attempted_crime"), + SECTORMAIN, SELECT_WIDGET_CB); + + + // Land Equipment Main Sector Icons 010FFF ----- 001FFE + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_MEDICAL_EVACUATION, + QStringLiteral("secicon_medical_evacuation"), tr("secicon_medical_evacuation"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_FOLDING_GIRDER_BRIDGE, + QStringLiteral("secicon_folding_girder_bridge"), tr("secicon_folding_girder_bridge"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_HOLLOW_DECK_BRIDGE, + QStringLiteral("secicon_hollow_deck_bridge"), tr("secicon_hollow_deck_bridge"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MINE_CLEARING_LE, + QStringLiteral("secicon_mine_clearing_le"), tr("secicon_mine_clearing_le"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); +// d->sectorIconData.insert(SECICON_MINE_LAYING_EQUIPMENT, +// QStringLiteral("secicon_mine_laying_equipment"), tr("secicon_mine_laying_equipment"), +// SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_COMPUTER_SYSTEM, + QStringLiteral("secicon_computer_system"), tr("secicon_computer_system"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LAND_MINE, + QStringLiteral("secicon_land_mine"), tr("secicon_land_mine"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ANTIPERSONNEL_LAND_MINE, + QStringLiteral("secicon_antipersonnel_land_mine"), tr("secicon_antipersonnel_land_mine"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ANTITANK_LAND_MINE, + QStringLiteral("secicon_antitank_land_mine"), tr("secicon_antitank_land_mine"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SENSOR_EMPLACED, + QStringLiteral("secicon_sensor_emplaced"), tr("secicon_sensor_emplaced"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_BOOBY_TRAP, + QStringLiteral("secicon_booby_trap"), tr("secicon_booby_trap"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ANTENNA, + QStringLiteral("secicon_antenna"), tr("secicon_antenna"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_AMBUSH, + QStringLiteral("secicon_ambush"), tr("secicon_ambush"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_ROADBLOCK, + QStringLiteral("secicon_roadblock"), tr("secicon_roadblock"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PATROLLING, + QStringLiteral("secicon_patrolling"), tr("secicon_patrolling"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SEARCHING, + QStringLiteral("secicon_searching"), tr("secicon_searching"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_POISONING, + QStringLiteral("secicon_poisoning"), tr("secicon_poisoning"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_EXPLOSION, + QStringLiteral("secicon_explosion"), tr("secicon_explosion"), + SECTORMAIN, SELECT_WIDGET_CB); + + // Land Installation Main Sector Icons 020FFF ----- 021FFE + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_ELECTRIC_POWER, + QStringLiteral("secicon_electric_power"), tr("secicon_electric_power"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MASS_GRAVE_SITE, + QStringLiteral("secicon_mass_grave_site"), tr("secicon_mass_grave_site"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_NUCLEAR, + QStringLiteral("secicon_nuclear"), tr("secicon_nuclear"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PRINT_MEDIA, + QStringLiteral("secicon_print_media"), tr("secicon_print_media"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_TELECOMMUNICATION_CIVILIAN, + QStringLiteral("secicon_telecommunication_civilian"), tr("secicon_telecommunication_civilian"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + + + // Air Space Main Sector Icons 030FFF ----- 031FFE + ///////////////////////////////////////////////// + + // Nur als Platzhalter vorbereitet! $031000 + // d->sectorIconData.insert(SECICON_MILITARY_FIXED_WING, + // QStringLiteral("secicon_military_fixed_wing"), tr("secicon_military_fixed_wing"), + // SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_CIVILIAN_FIXED_WING, + QStringLiteral("secicon_civilian_fixed_wing"), tr("secicon_civilian_fixed_wing"), + SECTORMAIN, SELECT_WIDGET_CB); + + // Nur als Platzhalter vorbereitet! $031002 + // d->sectorIconData.insert(SECICON_MILITARY_ROTARY_WING, + // QStringLiteral("secicon_military_rotary_wing"), tr("secicon_military_rotary_wing"), + // SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_CIVILIAN_ROTARY_WING, + QStringLiteral("secicon_civilian_rotary_wing"), tr("secicon_civilian_rotary_wing"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MILITARY_BALLOON, + QStringLiteral("secicon_military_balloon"), tr("secicon_military_balloon"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_CIVILIAN_BALLOON, + QStringLiteral("secicon_civilian_balloon"), tr("secicon_civilian_balloon"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MILITARY_AIRSHIP, + QStringLiteral("secicon_civilian_balloon"), tr("secicon_civilian_balloon"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MILITARY_AIRSHIP, + QStringLiteral("secicon_military_airship"), tr("secicon_military_airship"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_CIVILIAN_AIRSHIP, + QStringLiteral("secicon_civilian_airship"), tr("secicon_civilian_airship"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_AIR_DECOY, + QStringLiteral("secicon_air_decoy"), tr("secicon_air_decoy"), + SECTORMAIN, SELECT_WIDGET_CB); + + // Sea Surface Main Sector Icons 040FFF ----- 041FFE + ///////////////////////////////////////////////// +// Symbol nur formal vorbereitet;- muss noch erstellt werden!! +// d->sectorIconData.insert(SECICON_COMBANTANT, +// QStringLiteral("secicon_combantant"), tr("secicon_combantant"), +// SECTORMAIN, SELECT_WIDGET_CB); + + d->sectorIconData.insert(SECICON_SEA_SURFACE_COMBATANT_LINE, + QStringLiteral("secicon_sea_surface_combatant_line"), tr("secicon_sea_surface_combatant_line"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_CARRIER, + QStringLiteral("secicon_carrier"), tr("secicon_carrier"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_AMPHIBIOUS_WARFARE_SHIP, + QStringLiteral("secicon_amphibious_warfare_ship"), tr("secicon_amphibious_warfare_ship"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MINE_WARFARE_VESSEL, + QStringLiteral("secicon_mine_warfare_vessel"), tr("secicon_mine_warfare_vessel"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_SEA_SURFACE_DECOY, + QStringLiteral("secicon_sea_surface_decoy"), tr("secicon_sea_surface_decoy"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_PATROL, + QStringLiteral("secicon_patrol"), tr("secicon_patrol"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MILITARY_SPEEDBOAT, + QStringLiteral("secicon_military_speedboat"), tr("secicon_military_speedboat"), + SECTORMAIN, SELECT_WIDGET_CB); +// Symbol nur formal vorbereitet;- muss noch erstellt werden (inverse Schrift?) +// d->sectorIconData.insert(SECICON_MILITARY_SPEEDBOAT_RIGID_HULL_INFLATABLE_BOAT, +// QStringLiteral("secicon_military_speedboat_rigid_hull_inflatable_boat"), tr("secicon_military_speedboat_rigid_hull_inflatable_boat"), +// SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MILITARY_JETSKI, + QStringLiteral("secicon_military_jetski"), tr("secicon_military_jetski"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_NAVY_TASK_ORGANISATION_UNIT, + QStringLiteral("secicon_navy_task_organisation_unit"), tr("secicon_navy_task_organisation_unit"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_CONVOY, + QStringLiteral("secicon_convoy"), tr("secicon_convoy"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_NONCOMBATANT, + QStringLiteral("secicon_noncombatant"), tr("secicon_noncombatant"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_MERCHANT_SHIP_GENERAL, + QStringLiteral("secicon_merchant_ship_general"), tr("secicon_merchant_ship_general"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_FISHING_VESSEL, + QStringLiteral("secicon_fishing_vessel"), tr("secicon_fishing_vessel"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LAW_ENFORCEMENT_VESSEL, + QStringLiteral("secicon_law_enforcement_vessel"), tr("secicon_law_enforcement_vessel"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LEISURE_CRAFT_SAILING_BOAT, + QStringLiteral("secicon_leisure_craft_sailing_boat"), tr("secicon_leisure_craft_sailing_boat"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LEISURE_CRAFT_MOTORIZED, + QStringLiteral("secicon_leisure_craft_motorized"), tr("secicon_leisure_craft_motorized"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_LEISURE_CRAFT_JETSKI, + QStringLiteral("secicon_leisure_craft_jetski"), tr("secicon_leisure_craft_jetski"), + SECTORMAIN, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_UNMANNED_SURFACE_WATER_VEHICLE, + QStringLiteral("secicon_unmanned_surface_water_vehicle"), tr("secicon_unmanned_surface_water_vehicle"), + SECTORMAIN, SELECT_WIDGET_CB); + + + // MAIN-FF =>>> werden nun alle in BRANCH gehandelt + ///////////////////////////////////////////////// + + + // SEC1 + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_AIRMOBILE_AIRASSAULT, + QStringLiteral("secicon_airmobile_airassault"), tr("secicon_airmobile_airassault"), + SECTOR1); + d->sectorIconData.insert(SECICON_BRIDGING, + QStringLiteral("secicon_bridging"), tr("secicon_bridging"), + SECTORMAIN|SECTOR1, SELECT_WIDGET_CB); + d->sectorIconData.insert(SECICON_DIRECT_COMMUNICATION, + QStringLiteral("secicon_direct_communication"), tr("secicon_direct_communication"), + SECTOR1); + d->sectorIconData.insert(SECICON_MOBILE_ADVISOR_SUPPORT, + QStringLiteral("secicon_mobile_advisor_support"), tr("secicon_mobile_advisor_support"), + SECTOR1); + d->sectorIconData.insert(SECICON_MULTIPLE_ROCKET_LAUNCHER, + QStringLiteral("secicon_multiple_rocket_launcher"), tr("secicon_multiple_rocket_launcher"), + SECTOR1); + d->sectorIconData.insert(SECICON_SIGNALS_INTELLIGENCE, + QStringLiteral("secicon_signals_intelligence"), tr("secicon_signals_intelligence"), + SECTOR1); + d->sectorIconData.insert(SECICON_SINGLE_ROCKET_LAUNCHER, + QStringLiteral("secicon_single_rocket_launcher"), tr("secicon_single_rocket_launcher"), + SECTOR1); + d->sectorIconData.insert(SECICON_RUNWAY, + QStringLiteral("secicon_runway"), tr("secicon_runway"), + SECTOR1); + + // Land Equipment Sector 1 Icons 012FFF ----- 013FFE + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_LAYING, + QStringLiteral("secicon_laying"), tr("secicon_laying"), + SECTOR1); + + + // SEC2 + ///////////////////////////////////////////////// + d->sectorIconData.insert(SECICON_AIRBORNE, + QStringLiteral("secicon_airborne"), tr("secicon_airborne"), + SECTOR2); + d->sectorIconData.insert(SECICON_ARCTIC, + QStringLiteral("secicon_arctic"), tr("secicon_arctic"), + SECTOR2); +// -> Intrinsic Mobility, bleibt aber als Platzhalter bestehen +// d->sectorIconData.insert(SECICON_BICYCLE_EQUIPPED, +// QStringLiteral("secicon_bicycle_equipped"), tr("secicon_bicycle_equipped"), +// SECTOR2); + d->sectorIconData.insert(SECICON_CONTROL, + QStringLiteral("secicon_control"), tr("secicon_control"), + SECTOR2); + d->sectorIconData.insert(SECICON_EPLRS, + QStringLiteral("secicon_eplrs"), tr("secicon_eplrs"), + SECTOR2); + d->sectorIconData.insert(SECICON_INTERMODAL, + QStringLiteral("secicon_intermodal"), tr("secicon_intermodal"), + SECTOR2); + d->sectorIconData.insert(SECICON_LAUNCHER, + QStringLiteral("secicon_launcher"), tr("secicon_launcher"), + SECTOR2); + d->sectorIconData.insert(SECICON_MOUNTAIN, + QStringLiteral("secicon_mountain"), tr("secicon_mountain"), + SECTOR2); +// -> Intrinsic Mobility, bleibt aber als Platzhalter bestehen +// d->sectorIconData.insert(SECICON_PACKANIMAL, +// QStringLiteral("secicon_packanimal"), tr("secicon_packanimal"), +// SECTOR2); + d->sectorIconData.insert(SECICON_RADIORELAY, + QStringLiteral("secicon_radiorelay"), tr("secicon_radiorelay"), + SECTOR2); + d->sectorIconData.insert(SECICON_RECOVERY_US, + QStringLiteral("secicon_recovery_us"), tr("secicon_recovery_us"), + SECTOR2); +// Symbol entfaellt, bleibt aber als Platzhalter bestehen + d->sectorIconData.insert(SECICON_RIVERINE, + QStringLiteral("secicon_riverine"), tr("secicon_riverine"), + SECTOR2); + d->sectorIconData.insert(SECICON_SKI, + QStringLiteral("secicon_ski"), tr("secicon_ski"), + SECTOR2); + + // Land Equipment Sector 2 Icons 013FFF ----- 014FFE + ///////////////////////////////////////////////// + + d->sectorIconData.insert(SECICON_LAUNCHER_LAND_EQ, + QStringLiteral("secicon_launcher_land_eq"), tr("secicon_launcher_land_eq"), + SECTOR2); + + ///////////////////////////////////////////////// + // BRANCH + ///////////////////////////////////////////////// + d->branchData.clear(); + +#ifdef APP6C + d->branchData.insert(BRANCH_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->branchData.insert(B_SIGNAL, QStringLiteral("signal"), tr("Fernmelde allgemein")); + d->branchData.insert(MEDICAL, QStringLiteral("medical"), tr("Sanitaetsdienst")); + + // Neu hinzugefuegte Full Frame Icons Offset $20 + + d->branchData.insert(BRANCH_AIR_ASSAULT_WITH_ORGANIC_LIFT, + QStringLiteral("branch_air_assault_with_organic_lift"), tr("branch_air_assault_with_organic_lift")); + d->branchData.insert(BRANCH_AIR_DEFENCE, + QStringLiteral("branch_air_defence"), tr("branch_air_defence")); + + // BRANCH_AIR_AND_NAVAL_GUNFIRE_LIASON_COMPANY_ANGLICO, // Platzhalter + + d->branchData.insert(BRANCH_AMPHIBIOUS, + QStringLiteral("branch_amphibious"), tr("branch_amphibious")); + d->branchData.insert(BRANCH_AMPHIBIOUS_2, + QStringLiteral("branch_amphibious_2"), tr("branch_amphibious_2")); + d->branchData.insert(BRANCH_ANALYSIS, + QStringLiteral("branch_analysis"), tr("branch_analysis")); + d->branchData.insert(BRANCH_ANTITANK, + QStringLiteral("branch_antitank"), tr("branch_antitank")); + d->branchData.insert(BRANCH_ANTENNA, + QStringLiteral("branch_antenna"), tr("branch_antenna")); + d->branchData.insert(BRANCH_CORPS_SUPPORT, + QStringLiteral("branch_corps_support"), tr("branch_corps_support")); + d->branchData.insert(BRANCH_DIRECTION_FINDING, + QStringLiteral("branch_direction_finding"), tr("branch_direction_finding")); + d->branchData.insert(BRANCH_HEADQUARTER, + QStringLiteral("branch_headquarter"), tr("branch_headquarter")); + d->branchData.insert(BRANCH_INFANTRY, + QStringLiteral("branch_infantry"), tr("branch_infantry")); + d->branchData.insert(BRANCH_INTERCEPT, + QStringLiteral("branch_intercept"), tr("branch_intercept")); + d->branchData.insert(BRANCH_JAMMING, + QStringLiteral("branch_jamming"), tr("branch_jamming")); + d->branchData.insert(BRANCH_MAIN_GUN_SYSTEM, + QStringLiteral("branch_main_gun_system"), tr("branch_main_gun_system")); + + // BRANCH_MEDICAL, // Platzhalter $002E ==> BRANCH tg_MEDICAL.xml + + d->branchData.insert(BRANCH_MEDICAL_TREATMENT_FACILITY, + QStringLiteral("branch_medical_treatment_facility"), tr("branch_medical_treatment_facility")); + d->branchData.insert(BRANCH_MOTORIZED, + QStringLiteral("branch_motorized"), tr("branch_motorized")); + d->branchData.insert(BRANCH_RECONNAISSANCE, + QStringLiteral("branch_reconnaissance"), tr("branch_reconnaissance")); + d->branchData.insert(BRANCH_SEARCH_RECONNAISSANCE, + QStringLiteral("branch_search_reconnaissance"), tr("branch_search_reconnaissance")); + + // BRANCH_SIGNAL, // Platzhalter $0033 ==> BRANCH tg_SIGNAL.xml + + d->branchData.insert(BRANCH_SUPPLY, + QStringLiteral("branch_supply"), tr("branch_supply")); + d->branchData.insert(BRANCH_SUPPLY_MEDICAL_CLASS_VIII, + QStringLiteral("branch_supply_medical_class_viii"), tr("branch_supply_medical_class_viii")); + d->branchData.insert(BRANCH_THEATRE_ECHELONS_ABOVE_CORPS, + QStringLiteral("branch_theatre_echelons_above_corps"), tr("branch_theatre_echelons_above_corps")); + d->branchData.insert(BRANCH_MOUNTAIN, + QStringLiteral("branch_mountain"), tr("branch_mountain")); + +#else + d->branchData.insert(BRANCH_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->branchData.insert(TANK, QStringLiteral("tank)", tr("Panzer")); + d->branchData.insert(INFANTRY, QStringLiteral("infantry"), tr("Jaeger")); + d->branchData.insert(RECONNAISSANCE, QStringLiteral("reconnaissance"), tr("Heeresaufklaerung")); + d->branchData.insert(ARTILLERY, QStringLiteral("artillery"), tr("Artillerie")); + d->branchData.insert(ARMY_AIR_DEFENSE, QStringLiteral("army_air_defense"), tr("Heeresflugabwehr")); + d->branchData.insert(ENGINEER_TROOPS, QStringLiteral("engineer_troops"), tr("Pioniertruppe")); + d->branchData.insert(NBC_DEFENSE, QStringLiteral("nbc_defense"), tr("ABC Abwehr")); + d->branchData.insert(ARMY_AVIATION, QStringLiteral("army_aviation"), tr("Heeresflieger allgemein")); + d->branchData.insert(B_SIGNAL, QStringLiteral("signal"), tr("Fernmelde allgemein")); + d->branchData.insert(SUPPLY, QStringLiteral("supply)", tr("Logistik")); + d->branchData.insert(PSYOPS, QStringLiteral("psyops"), tr("PSYOPS")); + d->branchData.insert(MEDICAL, QStringLiteral("medical"), tr("Sanitaetsdienst")); + d->branchData.insert(CIVIL_MILITARY_COOP, QStringLiteral("civil_military_coop"), tr("Zivil/militaerische Zusammenarbeit")); +#endif + ///////////////////////////////////////////////// + // INTRINSIC_MOBILITY + ///////////////////////////////////////////////// + d->intrinsicMobData.clear(); + + d->intrinsicMobData.insert(INTRINSICMOB_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->intrinsicMobData.insert(INTRINSICMOB_WHEEL, QStringLiteral("intrinsicmob_wheel"), tr("intrinsicmob_wheel")); + d->intrinsicMobData.insert(INTRINSICMOB_TRAILER, QStringLiteral("trailer"), tr("Anhaenger")); + d->intrinsicMobData.insert(INTRINSICMOB_TRAIN, QStringLiteral("train"), tr("Eisenbahn")); + d->intrinsicMobData.insert(INTRINSICMOB_AMPHIBIOUS, QStringLiteral("intrinsicmob_amphibious"), tr("intrinsicmob_amphibious")); + d->intrinsicMobData.insert(INTRINSICMOB_SEMI_TRAILER, QStringLiteral("intrinsicmob_semi_trailer"), tr("intrinsicmob_semi_trailer")); + d->intrinsicMobData.insert(INTRINSICMOB_BARGE, QStringLiteral("intrinsicmob_barge"), tr("intrinsicmob_barge")); + d->intrinsicMobData.insert(INTRINSICMOB_OVER_SNOW, QStringLiteral("intrinsicmob_over_snow"), tr("intrinsicmob_over_snow")); + d->intrinsicMobData.insert(INTRINSICMOB_SLED, QStringLiteral("intrinsicmob_sled"), tr("intrinsicmob_sled")); + d->intrinsicMobData.insert(INTRINSICMOB_TRACKED, QStringLiteral("intrinsicmob_tracked"), tr("intrinsicmob_tracked")); + d->intrinsicMobData.insert(INTRINSICMOB_WHEELED_CROSS_COUNTRY, QStringLiteral("intrinsicmob_wheeled_cross_country"), tr("intrinsicmob_wheeled_cross_country")); + d->intrinsicMobData.insert(INTRINSICMOB_WHEELED_LIMITED_MOBILITY, QStringLiteral("intrinsicmob_wheeled_limited_mobility"), tr("intrinsicmob_wheeled_limited_mobility")); + d->intrinsicMobData.insert(INTRINSICMOB_WHEELED_AND_TRACKED, QStringLiteral("intrinsicmob_wheeled_and_tracked"), tr("intrinsicmob_wheeled_and_tracked")); + d->intrinsicMobData.insert(INTRINSICMOB_AIRBORNE, QStringLiteral("intrinsicmob_airborne"), tr("intrinsicmob_airborne")); + d->intrinsicMobData.insert(INTRINSICMOB_BICYCLE_EQUIPPED, QStringLiteral("intrinsicmob_bicycle_equipped"), tr("intrinsicmob_bicycle_equipped")); + d->intrinsicMobData.insert(INTRINSICMOB_PACKANIMAL, QStringLiteral("intrinsicmob_packanimal"), tr("intrinsicmob_packanimal")); + + + ///////////////////////////////////////////////// + // VEHICLE - Modifier + ///////////////////////////////////////////////// + d->vehicleData.clear(); + + d->vehicleData.insert(VEHICLE_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); +// d->vehicleData.insert(VEHICLE_VEHICLE, QStringLiteral("vehicle"), tr("vehicle")); + d->vehicleData.insert(VEHICLE_UTIL_VEHICLEA, QStringLiteral("util_vehicleA"), tr("util_vehicleA")); +// d->vehicleData.insert(VEHICLE_UTIL_VEHICLEB, QStringLiteral("util_vehicleB"), tr("util_vehicleB")); + d->vehicleData.insert(VEHICLE_UTIL_VEHICLE_ARMORED, QStringLiteral("util_vehicle_armored"), tr("util_vehicle_armored")); + d->vehicleData.insert(VEHICLE_ARMORED_INFANTRY, QStringLiteral("armored_infantry"), tr("armored_infantry")); +// d->vehicleData.insert(VEHICLE_ARMORED_INFANTRYB, QStringLiteral("armored_infantryB"), tr("armored_infantryB")); + d->vehicleData.insert(VEHICLE_CARRIER, QStringLiteral("carrier"), tr("carrier")); + d->vehicleData.insert(VEHICLE_ARMORED_TANK, QStringLiteral("armored_tank"), tr("armored_tank")); + d->vehicleData.insert(VEHICLE_EARTHMOVER, QStringLiteral("vehicle_earthmover"), tr("vehicle_earthmover")); + d->vehicleData.insert(VEHICLE_SEMI_TRAILER_TRUCK, QStringLiteral("vehicle_semi_trailer_truck"), tr("vehicle_semi_trailer_truck")); + d->vehicleData.insert(VEHICLE_TRAIN_LOCOMOTIVE, QStringLiteral("vehicle_train_locomotive"), tr("vehicle_train_locomotive")); + + + + ///////////////////////////////////////////////// + // ARMING - Modifier + ///////////////////////////////////////////////// + d->armingData.clear(); + + d->armingData.insert(ARMING_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); + d->armingData.insert(ARMING_GUN, QStringLiteral("gun"), tr("gun")); + d->armingData.insert(ARMING_AUTO_WEAPON, QStringLiteral("auto_weapon"), tr("auto_weapon")); + d->armingData.insert(ARMING_ATGUN, QStringLiteral("ATGun"), tr("ATGun")); + d->armingData.insert(ARMING_ADGUN, QStringLiteral("ADGun"), tr("ADGun")); + d->armingData.insert(ARMING_MORTER, QStringLiteral("morter"), tr("morter")); + d->armingData.insert(ARMING_HOWITZER, QStringLiteral("howitzer"), tr("howitzer")); + d->armingData.insert(ARMING_ROCKET, QStringLiteral("rocket"), tr("rocket")); + d->armingData.insert(ARMING_MISSILE, QStringLiteral("missile"), tr("missile")); + d->armingData.insert(ARMING_MACHINE_GUN, QStringLiteral("arming_machine_gun"), tr("arming_machine_gun")); + d->armingData.insert(ARMING_FLAME_THROWER, QStringLiteral("arming_flame_thrower"), tr("arming_flame_thrower")); + d->armingData.insert(ARMING_AIR_DEFENCE_MISSILE_LAUNCHER, + QStringLiteral("arming_air_defence_missile_launcher"), tr("arming_air_defence_missile_launcher")); + d->armingData.insert(ARMING_ANTITANK_MISSILE_LAUNCHER, + QStringLiteral("arming_antitank_missile_launcher"), tr("arming_antitank_missile_launcher")); + d->armingData.insert(ARMING_SURFACE_TO_SURFACE_MISSILE_LAUNCHER, + QStringLiteral("arming_surface_to_surface_missile_launcher"), tr("arming_surface_to_surface_missile_launcher")); + d->armingData.insert(ARMING_ANTITANK_ROCKET_LAUNCHER, + QStringLiteral("arming_antitank_rocket_launcher"), tr("arming_antitank_rocket_launcher")); + d->armingData.insert(ARMING_NON_LETHAL_WEAPON, + QStringLiteral("arming_non_lethal_weapon"), tr("arming_non_lethal_weapon")); + d->armingData.insert(ARMING_LASER, QStringLiteral("arming_laser"), tr("arming_laser")); + d->armingData.insert(ARMING_GRENADE_LAUNCHER, QStringLiteral("arming_grenade_launcher"), tr("arming_grenade_launcher")); + + + ///////////////////////////////////////////////// + // MISC - Modifier + ///////////////////////////////////////////////// + d->miscData.clear(); + + d->miscData.insert(MISC_UNDEFINED, QStringLiteral("undefined"), tr("Undefined")); +#ifdef APP6C + d->miscData.insert(MISC_LIGHTB, QStringLiteral("lightB"), tr("leichtB")); + d->miscData.insert(MISC_MEDIUMB, QStringLiteral("mediumB"), tr("mittelB")); + d->miscData.insert(MISC_HEAVYB, QStringLiteral("heavyB"), tr("schwerB")); + d->miscData.insert(MISC_ARM_LIGHT, QStringLiteral("arm_light"), tr("BewaffnungLeicht")); + d->miscData.insert(MISC_ARM_MEDIUM, QStringLiteral("arm_medium"), tr("BewaffnungMittel")); + d->miscData.insert(MISC_ARM_HEAVY, QStringLiteral("arm_heavy"), tr("BewaffnungSchwer")); + d->miscData.insert(MISC_MEDICAL, QStringLiteral("misc_medical"), tr("misc_medical")); +#else + d->miscData.insert(MISC_LIGHTA, QStringLiteral("lightA"), tr("leichtA")); + d->miscData.insert(MISC_MEDIUMA, QStringLiteral("mediumA"), tr("mittelA")); + d->miscData.insert(MISC_HEAVYA, QStringLiteral("heavyA"), tr("schwerA")); + d->miscData.insert(MISC_LIGHTB, QStringLiteral("lightB"), tr("leichtB")); + d->miscData.insert(MISC_MEDIUMB, QStringLiteral("mediumB"), tr("mittelB")); + d->miscData.insert(MISC_HEAVYB, QStringLiteral("heavyB"), tr("schwerB")); + d->miscData.insert(MISC_LIGHTC, QStringLiteral("lightC"), tr("leichtC")); + d->miscData.insert(MISC_MEDIUMC, QStringLiteral("mediumC"), tr("mittelC")); + d->miscData.insert(MISC_HEAVYC, QStringLiteral("heavyC"), tr("schwerC")); + + d->miscData.insert(MISC_ARM_LIGHT, QStringLiteral("arm_light"), tr("BewaffnungLeicht")); + d->miscData.insert(MISC_ARM_MEDIUM, QStringLiteral("arm_medium"), tr("BewaffnungMittel")); + d->miscData.insert(MISC_ARM_HEAVY, QStringLiteral("arm_heavy"), tr("BewaffnungSchwer")); + +#endif + +} // init() + + +SymbolTypes::SymbolTypes() + :d(new Private()) +{ + this->init(); +} + +SymbolTypes::~SymbolTypes() +{ + delete d; +} + +void SymbolTypes::cleanupSymbolTypes() +{ + delete s_instance; + s_instance = nullptr; +} + + +SymbolTypes* SymbolTypes::instance() +{ + if(!s_instance) { + s_instance = new SymbolTypes; + qAddPostRoutine( cleanupSymbolTypes ); + } + return s_instance; +} + +QRectF SymbolTypes::getDefaultRect(t_sector_position position, t_sector_rectpos rectpos) { + QRectF retR; + + //! default rectangles for primitive ICON + QRectF rectSector1 = QRectF(QPointF(-0.7, 0.4), QPointF(0.7, 0.7)); + QRectF rectSector2 = QRectF(QPointF(-0.7, -0.7), QPointF(0.7, -0.4)); + QRectF rectMainSector = QRectF(QPointF(-0.82, -0.4), QPointF(0.82, 0.4)); + QRectF rectFull = QRectF(QPointF(-0.7, -0.7), QPointF(0.7, 0.7)); + QRectF rectMainLarge = QRectF(QPointF(-0.7, -0.7), QPointF(0.7, 0.7)); + + switch(position) { + case SECTOR1: + retR = rectSector1; + break; + case SECTOR2: + retR = rectSector2; + break; + case SECTORMAIN: + if(rectpos == SECTOR_RECTPOS_LARGE) { + retR = rectMainLarge; + } else { + retR = rectMainSector; + } + break; + case SECTORFF: + retR = rectFull; + break; + default: + retR = rectSector1; + break; + } + return retR; +} + + +QRectF SymbolTypes::getDefaultPrimTEXTRect() +{ + return QRectF(QPointF(-0.7, -0.7), QPointF(0.7, 0.7)); +} + + +const AttributeData* SymbolTypes::getDimen() const { + return &(d->dimenData); +} +const AttributeData* SymbolTypes::getAffil() const { + return &(d->affilData); +} + +const AttributeData* SymbolTypes::getBcdab() const { + return &(d->bcdabData); +} + +const AttributeData* SymbolTypes::getCommandLevel() const { + return &(d->commandlevelData); +} + +const AttributeData* SymbolTypes::getMob() const { + return &(d->mobData); +} + +const AttributeData* SymbolTypes::getIconType() const { + return &(d->iconTypeData); +} + +const AttributeData* SymbolTypes::getSectorPosition() const { + return &(d->sectorPosition); +} + +const AttributeData* SymbolTypes::getSectorRectpos() const { + return &(d->sectorRectpos); +} + +const AttributeDataSectorIcon* SymbolTypes::getSectorIcon() const { + return &(d->sectorIconData); +} + +const AttributeData* SymbolTypes::getBranch() const { + return &(d->branchData); +} + +const AttributeData* SymbolTypes::getIntrinsicMob() const { + return &(d->intrinsicMobData); +} + +const AttributeData* SymbolTypes::getVehicle() const { + return &(d->vehicleData); +} + +const AttributeData* SymbolTypes::getArming() const { + return &(d->armingData); +} + +const AttributeData* SymbolTypes::getMisc() const { + return &(d->miscData); +} + +QString SymbolTypes::fillTypeEnum2String(t_filltype id) +{ + switch (id) + { + case FILLTYPE_OUTLINED: + return tr("Outlined"); + case FILLTYPE_FILLED: + return tr("Filled"); + case FILLTYPE_ICONONLY: + return tr("Icon only"); + default: + return tr("Unknown symbol fill type" ); + } +} + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.h new file mode 100755 index 000000000..e5bfd0205 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_types.h @@ -0,0 +1,946 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include +#include +#include +#include + +#include "symbology_xml_export.h" +#include "symbol_id_t.h" + +// RATC: All symbols are NOT APP6 symbols +// The CHARACTERS in the MainSector, Sec1, Sec2 and FreeText should be black: +#if !defined (SYMBOL_TEXT_IN_BLACK) +# define SYMBOL_TEXT_IN_BLACK 0 +#endif + +namespace SymbologyXML { + +class SymbolTable; +template class AttributeData; +template class AttributeDataSectorIcon; + + + +class SYMBOLOGY_XML_EXPORT SymbolTypes : public QObject { + Q_OBJECT + SymbolTypes(); + virtual ~SymbolTypes(); + static void cleanupSymbolTypes(); + static SymbolTypes* s_instance; + + class Private; + Private * const d; + +public: + static SymbolTypes *instance(); + void init(); + + typedef QVector t_symbolTableCont; + + //////////////////////////////////////////////////////////////// + // Die folgende enums muessen mit UNDEFINED == 0 beginnen!!! + // (Vergleiche z.B. attributeData::fill(), + // SymbolEditor::help_on_ComboBoxIndexChanged, ...) + //////////////////////////////////////////////////////////////// + + + ///////////////////////////////////////////////// + // BCDAB + ///////////////////////////////////////////////// + //! Enum defining bcdab-tags + enum t_bcdab {BCDAB_UNDEFINED = 0 + , BCDAB_CREW + , BCDAB_SQUAD + , BCDAB_SECTION + , BCDAB_PLATOON + , BCDAB_SQUADRON + , BCDAB_COMPANY + , BCDAB_BATTALION + , BCDAB_REGIMENT + , BCDAB_BRIGADE + , BCDAB_DIVISION + , BCDAB_CORPS + , BCDAB_ARMY + , BCDAB_ARMY_GROUP + , BCDAB_REGION + , BCDAB_INSTALLATION + , BCDAB_TASK_FORCE + , BCDAB_DUMMY + , BCDAB_COMMAND + , BCDAB_TASK_FORCE_COMPANY + , BCDAB_TASK_FORCE_BATTALION + , BCDAB_TASK_FORCE_BRIGADE + }; + + ///////////////////////////////////////////////// + // COMMANDLEVEL + ///////////////////////////////////////////////// + //! Enum defining command-level-tags + enum t_commandlevel {CL_UNDEFINED = 0 + , CL_CREW + , CL_SQUAD + , CL_SECTION + , CL_PLATOON + , CL_SQUADRON + , CL_COMPANY + , CL_BATTALION + , CL_REGIMENT + , CL_BRIGADE + , CL_DIVISION + }; + + ///////////////////////////////////////////////// + // MOBILITY + ///////////////////////////////////////////////// + //! Enum defining mob-tags + enum t_mob {MOB_UNDEFINED = 0 + , MOB_AIRBORNE + , MOB_AMPHIBIOUS + , MOB_BARGE + , MOB_BICYCLE_EQUIPPED + , MOB_OVER_SNOW + , MOB_PACK_ANIMALS + , MOB_SEMI_TRAILER + , MOB_SLED + , MOB_TRACKED + , MOB_TRAILER + , MOB_TRAIN + , MOB_WHEEL + , MOB_WHEELED_AND_TRACKED + , MOB_WHEEL_ALL_TERRAIN + }; + + + ///////////////////////////////////////////////// + // ICON_TYPE + ///////////////////////////////////////////////// + //! Enum defining icon type + enum t_icon_type { + ICON_TYPE_UNDEFINED = -1 + , ICON_TYPE_SECTOR_ICON = 0 + , ICON_TYPE_INTRINSIC_MOBILITY = 1 + , ICON_TYPE_VEHICLE = 2 + , ICON_TYPE_ARMING = 3 + , ICON_TYPE_MISC = 4 + , ICON_TYPE_END = 5 ///< This MUST mark the END!!! + }; + + ///////////////////////////////////////////////// + // SECTORS + ///////////////////////////////////////////////// + //! Enum defining sector position + enum t_sector_position { + SECTOR_POSITION_UNDEFINED = 0, + SECTOR1 = 1, + SECTOR2 = 2, + SECTORMAIN = 4, + SECTORFF = 8 + }; + + //! Enum defining sector special rectangle position + enum t_sector_rectpos { + SECTOR_RECTPOS_UNDEFINED = 0, + SECTOR_RECTPOS_DEFAULT = 1, + SECTOR_RECTPOS_LARGE = 2 // main sector large (square 0.7) + }; + + //! Enum defining select widget + enum t_select_widget { + SELECT_WIDGET_UNDEFINED = 0, + SELECT_WIDGET_CB, // SELECT_WIDGET_SECTORMAIN_COMBOBOX + SELECT_WIDGET_LV // SELECT_WIDGET_SECTORMAIN_LISTVIEW + }; + + + + /** + Gets the default ICON rectangle depending on parameter position + \param t_sector_position + \return QRectF the default rectangle + */ + static QRectF getDefaultRect(t_sector_position position, t_sector_rectpos rectpos); + + /** + Gets the default rectangle for prim texts + \return QRectF the default rectangle + */ + static QRectF getDefaultPrimTEXTRect(); + + + ///////////////////////////////////////////////// + // Battle Dimension + ///////////////////////////////////////////////// + //! Enum defining dimen-tags + enum t_dimen { + DIMEN_UNDEFINED = 0, + AIR_SPACE, + LAND_UNITS, + LAND_EQUIPMENT, + OVER_WATER, + UNDER_WATER, + ACTIVITY // Stability and Civil Support Activities + }; + + ///////////////////////////////////////////////// + // AFFILIATION + ///////////////////////////////////////////////// + + //! Enum defining affil-tags + enum t_affil { + AFFIL_UNDEFINED = 0, + UNKNOWN, + FRIEND, + NEUTRAL, + ENEMY, + PENDING, + ASSUMED_FRIEND, + SUSPECT + }; + + + ///////////////////////////////////////////////// + // BRANCH (Truppengattung) + ///////////////////////////////////////////////// + //! Enum defining all types of branches + enum t_branch {BRANCH_UNDEFINED = 0, + TANK, + INFANTRY, + RECONNAISSANCE, + ARTILLERY, + ARMY_AIR_DEFENSE, + ENGINEER_TROOPS, + NBC_DEFENSE, + ARMY_AVIATION, + B_SIGNAL, + SUPPLY, + PSYOPS, + MEDICAL, + CIVIL_MILITARY_COOP, +#ifdef APP6C + BRANCH_AIR_ASSAULT_WITH_ORGANIC_LIFT = 0x0020, // neuer Bereich + BRANCH_AIR_DEFENCE, + BRANCH_AIR_AND_NAVAL_GUNFIRE_LIASON_COMPANY_ANGLICO, // Platzhalter + BRANCH_AMPHIBIOUS, + BRANCH_ANALYSIS, + BRANCH_ANTITANK, + BRANCH_ANTENNA, + BRANCH_CORPS_SUPPORT, + BRANCH_DIRECTION_FINDING, + BRANCH_HEADQUARTER, + BRANCH_INFANTRY, + BRANCH_INTERCEPT, + BRANCH_JAMMING, + BRANCH_MAIN_GUN_SYSTEM, + BRANCH_MEDICAL, // Platzhalter $002E ==> BRANCH tg_MEDICAL.xml + BRANCH_MEDICAL_TREATMENT_FACILITY, + BRANCH_MOTORIZED, + BRANCH_RECONNAISSANCE, + BRANCH_SEARCH_RECONNAISSANCE, + BRANCH_SIGNAL, // Platzhalter $0033 ==> BRANCH tg_SIGNAL.xml + BRANCH_SUPPLY, + BRANCH_SUPPLY_MEDICAL_CLASS_VIII, + BRANCH_THEATRE_ECHELONS_ABOVE_CORPS, + BRANCH_MOUNTAIN, + BRANCH_AMPHIBIOUS_2, + +#endif + + BRANCH_LAST}; + + + ///////////////////////////////////////////////// + // INTRINSIC MOBILITY + ///////////////////////////////////////////////// + enum t_intrinsicmob {INTRINSICMOB_UNDEFINED = 0, + INTRINSICMOB_WHEEL, + INTRINSICMOB_WHEEL_ALL_TERRAIN, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + INTRINSICMOB_CHAIN, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + INTRINSICMOB_CHAIN_ALL_TERRAIN, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + INTRINSICMOB_TRAILER, + INTRINSICMOB_TRAIN, + INTRINSICMOB_AMPHIBIOUS, + INTRINSICMOB_SEMI_TRAILER, + INTRINSICMOB_RAILCAR, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + INTRINSICMOB_BARGE, + INTRINSICMOB_OVER_SNOW, + INTRINSICMOB_PACKANIMAL, + INTRINSICMOB_SLED, + INTRINSICMOB_TRACKED, + INTRINSICMOB_WHEELED_CROSS_COUNTRY, + INTRINSICMOB_WHEELED_LIMITED_MOBILITY, + INTRINSICMOB_WHEELED_AND_TRACKED, + INTRINSICMOB_AIRBORNE, + INTRINSICMOB_BICYCLE_EQUIPPED + }; + + + ///////////////////////////////////////////////// + // VEHICLE + ///////////////////////////////////////////////// + //! Enum defining vehicle-tags + enum t_vehicle {VEHICLE_UNDEFINED = 0, + VEHICLE_VEHICLE, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + VEHICLE_UTIL_VEHICLEA, + VEHICLE_UTIL_VEHICLEB, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + VEHICLE_UTIL_VEHICLE_ARMORED, + VEHICLE_ARMORED_INFANTRY, + VEHICLE_ARMORED_INFANTRYB, // Symbol entfaellt, bleibt aber als Platzhalter bestehen + VEHICLE_CARRIER, + VEHICLE_ARMORED_TANK, + VEHICLE_EARTHMOVER, + VEHICLE_SEMI_TRAILER_TRUCK, + VEHICLE_TRAIN_LOCOMOTIVE + }; + + ///////////////////////////////////////////////// + // ARMING + ///////////////////////////////////////////////// + //! Enum defining all types of arming + enum t_arming {ARMING_UNDEFINED = 0, + ARMING_GUN, + ARMING_AUTO_WEAPON, + ARMING_ATGUN, + ARMING_ADGUN, + ARMING_MORTER, + ARMING_HOWITZER, + ARMING_ROCKET, + ARMING_MISSILE, + ARMING_MACHINE_GUN, + ARMING_FLAME_THROWER, + ARMING_AIR_DEFENCE_MISSILE_LAUNCHER, + ARMING_ANTITANK_MISSILE_LAUNCHER, + ARMING_SURFACE_TO_SURFACE_MISSILE_LAUNCHER, + ARMING_ANTITANK_ROCKET_LAUNCHER, + ARMING_NON_LETHAL_WEAPON, + ARMING_LASER, + ARMING_GRENADE_LAUNCHER + }; + + ///////////////////////////////////////////////// + // MISC + ///////////////////////////////////////////////// + //! Enum defining all types of misc + enum t_misc {MISC_UNDEFINED = 0, + MISC_LIGHTA, + MISC_MEDIUMA, + MISC_HEAVYA, + MISC_LIGHTB, + MISC_MEDIUMB, + MISC_HEAVYB, + MISC_LIGHTC, + MISC_MEDIUMC, + MISC_HEAVYC, + MISC_ARM_LIGHT, + MISC_ARM_MEDIUM, + MISC_ARM_HEAVY, + MISC_MEDICAL, + MISC_LAST + }; + + + ///////////////////////////////////////////////// + // SECTOR1 + ///////////////////////////////////////////////// + //! Enum defining all types of sector 1 modifier + enum t_sector1 {SEC1_UNDEFINED = 0, + SEC1_AIR_ASSAULT, + SEC1_BRIDGING, + SEC1_DIRECTCOMMUNICATIONS + }; + + + ///////////////////////////////////////////////// + // SECTOR-ICONS + ///////////////////////////////////////////////// + // Aufloesung der Symbol-Id 0xaabbcddd + // aa - Symboltype + // bb - Battle dimension + // c - Symbolart (Main-, FullFramed-, Sector1-, Sector2 Symbol) + // ddd - SymbolId (entsprechend des jeweiligen EnumValues) + + // Derzeitig verwendete Symboltypen aa: + // 0x00 Symbol Frames + // 0x01 BCDAB + // 0x02 Mobility (Attributes/Mobility) + // 0x03 Branch + // 0x04 Command Level + // 0x05 Vehicle + // 0x06 Intrinsic Mobility (AddonSectors/Sector2/Mobility) + // 0x07 Arming + // 0x08 Misc (MainSector/MiscVehicle) + // 0x09 - + // 0x0A Secicons + // + // Derzeitig verwendete Battle dimension bb: + // 0x..00 Land Units + // 0x..01 Land Equipment + // 0x..02 Land Installation + // 0x..03 Air Space + // 0x..04 Sea Surface + // + // Derzeit gibt es keine speziellen Symbole fuer weitere Battle dimensions. + // Info: Fuer jedes Battle dimension FullFramedSymbole existiert eine Datei mit dem Grundsymbol. + // Verschiedene Varianten (Friend, Enemy etc. bzw. LandUnit, LandEquipment etc.) werden zwar + // in eigenen Dateien abgelegt, behalten aber die selbe SymbolId. Sie unterscheiden sich in + // den xml-keys 'dimen' und 'affil', sowie ggf. inhaltlich durch spezielle Anpassungen. + // + // Derzeitig verwendete Symbolart c: + // 0x....1 Main Sector Icon + // 0x....2 Full Framed Icons (werden alle in branch behandelt) + // 0x....3 Secicon 1 + // 0x....4 Secicon 2 + + // Land Units SubOffset-Position: + // SECICON_MAIN -> 000FFF ----- 001FFE + // Land Units -> 001050 Main Icons die in Full Frame Icons benoetigt werden + // Land Units -> 001070 Main Icons die fuer Individual and Organization benoetigt werden + // SECICON_MAINFF -> 001FFF ----- 002FFE + // SECICON_Sec1 -> 002FFF ----- 003FFE + // SECICON_Sec2 -> 003FFF ----- 004FFE + + // Land Equipment SubOffset-Position: + // SECICON_MAIN -> 010FFF ----- 011FFE + // SECICON_MAINFF -> 011FFF ----- 012FFE + // SECICON_Sec1 -> 012FFF ----- 013FFE + // SECICON_Sec2 -> 013FFF ----- 014FFE + + // Land Installation SubOffset-Position: + // SECICON_MAIN -> 020FFF ----- 021FFE + // SECICON_MAINFF -> 021FFF ----- 022FFE + // SECICON_Sec1 -> 022FFF ----- 023FFE + // SECICON_Sec2 -> 023FFF ----- 024FFE + + // Air Space SubOffset-Position: + // SECICON_MAIN -> 030FFF ----- 031FFE + // SECICON_MAINFF -> 031FFF ----- 032FFE + // SECICON_Sec1 -> 032FFF ----- 033FFE + // SECICON_Sec2 -> 033FFF ----- 034FFE + + // Sea Surface SubOffset-Position: + // SECICON_MAIN -> 040FFF ----- 041FFE + // SECICON_MAINFF -> 041FFF ----- 042FFE + // SECICON_Sec1 -> 042FFF ----- 043FFE + // SECICON_Sec2 -> 043FFF ----- 044FFE + + + + //! Enum defining all types of sectorIcons + enum t_sectoricon {SECICON_UNDEFINED = 0 +// , SECICON_AIRBORNE +// , SECICON_ARCTIC +// , SECICON_BICYLEEQUIPPED +// , SECICON_CONTROL +// , SECICON_EPLRS +// , SECICON_INTERMODAL +// , SECICON_LAUNCHER +// , SECICON_MOUNTAIN +// , SECICON_RADIORELAY +// , SECICON_RAILROAD +// , SECICON_RECOVERY_US +// , SECICON_RECOVERY_MAINTENANCE +// , SECICON_RIVERINE +// , SECICON_SKI +// , SECICON_TOWED +// , SECICON_WHEELED + + + //////////////////////////////////////////////// + // Land Units Main Sector Icons 000FFF ----- 001FFE + //////////////////////////////////////////////// + , SECICON_MAIN_START_LAND_UNITS = 0x000FFF + + , SECICON_AIR_TRAFFIC_SERVICES + , SECICON_APOD_APOE // -> TRANSPORTATION // Stern mit umgebenden Kreis (APOD_APOE) + , SECICON_AMMUNITION + , SECICON_ARMORED_TANK + , SECICON_AVIATION + , SECICON_AVIATION_FIXED_WING + , SECICON_AVIATION_FIXED_ROTARY_WING + , SECICON_NBC_DEFENCE + , SECICON_CIV_MIL_COOPERATION // BRANCH + , SECICON_COMBAT_SUPPORT + , SECICON_COMBINED_ARMS + , SECICON_DIVING + , SECICON_DRILLING + , SECICON_ELECTRIC_RANGING + , SECICON_ENGINEER // BRANCH + , SECICON_FIELD_ARTILLERY // BRANCH // $1000F + , SECICON_FIELD_ARTILLERY_OBSERVER + , SECICON_FIELD_CAMP_CONSTRUCTION // Platzhalter fuer zusammengesetztes Symbol + , SECICON_FINANCE + , SECICON_FIRE_PROT_FIGHTING + , SECICON_LABOUR + , SECICON_LAUNDRY_BATH +// , SECICON_LIASON kein xml basiertes Symbol, deshalb hier entfernt + , SECICON_MAINTENANCE // Beachte BRANCH Supply + , SECICON_MINE + , SECICON_MINE_CLEARING // $1018 Platzhalter fuer zusammengesetztes Symbol + , SECICON_MINE_LAUNCHING // $1019 Platzhalter fuer zusammengesetztes Symbol + , SECICON_MINE_LAYING // $101A Platzhalter fuer zusammengesetztes Symbol + , SECICON_MISSILE + , SECICON_MORTAR + , SECICON_MORTUARY_AFFAIRS + , SECICON_NAVAL + , SECICON_OBSERVER + , SECICON_ORDNANCE // $1020 + , SECICON_PETROLEUM_OIL + , SECICON_PIPELINE + , SECICON_POSTAL + , SECICON_PSYCH_OPS + , SECICON_QUARTERMASTER + , SECICON_RADAR + , SECICON_RADIO + , SECICON_RADIO_RELAY + , SECICON_RADIO_TELETYPE_CENTRE + , SECICON_RAILHEAD // $102A Platzhalter fuer zusammengesetztes Symbol + , SECICON_SPOD_SPOE // $102B Platzhalter fuer zusammengesetztes Symbol + , SECICON_SECURITY_POLICE // $102C Platzhalter fuer zusammengesetztes Symbol + , SECICON_SENSOR + , SECICON_SNIPER + , SECICON_SURVEILLANCE + , SECICON_SURVEY // $1030 + , SECICON_TACTICAL_SATELLITE + , SECICON_TOPOGRAPHIC + , SECICON_TRANSPORTATION // Stern mit umgebenden Kreis (APOD_APOE / ) + , SECICON_UNMANNED_SYSTEMS + , SECICON_VIDEO_IMAGERY + , SECICON_WATER + , SECICON_WATER_PURIFIKATION + , SECICON_AVIATION_ROTARY_WING + , SECICON_PSYCH_OPS_RADIO_TV + + //////////////////////////////////////////////// + // Weitere Land Units Main Icons die in Full Frame Icons benoetigt werden + //////////////////////////////////////////////// + , SECICON_SUBSISTENCE = 0x001050 + , SECICON_PERSONAL_DEMAND + , SECICON_MAJOR_END + , SECICON_REPAIR_PARTS + + //////////////////////////////////////////////// + // Weitere Land Units Main Icons die fuer Individual and Organization benoetigt werden + //////////////////////////////////////////////// + , SECICON_CIVILIAN_POLICE = 0x001070 + , SECICON_ENVIRONMENTAL_PROTECTION + , SECICON_INDIVIDUAL + , SECICON_ORGANIZATION_OR_GROUP + , SECICON_KILLING_VICTIM + , SECICON_KILLING_VICTIMS + , SECICON_VICTIM_OF_AN_ATTEMPTED_CRIME + + , SECICON_MAIN_END_LAND_UNITS + + //////////////////////////////////////////////// + // Land Units Full Framed Icons 001FFF ----- 002FFE =>>> werden nun alle in BRANCH gehandelt + //////////////////////////////////////////////// + , SECICON_MAINFF_START_LAND_UNITS = 0x001FFF + +// , SECICON_AIR_ASSAULT_WITH_ORGANIC_LIFT //FF +// , SECICON_AIR_DEFENCE // FF kopiert aus BRANCH +// //// , SECICON_AIR_AND_NAVAL_GUNFIRE_LIASON_COMPANY_ANGLICO) // FF - BRANCH - SONDERFALL?? +// , SECICON_AMPHIBIOUS +// , SECICON_ANALYSIS +// , SECICON_ANTITANK // FF +// , SECICON_ANTENNA // BROADCAST_TRANSMITTER +// , SECICON_CORPS_SUPPORT //FF +// , SECICON_DIRECTION_FINDING +// , SECICON_HEADQUARTER // FF BRANCH +// , SECICON_INFANTRY // FF BRANCH +// , SECICON_INTERCEPT +// , SECICON_JAMMING +// , SECICON_MAIN_GUN_SYSTEM //FF +// , SECICON_MEDICAL // FF BRANCH +// , SECICON_MEDICAL_TREATMENT_FACILITY // FF +// , SECICON_MOTORIZED // FF +// , SECICON_SEARCH +// , SECICON_SIGNAL // FF BRANCH +// , SECICON_SUPPLY // FF BRANCH +// , SECICON_THEATRE_ECHOLONS_ABOVE_CORPS // FF + + , SECICON_MAINFF_END_LAND_UNITS + + + //////////////////////////////////////////////// + // Land Units Sector1 Icons 002FFF ----- 003FFE + //////////////////////////////////////////////// + , SECICON_SECTOR1_START_LAND_UNITS = 0x002FFF + + , SECICON_AIRMOBILE_AIRASSAULT + , SECICON_BRIDGING + , SECICON_DIRECT_COMMUNICATION +// , SECICON_DIVING -> MainSector +// , SECICON_DRILLING -> MainSector +// , SECICON_MAINTENANCE -> MainSector +// , SECICON_MISSILE // ARMING -> MainSector + , SECICON_MOBILE_ADVISOR_SUPPORT + , SECICON_MULTIPLE_ROCKET_LAUNCHER +// , SECICON_NAVAL -> MainSector +// , SECICON_RADAR -> MainSector +// , SECICON_SENSOR -> MainSector + , SECICON_SIGNALS_INTELLIGENCE + , SECICON_SINGLE_ROCKET_LAUNCHER +// , SECICON_VIDEO_IMAGERY -> MainSector + , SECICON_RUNWAY + + , SECICON_SECTOR1_END_LAND_UNITS + + //////////////////////////////////////////////// + // Land Units Sector2 Icons 003FFF ----- 004FFE + //////////////////////////////////////////////// + , SECICON_SECTOR2_START_LAND_UNITS = 0x003FFF + + , SECICON_AIRBORNE //BRANCH + , SECICON_ARCTIC + , SECICON_BICYCLE_EQUIPPED // -> Intrinsic Mobility, bleibt aber als Platzhalter bestehen + , SECICON_CONTROL + , SECICON_EPLRS + , SECICON_INTERMODAL + , SECICON_LAUNCHER + , SECICON_MOUNTAIN + , SECICON_PACKANIMAL // -> Intrinsic Mobility, bleibt aber als Platzhalter bestehen + , SECICON_RADIORELAY +// , SECICON_RAILROAD // -> Intrinsic Mobility + , SECICON_RECOVERY_US + +// , SECICON_RECOVERY_MAINTENANCE -> MainSector + , SECICON_RIVERINE // Symbol entfaellt, bleibt aber als Platzhalter bestehen + , SECICON_SKI +// , SECICON_TOWED // -> Intrinsic Mobility +// , SECICON_WHEELED // -> Intrinsic Mobility + + , SECICON_SECTOR2_END_LAND_UNITS + + //////////////////////////////////////////////// + // Land Equipment Main Sector Icons 010FFF ----- 001FFE + //////////////////////////////////////////////// + , SECICON_MAIN_START_LAND_EQUIPMENT = 0x010FFF + , SECICON_MEDICAL_EVACUATION + , SECICON_FOLDING_GIRDER_BRIDGE + , SECICON_HOLLOW_DECK_BRIDGE + , SECICON_MINE_CLEARING_LE + , SECICON_MINE_LAYING_EQUIPMENT + , SECICON_COMPUTER_SYSTEM + , SECICON_LAND_MINE + , SECICON_ANTIPERSONNEL_LAND_MINE + , SECICON_ANTITANK_LAND_MINE + , SECICON_SENSOR_EMPLACED + , SECICON_BOOBY_TRAP + , SECICON_ANTENNA + , SECICON_AMBUSH + , SECICON_ROADBLOCK + , SECICON_PATROLLING + , SECICON_SEARCHING + , SECICON_POISONING + , SECICON_EXPLOSION + + , SECICON_MAIN_END_LAND_EQUIPMENT + + /////////////////////////////////////////////// + // Land Equipment Full Framed Icons 011FFF ----- 012FFE =>>> werden nun alle in BRANCH gehandelt + //////////////////////////////////////////////// + , SECICON_MAINFF_START_LAND_EQUIPMENT = 0x011FFF + + , SECICON_MAINFF_END_LAND_EQUIPMENT + + //////////////////////////////////////////////// + // Land Equipment Sector1 Icons 012FFF ----- 013FFE + //////////////////////////////////////////////// + , SECICON_SECTOR1_START_LAND_EQUIPMENT = 0x012FFF + , SECICON_LAYING + + , SECICON_SECTOR1_END_LAND_EQUIPMENT + + //////////////////////////////////////////////// + // Land Equipment Sector2 Icons 013FFF ----- 014FFE + //////////////////////////////////////////////// + , SECICON_SECTOR2_START_LAND_EQUIPMENT = 0x013FFF + , SECICON_LAUNCHER_LAND_EQ + + , SECICON_SECTOR2_END_LAND_EQUIPMENT + + + //////////////////////////////////////////////// + // Land Installation Main Sector Icons 020FFF ----- 021FFE + //////////////////////////////////////////////// + , SECICON_MAIN_START_LAND_INSTALLATION = 0x020FFF + , SECICON_AIRPORT // Platzhalter Symbol besteht als TRANSPORTATION und RUNWAY + , SECICON_AMMUNITION_LI // Platzhalter Symbol besteht als AMMUNITION + , SECICON_BROADCAST_TRANSMITTER_ANTENNA // Platzhalter Symbol besteht als ANTENNA + , SECICON_CBRN // Platzhalter Symbol besteht als NBC_DEFENSE + , SECICON_ELECTRIC_POWER + , SECICON_FOOD_DISTRIBUTION // Platzhalter Symbol besteht als SUBSISTENCE + , SECICON_MASS_GRAVE_SITE + , SECICON_MEDICAL // Platzhalter Symbol besteht als MEDICAL_SERVICE (FullFramed) + , SECICON_MEDICAL_TREATMENT // Platzhalter Symbol besteht als MEDICAL_TREATMENT (FullFramed) + , SECICON_NUCLEAR + , SECICON_PRINT_MEDIA + , SECICON_RAILROAD_STATION // Platzhalter Symbol besteht als TRANSPORTATION und RAIL + , SECICON_SEA_PORT_NAVAL_BASE // Platzhalter Symbol besteht als TRANSPORTATION und NAVAL + , SECICON_SHIP_YARD_BUILDING // Platzhalter Symbol besteht als NAVAL + , SECICON_TELECOMMUNICATION_CIVILIAN + , SECICON_WATER_LI // Platzhalter Symbol besteht als WATER + , SECICON_WATER_TREATMENT // Platzhalter Symbol besteht als WATER + + + , SECICON_MAIN_END_LAND_INSTALLATION + + + //////////////////////////////////////////////// + // Land Installation Full Framed Icons 021FFF ----- 022FFE + //////////////////////////////////////////////// + , SECICON_MAINFF_START_LAND_INSTALLATION = 0x021FFF + , SECICON_MAINFF_END_LAND_INSTALLATION + + //////////////////////////////////////////////// + // Land Installation Sector1 Icons 022FFF ----- 023FFE + //////////////////////////////////////////////// + , SECICON_SECTOR1_START_LAND_INSTALLATION = 0x022FFF + , SECICON_SECTOR1_END_LAND_INSTALLATION + + + //////////////////////////////////////////////// + // Land Installation Sector2 Icons 023FFF ----- 024FFE + //////////////////////////////////////////////// + , SECICON_SECTOR2_START_LAND_INSTALLATION = 0x023FFF + , SECICON_SECTOR2_END_LAND_INSTALLATION + + + //////////////////////////////////////////////// + // Air Space Main Sector Icons 030FFF ----- 031FFE + //////////////////////////////////////////////// + , SECICON_MAIN_START_AIR_SPACE = 0x030FFF + , SECICON_MILITARY_FIXED_WING // Platzhalter Symbol ist bereits als AVIATION_FIXED_WING realisiert + , SECICON_CIVILIAN_FIXED_WING + , SECICON_MILITARY_ROTARY_WING // Platzhalter Symbol ist bereits als AVIATION_ROTARY_WING realisiert + , SECICON_CIVILIAN_ROTARY_WING + , SECICON_MILITARY_BALLOON + , SECICON_CIVILIAN_BALLOON + , SECICON_MILITARY_AIRSHIP + , SECICON_CIVILIAN_AIRSHIP + , SECICON_AIR_DECOY + + , SECICON_MAIN_END_AIR_SPACE + + + //////////////////////////////////////////////// + // Air Space Full Framed Icons 031FFF ----- 032FFE + //////////////////////////////////////////////// + , SECICON_MAINFF_START_AIR_SPACE = 0x021FFF + , SECICON_MAINFF_END_AIR_SPACE + + //////////////////////////////////////////////// + // Air Space Sector1 Icons 032FFF ----- 033FFE + //////////////////////////////////////////////// + , SECICON_SECTOR1_START_AIR_SPACE = 0x022FFF + , SECICON_SECTOR1_END_AIR_SPACE + + + //////////////////////////////////////////////// + // Air Space Sector2 Icons 033FFF ----- 034FFE + //////////////////////////////////////////////// + , SECICON_SECTOR2_START_AIR_SPACE = 0x023FFF + , SECICON_SECTOR2_END_AIR_SPACE + + + + //////////////////////////////////////////////// + // Sea Surface Main Sector Icons 040FFF ----- 041FFE + //////////////////////////////////////////////// + , SECICON_MAIN_START_SEA_SURFACE = 0x040FFF + , SECICON_COMBATANT + , SECICON_SEA_SURFACE_COMBATANT_LINE + , SECICON_CARRIER + , SECICON_AMPHIBIOUS_WARFARE_SHIP + , SECICON_MINE_WARFARE_VESSEL + , SECICON_SEA_SURFACE_DECOY + , SECICON_PATROL + , SECICON_MILITARY_SPEEDBOAT + , SECICON_MILITARY_SPEEDBOAT_RIGID_HULL_INFLATABLE_BOAT + , SECICON_MILITARY_JETSKI + , SECICON_UNMANNED_SURFACE_WATERVEHICLE // Platzhalter Symbol ist bereits als UNMANNED SYSATEM realisiert + , SECICON_NAVY_TASK_ORGANISATION_UNIT + , SECICON_NAVY_TASK_FORCE // Platzhalter Symbol wird aus SECICON_NAVY_TASK_ORGANISATION_UNIT zusammengesetzt + , SECICON_NAVY_TASK_GROUP // Platzhalter Symbol wird aus SECICON_NAVY_TASK_ORGANISATION_UNIT zusammengesetzt + , SECICON_NAVY_TASK_UNIT // Platzhalter Symbol wird aus SECICON_NAVY_TASK_ORGANISATION_UNIT zusammengesetzt + , SECICON_NAVY_TASK_ELEMENT // Platzhalter Symbol wird aus SECICON_NAVY_TASK_ORGANISATION_UNIT zusammengesetzt + , SECICON_CONVOY + , SECICON_NONCOMBATANT + , SECICON_MERCHANT_SHIP_GENERAL + , SECICON_CARGO // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_CONTAINER_SHIP // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_DREDGE // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_ROLL_ON_ROLL_OFF // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_FERRY // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_HEAVY_LIFT // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_HOVERCRAFT // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_MERCHANT_SHIP_LASH_CARRIER // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_OILER_TANKER // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_PASSENGER_SHIP // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_TUG // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_TOW // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_TRANSPORT_SHIP_HAZARDOUS_MATERIAL // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_JUNK_DHOW // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_BARGE_NOT_SELF_PROPELLED // Platzhalter Symbol wird aus SECICON_MERCHANT_SHIP_GENERAL zusammengesetzt + , SECICON_FISHING_VESSEL + , SECICON_DRIFTER // Platzhalter Symbol wird aus SECICON_FISHING_VESSEL zusammengesetzt + , SECICON_TRAWLER // Platzhalter Symbol wird aus SECICON_FISHING_VESSEL zusammengesetzt + , SECICON_LAW_ENFORCEMENT_VESSEL // $0x00025 + , SECICON_LEISURE_CRAFT_SAILING_BOAT + , SECICON_LEISURE_CRAFT_MOTORIZED + , SECICON_LEISURE_CRAFT_MOTORIZED_RIGID_HULL_INFLATABLE_BOAT // Platzhalter Symbol wird aus SECICON_LEISURE_CRAFT_MOTORIZED zusammengesetzt + , SECICON_LEISURE_CRAFT_MOTORIZED_SPEEDBOAT // Platzhalter Symbol wird aus SECICON_LEISURE_CRAFT_MOTORIZED zusammengesetzt + , SECICON_LEISURE_CRAFT_JETSKI + , SECICON_UNMANNED_SURFACE_WATER_VEHICLE + + , SECICON_MAIN_END_SEA_SURFACE + + //////////////////////////////////////////////// + // Sea Surface Full Framed Icons 041FFF ----- 042FFE + //////////////////////////////////////////////// + , SECICON_MAINFF_START_SEA_SURFACE = 0x041FFF + , SECICON_MAINFF_END_SEA_SURFACE + + //////////////////////////////////////////////// + // Sea Surface Sector1 Icons 042FFF ----- 043FFE + //////////////////////////////////////////////// + , SECICON_SECTOR1_START_SEA_SURFACE = 0x042FFF + , SECICON_SECTOR1_END_SEA_SURFACE + + + //////////////////////////////////////////////// + // Sea Surface Sector2 Icons 043FFF ----- 044FFE + //////////////////////////////////////////////// + , SECICON_SECTOR2_START_SEA_SURFACE = 0x043FFF + , SECICON_SECTOR2_END_SEA_SURFACE + + + + }; + // ----- end of t_sectoricon + + + ///////////////////////////////////////////////// + // Symbol status : (for drawing dashed line) + ///////////////////////////////////////////////// + //! Enum defining symbolstatus + enum t_state {STATE_UNDEFINED = 0, + STATE_PRESENT, + STATE_ANTICIPATED /// aka planned + }; + + ///////////////////////////////////////////////// + // Symbol uncertainty : (for drawing dottet line) + ///////////////////////////////////////////////// + //! Enum defining symbolstatus + enum t_uncertainty {UNCERTAINTY_UNDEFINED = 0, + UNCERTAINTY_CERTAIN, + UNCERTAINTY_UNCERTAIN + }; + + + ///////////////////////////////////////////////// + // Symbol filltype + ///////////////////////////////////////////////// + //! Enum defining symbolstatus + enum t_filltype {FILLTYPE_UNDEFINED = -1, + FILLTYPE_EXERCISE_DEFAULT, + FILLTYPE_OUTLINED, + FILLTYPE_FILLED, + FILLTYPE_ICONONLY, + }; + + static QString fillTypeEnum2String(t_filltype id); + + ///////////////////////////////////////////////// + // Symbol vbg + // Verwundungs- und Beschaedigungsgrad (aus zsksxd, diese wird aber leider erst in ZS generiert.) + ///////////////////////////////////////////////// + enum vbg_et { + EINSATZBEREIT = 0, + LEICHTER_TREFFER = 1, + MITTLERER_TREFFER = 2, + SCHWERER_TREFFER = 3, + BEWEGUNGSUNFAEHIG = 4, + BEWEGUNGSUNFAEHIG_SICHTB = 5, + AUSFALL_WAFFENANLAGE = 6, + AUSFALL_WAFFENANLAGE_SICHTB = 7, + TOTALAUSFALL = 8, + ZEITLICHER_AUSFALL = 9, + ANNAEHENDER_TREFFER = 10, + TREFFER_OHNE_WIRKUNG = 11 + }; + + static const double SCALE_UNDEFINED; + + ///////////////////////////////////////////////// + // Additional Symbol data + ///////////////////////////////////////////////// + + struct vbg_struct { + vbg_et vbg = EINSATZBEREIT; + QColor color; + }; + + struct modifier_struct { + bool manipulation = false; + bool noPosition = false; + bool byteError = false; + + bool hasNoPosition() const { return this->noPosition; } + bool hasManipulation() const { return this->manipulation; } + bool hasByteError() const { return this->byteError; } + void setNoPosition(bool noPosition) { this->noPosition = noPosition; } + void setManipulation(bool manipulation) { this->manipulation = manipulation; } + void setByteError(bool byteError) { this->byteError = byteError; } + + // nbcProtection was added in 2020. + // At the age of Geisir, it was not covered be XML-Symbol. + // It was drawn as Geisir primitive. So add it now + bool nbcProtection = false; + bool hasNbcProtection() const { return this->nbcProtection; } + void setNbcProtection(bool onOff) { this->nbcProtection = onOff; } + }; + + struct AdditionalSymbolData { + t_state m_state = SymbolTypes::STATE_UNDEFINED; + t_uncertainty m_uncertainty = SymbolTypes::UNCERTAINTY_UNDEFINED; + t_filltype m_filltype = SymbolTypes::FILLTYPE_UNDEFINED; + double m_scale = SymbolTypes::SCALE_UNDEFINED; + vbg_struct m_vbg; + modifier_struct m_modifier; + int m_rotationAngle = 0; // degree, counterclockwise + + SYMBOLOGY_XML_EXPORT QByteArray createKey() const; + + }; // class AdditionalSymbolData + + ///////////////////////////////////////////////// + + const AttributeData * getDimen() const; + const AttributeData * getAffil() const; + const AttributeData * getBcdab() const; + const AttributeData * getCommandLevel() const; + const AttributeData * getMob() const; + + const AttributeData * getIconType() const; + const AttributeData * getSectorPosition() const; + const AttributeData * getSectorRectpos() const; + const AttributeDataSectorIcon* getSectorIcon() const; + + const AttributeData * getBranch() const; + const AttributeData * getIntrinsicMob() const; + const AttributeData * getVehicle() const; + const AttributeData * getArming() const; + const AttributeData * getMisc() const; + +}; // class SymbolTypes + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.cpp b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.cpp new file mode 100755 index 000000000..65342e7f0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.cpp @@ -0,0 +1,313 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#include "symbol_writer.h" +#include "primitive.h" +#include "attribute_data.h" + +#include +#include +#include + +namespace SymbologyXML +{ + +SymbolWriter::SymbolWriter() + : logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("AdvSymbologyXML.SymbolWriter")) +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; +} // SymbolWriter::SymbolWriter() + +bool SymbolWriter::toFile(const Symbol &symbol, QFile *file, t_attFilterPrimitive attributeFilter) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + if (!file->isOpen() && !file->open(QIODevice::WriteOnly)) + { + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return false; + } + file->write(toString(symbol, attributeFilter)); + file->close(); + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return true; +} // bool SymbolWriter::toFile(const Symbol& symbol, QFile* file, t_attFilterPrimitive attributeFilter) + + +QByteArray SymbolWriter::toString(const Symbol& symbol, t_attFilterPrimitive attributeFilter) const +{ + DEBUG_LOG(logger) << LOGFUNCTION ; + + QByteArray xml; + QXmlStreamWriter sw(&xml); + sw.setAutoFormatting(true); + sw.setAutoFormattingIndent(2); + sw.writeStartDocument(QStringLiteral("1.0"), true); + sw.writeDTD(QStringLiteral("")); + sw.writeStartElement(QStringLiteral("symbol")); + sw.writeAttribute(QStringLiteral("version"), QString::fromLatin1(Symbol::SymbolVersion)); + + // Tag symbol, attribute id + sw.writeAttribute(QStringLiteral("id"), QString::number(symbol.id())); + + // Tag symbol, attribute dimen + sw.writeAttribute(QStringLiteral("dimen"), SymbolTypes::instance()->getDimen()->convert_enum2str(symbol.getDimen())); + + // Tag symbol, attribute affil + sw.writeAttribute(QStringLiteral("affil"), SymbolTypes::instance()->getAffil()->convert_enum2str(symbol.getAffil())); + + // Tag symbol, attribute transformed + sw.writeAttribute(QStringLiteral("transformed"), symbol.transformed() ? QStringLiteral("1") : QStringLiteral("0")); + + // Tag symbol, attribute bcdab + sw.writeAttribute(QStringLiteral("bcdab"), SymbolTypes::instance()->getBcdab()->convert_enum2str(symbol.getBcdab())); + + // Tag symbol, attribute command_level + sw.writeAttribute(QStringLiteral("command_level"), SymbolTypes::instance()->getCommandLevel()->convert_enum2str(symbol.getCommandLevel())); + + // Tag symbol, attribute headquarter + sw.writeAttribute(QStringLiteral("headquarter"), symbol.getHeadquarter() ? QStringLiteral("true") : QStringLiteral("false")); + + // Tag symbol, attribute mob + sw.writeAttribute(QStringLiteral("mob"), SymbolTypes::instance()->getMob()->convert_enum2str(symbol.getMob())); + + // Tag symbol, attribute vehicle + sw.writeAttribute(QStringLiteral("vehicle"), SymbolTypes::instance()->getVehicle()->convert_enum2str(symbol.getVehicle())); + + // Tag symbol, attribute intrinsicmob + sw.writeAttribute(QStringLiteral("intrinsicmob"), SymbolTypes::instance()->getIntrinsicMob()->convert_enum2str(symbol.getIntrinsicMob())); + + // Tag symbol, attribute arming + sw.writeAttribute(QStringLiteral("arming"), SymbolTypes::instance()->getArming()->convert_enum2str(symbol.getArming())); + + // Tag name + sw.writeTextElement(QStringLiteral("name"), symbol.getName()); + + // Tag APP6 class + { + sw.writeStartElement(QStringLiteral("app6class")); + sw.writeAttribute(QStringLiteral("classname"), symbol.getClassName()); + sw.writeAttribute(QStringLiteral("classhierarchy"), symbol.getClassHierarchy()); + sw.writeAttribute(QStringLiteral("classcodeid"), symbol.getClassCodeId()); + sw.writeEndElement(); + } + + // Tag(s) misc with attribute class + { + NGL::BitSet misc = symbol.getMiscTags(); + QVectorIterator it = SymbolTypes::instance()->getMisc()->getIterator(); + SymbolTypes::t_misc val; + while (it.hasNext()) + { + val = it.next(); + if (misc[val]) + { + sw.writeStartElement(QStringLiteral("misc")); + sw.writeAttribute(QStringLiteral("class"), SymbolTypes::instance()->getMisc()->convert_enum2str(val)); + sw.writeEndElement(); + } + } + } + + { + // Tag(s) branch with attribute class + NGL::BitSet branches = symbol.getBranchTags(); + QVectorIterator it = SymbolTypes::instance()->getBranch()->getIterator(); + SymbolTypes::t_branch val; + while (it.hasNext()) + { + val = it.next(); + if (branches[val]) + { + sw.writeStartElement(QStringLiteral("branch")); + sw.writeAttribute(QStringLiteral("class"), SymbolTypes::instance()->getBranch()->convert_enum2str(val)); + sw.writeEndElement(); + } + } + } + + // Tag text with attribute maxdatalength + Symbol::t_text textType = symbol.getTextType(); + if (textType != Symbol::TEXT_UNDEFINED) + { + sw.writeStartElement(QStringLiteral("text%1").arg(textType)); + sw.writeAttribute(QStringLiteral("maxdatalength"), QString::number(symbol.maxStringLength())); + // Add tag data with attribute align to text + for (int i = Symbol::TEXT1; i <= symbol.getTextType(); ++i) + { + sw.writeStartElement(QStringLiteral("data")); + switch (symbol.getTextAlign(i)) + { + case Symbol::LEFT: + sw.writeAttribute(QStringLiteral("align"), QStringLiteral("left")); + break; + case Symbol::ALIGNMENT_UNDEFINED: + case Symbol::CENTER: + sw.writeAttribute(QStringLiteral("align"), QStringLiteral("center")); + break; + case Symbol::RIGHT: + sw.writeAttribute(QStringLiteral("align"), QStringLiteral("right")); + break; + } + sw.writeCharacters(symbol.getText(i)); + sw.writeEndElement(); // data + } + sw.writeEndElement(); // text%1 + } + // Tag graphic with attribute scale + { + sw.writeStartElement(QStringLiteral("graphic")); + sw.writeAttribute(QStringLiteral("scale"), QString::number(symbol.getScale())); + for (Primitive* primitive : symbol.getPrimitives()) + primitiveToString(sw, primitive, attributeFilter); + sw.writeEndElement(); + } + sw.writeEndElement(); // symbol + + DEBUG_LOG(logger) << "END " << LOGFUNCTION ; + return xml; +} // QString SymbolWriter::toString(const Symbol& symbol, t_attFilterPrimitive attributeFilter) + +static inline QString lineStyle2String(const Primitive *p) +{ + switch (p->getLineStyle()) + { + case Primitive::DASHED_DOTTED: + return QStringLiteral("dashed_dotted"); + case Primitive::DOTTED: + return QStringLiteral("dotted"); + case Primitive::DASHED: + return QStringLiteral("dashed"); + case Primitive::SOLID: + return QStringLiteral("solid"); + } + return QStringLiteral("solid"); +} + +static inline QString color2Name(const Primitive *p) +{ + const QColor pColor = p->getColor(); + // why not pColor.name(QColor::HexArgb) ? + return pColor.name() + QString::number(pColor.alpha(), 16); +} + +static inline bool isNotFiltered(SymbolWriter::t_attFilterPrimitive attributeFilter, + SymbolWriter::t_attFilterPrimitive attr) +{ + return (attributeFilter & attr) == 0; +} + +void SymbolWriter::writePrimitiveAttributes(QXmlStreamWriter &sw, const Primitive *p, t_attFilterPrimitive attributeFilter) +{ + if (isNotFiltered(attributeFilter, AFP_TRANSFORM)) + sw.writeAttribute(QStringLiteral("transform"), p->getTransform() ? QStringLiteral("true") : QStringLiteral("false")); + if (isNotFiltered(attributeFilter, AFP_ROTATE)) + sw.writeAttribute(QStringLiteral("rotate"), QString::number(p->getRotation())); + if (isNotFiltered(attributeFilter, AFP_COLOR)) + sw.writeAttribute(QStringLiteral("color"), color2Name(p)); + if (isNotFiltered(attributeFilter, AFP_LINEWIDTH)) + sw.writeAttribute(QStringLiteral("linewidth"), QString::number(p->getLineWidth())); + if (isNotFiltered(attributeFilter, AFP_LINESTYLE)) + sw.writeAttribute(QStringLiteral("linestyle"), lineStyle2String(p)); + + if (p->type() == Primitive::ELLIPSE || + p->type() == Primitive::POLYGON || + p->type() == Primitive::RECT) + { + if (isNotFiltered(attributeFilter, AFP_CLOSED)) + sw.writeAttribute(QStringLiteral("closed"), QString::number(p->closed())); + if (isNotFiltered(attributeFilter, AFP_FILL)) + sw.writeAttribute(QStringLiteral("fill"), QString::number(p->fill())); + } + + if (p->type() == Primitive::ELLIPSE) + { + if (isNotFiltered(attributeFilter, AFP_START)) + sw.writeAttribute(QStringLiteral("start"), QString::number(p->getStartAngle())); + if (isNotFiltered(attributeFilter, AFP_EXTENT)) + sw.writeAttribute(QStringLiteral("extent"), QString::number(p->getExtent())); + } + + if (p->type() == Primitive::ICON) + { + sw.writeAttribute(QStringLiteral("id"), QString::number(p->icon())); + sw.writeAttribute(QStringLiteral("icon_type"), SymbolTypes::instance()->getIconType()->convert_enum2str(p->iconType())); + sw.writeAttribute(QStringLiteral("position"), SymbolTypes::instance()->getSectorPosition()->convert_enum2str(p->position())); + + if((p->rectpos() != SymbolTypes::SECTOR_RECTPOS_UNDEFINED) && + (p->rectpos() != SymbolTypes::SECTOR_RECTPOS_DEFAULT)) + sw.writeAttribute(QStringLiteral("rectpos"), SymbolTypes::instance()->getSectorRectpos()->convert_enum2str(p->rectpos())); + + if (p->scalemode() == Primitive::Scalemode_Unproport) + sw.writeAttribute(QStringLiteral("scalemode"), Primitive::scalemode(p->scalemode())); + } + if (p->type() == Primitive::TEXT) + { + // split p->text() in two strings: + const auto strL = p->text().split(QLatin1Char('\n')); + if (strL.size() > 0) + sw.writeAttribute(QStringLiteral("sval1"), strL.at(0)); + if (strL.size() > 1) + sw.writeAttribute(QStringLiteral("sval2"), strL.at(1)); + } +} + +void SymbolWriter::primitiveToString(QXmlStreamWriter &sw, const Primitive *p, t_attFilterPrimitive attributeFilter) +{ + // Fill in data from primitive into templates + switch (p->type()) + { + case Primitive::LINE: + sw.writeStartElement(QStringLiteral("line")); + break; + case Primitive::ELLIPSE: + sw.writeStartElement(QStringLiteral("ellipse")); + break; + case Primitive::POLYGON: + sw.writeStartElement(QStringLiteral("polygon")); + break; + case Primitive::RECT: + sw.writeStartElement(QStringLiteral("rect")); + break; + case Primitive::ICON: + sw.writeStartElement(QStringLiteral("icon")); + break; + case Primitive::TEXT: + sw.writeStartElement(QStringLiteral("text")); + break; + default: + Q_ASSERT(false); + return; + } + writePrimitiveAttributes(sw, p, attributeFilter); + + // Create point-tags and insert into primitive-tag + const QPolygonF pointList = p->getPoints(); + // specials for Primitive::ICON + bool ignorePoints = false; + if (p->type() == Primitive::ICON && pointList.size() == 2) + { + const QRectF rect = QRectF(pointList.at(0), pointList.at(1)); + if (rect == SymbolTypes::getDefaultRect(p->position(), p->rectpos())) + ignorePoints = true; + } + + if (!ignorePoints) + { + for (const QPointF &pLocal : pointList) + { + sw.writeStartElement(QStringLiteral("point")); + sw.writeAttribute(QStringLiteral("x"), QString::number(pLocal.x())); + sw.writeAttribute(QStringLiteral("y"), QString::number(pLocal.y())); + sw.writeEndElement(); + } + } + sw.writeEndElement(); +} // QString SymbolWriter::primitiveToString (Primitive* p, t_attFilterPrimitive attributeFilter) + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.h new file mode 100755 index 000000000..ff4b698d9 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbol_writer.h @@ -0,0 +1,88 @@ +/** + * @RDE_HEADER@ + * $Id$ + * $HeadURL$ + * $Author$ + */ + +#pragma once + +#include "symbology_xml_export.h" +#include "symbol.h" + +#include + +#include + +class QFile; +class QXmlStreamWriter; + +namespace SymbologyXML +{ +class Primitive; + +/** + \brief Write a Symbol to a XML-String of XML-File. + + This class generates a full XML-Description of a given Symbol. A Symbols + XML-Description can either be written to a File or to a String for storing it + into whatever media intended. For reading a Symbol back from XML, use + SymbolReader. + + @author Stephan Kuhagen +*/ +class SYMBOLOGY_XML_EXPORT SymbolWriter +{ +public: + SymbolWriter(); + ~SymbolWriter() = default; + Q_DISABLE_COPY(SymbolWriter) + + /** + Filter-Bits for Primitive-Attributes. Defines the Attributes, that should + not be saved. + */ + enum t_attFilterPrimitive { + AFP_NO_FILTER = 0, + AFP_CLOSED = 1, + AFP_COLOR = 2, + AFP_EXTENT = 4, + AFP_FILL = 8, + AFP_LINESTYLE = 16, + AFP_LINEWIDTH = 32, + AFP_ROTATE = 64, + AFP_START = 128, + AFP_TRANSFORM = 256 + }; + + /** + Write a symbols XML-representation into a QString + \param symbol: The Symbol + \param attributeFilter: Filter-Mask for Attributes. \see(t_attFilterPrimitive) + \return A QString containing the Symbols XML-description + */ + QByteArray toString(const Symbol& symbol, t_attFilterPrimitive attributeFilter = AFP_NO_FILTER) const; + + /** + Write a symbols XML-representation into a File + \param symbol: The Symbol + \param file: The file to write into + \return True on success, false otherwise + */ + bool toFile(const Symbol &symbol, QFile *file, t_attFilterPrimitive attributeFilter = AFP_NO_FILTER) const; + +private: + //! NGLLogger + NGL::INGLLogger& logger; + + /** + Create a string from a primitive. + \param p: Pointer to the primitive + \param attributeFilter: Filter-Mask for Attributes. \see(t_attFilterPrimitive) + \return The primitive as xml-string + */ + static void primitiveToString(QXmlStreamWriter &sw, const Primitive *p, t_attFilterPrimitive attributeFilter); + static void writePrimitiveAttributes(QXmlStreamWriter &sw, const Primitive *p, t_attFilterPrimitive attributeFilter); +}; // class SymbolWriter + +} // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbole.dtd b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbole.dtd new file mode 100755 index 000000000..6647e591b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbole.dtd @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbology_xml_export.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbology_xml_export.h new file mode 100755 index 000000000..716750e4b --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/symbology_xml_export.h @@ -0,0 +1,22 @@ +/** + * Export definitions + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef SYMBOLOGY_XML_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define SYMBOLOGY_XML_EXPORT +# else +# ifdef MAKE_ADVANCEDSYMBOLOGYXML_LIB +# define SYMBOLOGY_XML_EXPORT Q_DECL_EXPORT +# else +# define SYMBOLOGY_XML_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif + diff --git a/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/xml_symbol_codec.h b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/xml_symbol_codec.h new file mode 100755 index 000000000..82381fbaa --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/Lts/Viewer/SituationMap/SymbologyXML/xml_symbol_codec.h @@ -0,0 +1,127 @@ +/** +** +** @RDE_HEADER@ +** Implementation of dialog to modify xml symbols +** $Id$ +** $HeadURL$ +** $Author$ +** +** ----------------------------------------------------------------------------------------------- +** +** Hardware-Environment: Intel-PC +** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5 +** +** Language ........: C++ 11 +** +** ----------------------------------------------------------------------------------------------- +** +** Author ...........: Jörg Turla, SPD G, Tel. 3132 +** +** ----------------------------------------------------------------------------------------------- +** +** Notes .........: +** +** 09.01.2018, JT : First edition for use with Qt5 +** +** ----------------------------------------------------------------------------------------------- +*/ + + +#pragma once + + +#include "symbology_xml_export.h" + +#include "symbol_types.h" + +#include +#include + +/** + * \brief The SidcCodec namespace enables the encoding and decoding of a (base) symbol id of xml symbols. + * The completly encoded id concists of the base symbol id and additional information like state, uncertainty + * affiliation and mobility which are coded as numbers. As separator and '-' is used. The completly encoded + * symbol id is used in AdvancedSymbology::SymbolDictionary as SIDC to store the symbol. + * @see SymbolDictionary, SidcCodec + * + */ +namespace SymbologyXML +{ + /** + * Functions to encode a symbol id. + * @{ + */ + inline + QString xmlSymbolEncodeId( uint baseId + , SymbolTypes::t_state state + , SymbolTypes::t_uncertainty uncertainty + , SymbolTypes::t_affil affil + , SymbolTypes::t_mob mob) + { + return QStringLiteral("%1-%2-%3-%4-%5").arg(baseId).arg(int(state)).arg(int(uncertainty)).arg(int(affil)).arg(int(mob)); + } // QString xmlSymbolEncodeId(...) + + + inline + QString xmlSymbolEncodeId( const QString &baseId + , SymbolTypes::t_state state + , SymbolTypes::t_uncertainty uncertainty + , SymbolTypes::t_affil affil + , SymbolTypes::t_mob mob) + { + bool ok; + + uint baseIdInt = baseId.toUInt(&ok); + + return (ok) ? xmlSymbolEncodeId(baseIdInt,state,uncertainty,affil,mob) : QString(); + } // QString xmlSymbolEncodeId + /** @} */ + + + /** + * Functions to decode a symbol id. + * @{ + */ + inline + bool xmlSymbolDecodeId( const QString &encodedId + , QString &baseId + , SymbolTypes::t_state &state + , SymbolTypes::t_uncertainty &uncertainty + , SymbolTypes::t_affil &affil + , SymbolTypes::t_mob &mob) + { + QVector tokenVector = encodedId.splitRef( QLatin1Char('-') ); + if (tokenVector.size() == 5) + { + bool ok = false; + uint tokenCode[5]; + + for (int i = 0; i < 5; ++i) + { + tokenCode[i] = tokenVector[i].toUInt(&ok); + if (!ok) break; + } + if (ok) + { + baseId = QString::number(tokenCode[0]); + state = SymbolTypes::t_state(tokenCode[1]); + uncertainty = SymbolTypes::t_uncertainty(tokenCode[2]); + affil = SymbolTypes::t_affil(tokenCode[3]); + mob = SymbolTypes::t_mob(tokenCode[4]); + return true; + } + } + baseId = encodedId; + return false; + } // bool xmlSymbolDecodeId(...) + /** @} */ + + /** + * Function to extract the base symbol id from encoded id string. + */ + inline + QString xmlSymbolExtractBaseSidc(const QString &sidc) + { + return sidc.section( QLatin1Char('-'),0,0 ); + } +}; // namespace SymbologyXML diff --git a/qt6-after/qt6-migrated-legatus/TetraIF/CoPrtCnv/CoPrtCnvRadioTelegram.cpp b/qt6-after/qt6-migrated-legatus/TetraIF/CoPrtCnv/CoPrtCnvRadioTelegram.cpp index 9473bff5c..b08f0b457 100644 --- a/qt6-after/qt6-migrated-legatus/TetraIF/CoPrtCnv/CoPrtCnvRadioTelegram.cpp +++ b/qt6-after/qt6-migrated-legatus/TetraIF/CoPrtCnv/CoPrtCnvRadioTelegram.cpp @@ -47,8 +47,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const uint32_t a_sourceISSI) m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { @@ -66,8 +65,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const uint32_t a_sourceISSI, m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { uint16_t len = groups.size(); if (len > 5) @@ -99,8 +97,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const uint32_t a_sourceISSI, m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { @@ -125,8 +122,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const QByteArray &a_data) m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { } @@ -140,8 +136,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const gef_telegramm_id_et a_telegra m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { @@ -167,8 +162,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const E_LoginStatus a_loginTelegram m_BroadcastCounter(0), m_NextSendTime(0), m_IsBroadcastOnly(false), - m_BroadcastOnlyTelegram(nullptr), - m_logger(NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger("CoPrtCnvRadioTelegram")) + m_BroadcastOnlyTelegram(nullptr) { @@ -214,8 +208,7 @@ CoPrtCnvRadioTelegram::CoPrtCnvRadioTelegram(const std::shared_ptr +#include +#include +#include +#include +#include +#include +#include +#include "NGLLogger_export.h" + +namespace NGL +{ +class INGLLogger; +// keep in sync with log4qt/level.h +enum class LogLevel +{ + Undefined = 0, + Trace = 64, + Debug = 96, + Info = 128, + Warning = 150, + Error = 182, + Fatal = 214, +}; + +class LogStreamHelper +{ +public: + inline LogStreamHelper(INGLLogger &logger, LogLevel level, const char *const file, int line, const char *const function) + : m_logger(logger) + , m_level(level) + , m_line(line) + , m_file(file) + , m_func(function) + {} + inline ~LogStreamHelper(); // after INGLLogger class definition + + template + inline LogStreamHelper &operator<<(const T &val); + +private: + std::ostringstream m_buffer; + NGL::INGLLogger &m_logger; + const LogLevel m_level; + const int m_line; + const char *const m_file; + const char *const m_func; +}; + +// Interface class for source code logging. +// Use NGLLoggerBootstrap to create an instance of this interface. +// Look below in this headerfile for the macros with which to insert logging +// code into your source code. +// Lookup the log4cxx documentation (http://logging.apache.org/log4cxx/) for +// information on logger-hierarchies, logging-levels, and configuration files. +class INGLLogger +{ +public: + INGLLogger(const INGLLogger &) = delete; + INGLLogger &operator=(const INGLLogger &) = delete; + INGLLogger() = default; + virtual ~INGLLogger() = default; + + using String = std::string; + + // Creates an instance of an INGLLogger interface. The fullqualifiedname is + // a dottet sequence (i.e. "NGL.thisandthat.mylogger"). The same name will + // always return the same interface-instance. It is not required to create + // the parent nodes. + virtual INGLLogger &getNGLLogger(const char *fullqualifiedname) = 0; + virtual INGLLogger &getNGLLogger(const std::string &fullqualifiedname) = 0; + + + // True if this level is enabled. + virtual bool isTraceEnabled() const = 0; + virtual bool isDebugEnabled() const = 0; + virtual bool isInfoEnabled() const = 0; + virtual bool isWarningEnabled() const = 0; + virtual bool isErrorEnabled() const = 0; + virtual bool isFatalEnabled() const = 0; + virtual bool isLevelEnabled(LogLevel level) const = 0; + + // Submit a LOG message. + // Use __FILE__ and __NAME__ macros. + virtual void log(LogLevel level, const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + + // Submit an TRACE message. + virtual void logTrace(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + // Submit an DEBUG message. + virtual void logDebug(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + // Submit an INFO message. + virtual void logInfo(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + // Submit a WARNING message. + virtual void logWarning(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + // Submit an ERROR message. + virtual void logError(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + // Submit a FATAL message. + virtual void logFatal(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; + + // Writes a startup message into the logfile + virtual void logStartup(const char *file, int line, const char *function = nullptr) = 0; + // Writes a shutdown message into the logfile + virtual void logShutdown(const char *file, int line, const char *function = nullptr) = 0; + + // Get this loggers fullqualified name. + virtual std::string getLoggerName() const = 0; + + virtual void setNoSpace(bool bNoSpace) = 0; + virtual bool noSpace() const = 0; +}; + +// +// LogStreamHelper +// +inline LogStreamHelper::~LogStreamHelper() +{ + m_logger.log(m_level, m_buffer.str(), m_file, m_line, m_func); +} + +template +inline LogStreamHelper &LogStreamHelper::operator<<(const T &val) +{ + m_buffer << val; + if (!m_logger.noSpace()) + m_buffer << " "; + return *this; +} + + +} //namespace NGL + +inline std::ostream &operator<<(std::ostream &stream, const QByteArray &str) +{ + stream << std::string(str.data(), str.size()); + return stream; +} + +// +// operator to ease logging (at least via NglLogging) +// +inline std::ostream &operator<<(std::ostream &stream, + const QPointF &value) +{ + stream << "QPointF(" << QString::number(value.x(), 'f', 6).toStdString() << "#" << QString::number(value.y(), 'f', 6).toStdString() << ")"; + return stream; +} + +//---------------------------------------------------------------------------- + +inline std::ostream &operator<< (std::ostream &stream, + const QPoint &value) +{ + stream << "QPoint(" << value.x() << "#" << value.y() << ")"; + return stream; +} + +inline std::ostream &operator<< (std::ostream &stream, + const QSize &value) +{ + stream << "QSize(w=" << value.width() << ";h=" << value.height() << ")"; + return stream; +} +inline std::ostream &operator<< (std::ostream &stream, + const QSizeF &value) +{ + stream << "QSize(w=" + << QString::number(value.width(), 'f', 6).toStdString() << ";h=" + << QString::number(value.height(), 'f', 6).toStdString() + << ")"; + return stream; +} + + +inline std::ostream &operator<< (std::ostream &stream, + const QRect &value) +{ + stream << "QRect(center=" << value.center() + << " w=" << value.width() + << ";h=" << value.height() + << " bottomLeft=" << value.bottomLeft() + << " topRight=" << value.topRight() + << ")"; + return stream; +} + +inline std::ostream &operator<< (std::ostream &stream, + const QRectF &value) +{ + stream << "QRectF(center=" << value.center() + << " w=" << QString::number(value.width(), 'f', 3).toStdString() + << ";h=" << QString::number(value.height(), 'f', 3).toStdString() + << " bottomLeft=" << value.bottomLeft() + << " topRight=" << value.topRight() + << ")"; + return stream; +} + + + +inline std::ostream &operator<< (std::ostream &stream, + const QList &value) +{ + stream << "QList(" << value.size() << "): "; + for (int i : value) + stream << i << ";"; + return stream; +} + + +inline std::ostream &operator<< (std::ostream &stream, + const QList &value) +{ + stream << "QList(" << value.size() << "): "; + for (const QPointF &item : value) + stream << item << ";"; + return stream; +} + + +inline std::ostream &operator<<(std::ostream &stream, const QString &str) +{ + return stream << str.toUtf8(); +} + +namespace NGL +{ + +namespace NGLLoggerHelper +{ +NGLLOGGER_EXPORT void hexDumpHelper(NGL::INGLLogger &logger, + NGL::LogLevel level, + const void *a_data, + const unsigned int a_size); +inline void hexDumpHelper(NGL::INGLLogger &logger, + NGL::LogLevel level, + const QByteArray &data) +{ + return hexDumpHelper(logger, level, data.data(), data.size()); +} +} // namespace NGLLoggerHelper + +NGLLOGGER_EXPORT NGL::INGLLogger& getMemoryLogger(); +NGLLOGGER_EXPORT std::string getMemoryData(); + +} // namespace NGL + +//============================================================================== +// macros +//============================================================================== + +#define LOGFUNCTION Q_FUNC_INFO + +// log this output every time, no matter what log level is enabled +#define NOTICE_LOG(logger) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) + +#ifdef LTS_DEBUG +#define TRACE_LOG(logger) \ + for (bool log_level_enabled = (logger).isTraceEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Trace, __FILE__,__LINE__, Q_FUNC_INFO) +#else +#define TRACE_LOG(logger) \ + for ( ; false; ) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Trace, __FILE__,__LINE__, Q_FUNC_INFO) +#endif + +#define DEBUG_LOG(logger) \ + for (bool log_level_enabled = (logger).isDebugEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Debug, __FILE__,__LINE__, Q_FUNC_INFO) + +#define INFO_LOG(logger) \ + for (bool log_level_enabled = (logger).isInfoEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) + +#define WARNING_LOG(logger) \ + for (bool log_level_enabled = (logger).isWarningEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Warning, __FILE__,__LINE__, Q_FUNC_INFO) + +#define ERROR_LOG(logger) \ + for (bool log_level_enabled = (logger).isErrorEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Error, __FILE__,__LINE__, Q_FUNC_INFO) + +#define FATAL_LOG(logger) \ + for (bool log_level_enabled = (logger).isFatalEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Fatal, __FILE__,__LINE__, Q_FUNC_INFO) + +#define STARTUP_LOG(logger) { (logger).logStartup(__FILE__, __LINE__, Q_FUNC_INFO); } +#define SHUTDOWN_LOG(logger) { (logger).logShutdown(__FILE__, __LINE__, Q_FUNC_INFO); } + +//============================================================================== + +// use like: +// MEMORY_LOG() << " before something nasty"; +// do something nasty +// MEMORY_LOG() << " after something nasty"; + +#define MEMORY_LOG() \ + for (bool log_level_enabled = (NGL::getMemoryLogger()).isInfoEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) << NGL::getMemoryData() + +//============================================================================== diff --git a/qt6-after/qt6-migrated-legatus/cmake/FindRTI.cmake b/qt6-after/qt6-migrated-legatus/cmake/FindRTI.cmake index 84a5485d6..63821b87c 100755 --- a/qt6-after/qt6-migrated-legatus/cmake/FindRTI.cmake +++ b/qt6-after/qt6-migrated-legatus/cmake/FindRTI.cmake @@ -126,6 +126,27 @@ IF(NOT RTI_INCLUDE_DIR) message(WARNING "Skipping RTI include search because RTI installation was not found") set(RTI_INCLUDE_DIR "") set(RTI_INCLUDE_DIRS "" CACHE STRING "RTI include directories" FORCE) + + # Create placeholder INTERFACE targets for all RTI libraries when RTI is not installed + # These allow configuration to succeed but will cause link errors if actually used + SET(_RTI_LIBS nddscore nddsc nddscpp2 rtiroutingservice) + FOREACH(_lib ${_RTI_LIBS}) + SET(_tgt_name RTI::${_lib}) + IF(NOT TARGET ${_tgt_name}) + ADD_LIBRARY(${_tgt_name} INTERFACE IMPORTED) + SET_PROPERTY(TARGET ${_tgt_name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "") + # Set dummy library variables to satisfy Ninja dependency tracking + SET(RTI_${_lib}_LIBRARY "" CACHE STRING "RTI ${_lib} library (placeholder)" FORCE) + SET(RTI_${_lib}_LIBRARY_RELEASE "" CACHE STRING "RTI ${_lib} library release (placeholder)" FORCE) + SET(RTI_${_lib}_LIBRARY_DEBUG "" CACHE STRING "RTI ${_lib} library debug (placeholder)" FORCE) + ENDIF() + ENDFOREACH() + SET(RTI_LIBRARIES "" CACHE STRING "All rti libraries (placeholder)" FORCE) + SET(RTI_FOUND FALSE CACHE BOOL "RTI not found" FORCE) + # Force BUILD_RTI to OFF when RTI is not actually installed + SET(BUILD_RTI OFF CACHE BOOL "Build with RTI support" FORCE) + MESSAGE(WARNING "RTI not found - disabling BUILD_RTI. Set DDS_PATH to RTI installation to enable RTI features.") + return() else() FIND_PATH(RTI_INCLUDE_DIR ndds/ndds_cpp.h HINTS ${_rti_include_hint}) IF(RTI_INCLUDE_DIR) diff --git a/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake b/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake index cfec3d4ba..7e85d8104 100755 --- a/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake +++ b/qt6-after/qt6-migrated-legatus/cmake/NGLMacros.cmake @@ -590,15 +590,15 @@ MACRO(NGL_ADD_BIG_RESOURCES) # Qt6 path: use qt6_add_resources if(TARGET Qt6::Core) qt6_add_resources(${ARGN}) - return() + # Note: Removed return() as it exits the calling CMakeLists.txt file + else() + GET_PROPERTY(ipo_active VARIABLE PROPERTY CMAKE_INTERPROCEDURAL_OPTIMIZATION) + IF(CMAKE_VERSION VERSION_GREATER 3.8.99 AND Qt6Core_VERSION VERSION_GREATER 5.12.99 AND NOT WIN32 AND NOT ipo_active) + QT5_ADD_BIG_RESOURCES(${ARGN}) + ELSE() + QT5_ADD_RESOURCES(${ARGN}) + ENDIF() endif() - - GET_PROPERTY(ipo_active VARIABLE PROPERTY CMAKE_INTERPROCEDURAL_OPTIMIZATION) - IF(CMAKE_VERSION VERSION_GREATER 3.8.99 AND Qt6Core_VERSION VERSION_GREATER 5.12.99 AND NOT WIN32 AND NOT ipo_active) - QT5_ADD_BIG_RESOURCES(${ARGN}) - ELSE() - QT5_ADD_RESOURCES(${ARGN}) - ENDIF() ENDMACRO() diff --git a/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h b/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h index 6c37de89e..31cf14ea8 100755 --- a/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h +++ b/qt6-after/qt6-migrated-legatus/include/AdlerJson/aes_handler.h @@ -20,9 +20,9 @@ #include #include #include -#include +#include +#include #include -#include namespace AdlerJson { diff --git a/qt6-after/qt6-migrated-legatus/include/AdlerJson/json_dispatcher.h b/qt6-after/qt6-migrated-legatus/include/AdlerJson/json_dispatcher.h index 186bc7d60..dbdb9325d 100755 --- a/qt6-after/qt6-migrated-legatus/include/AdlerJson/json_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/include/AdlerJson/json_dispatcher.h @@ -13,7 +13,7 @@ #include #include #include -#include // tr_lts +#include // tr_lts #include // #include "logger.h" #include "aes_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/include/AdlerJson/main_dispatcher.h b/qt6-after/qt6-migrated-legatus/include/AdlerJson/main_dispatcher.h index f8ab7a37d..d7fc593e0 100755 --- a/qt6-after/qt6-migrated-legatus/include/AdlerJson/main_dispatcher.h +++ b/qt6-after/qt6-migrated-legatus/include/AdlerJson/main_dispatcher.h @@ -11,7 +11,7 @@ #include #include -#include // tr_lts +#include // tr_lts #include //#include "logger.h" #include "ppm_handler.h" diff --git a/qt6-after/qt6-migrated-legatus/include/AdlerJson/ppm_handler.h b/qt6-after/qt6-migrated-legatus/include/AdlerJson/ppm_handler.h index 6791ef072..0df066c5e 100755 --- a/qt6-after/qt6-migrated-legatus/include/AdlerJson/ppm_handler.h +++ b/qt6-after/qt6-migrated-legatus/include/AdlerJson/ppm_handler.h @@ -13,7 +13,7 @@ #include "main_dispatcher.h" #include "logger.h" #include -#include +#include #include #include #include diff --git a/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes.hpp b/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes.hpp deleted file mode 100644 index e76b1f92c..000000000 --- a/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes.hpp +++ /dev/null @@ -1,74 +0,0 @@ -#pragma once -// STUB-HEADER: Diese Datei wird normalerweise von DDS generiert -// Für die Migration erstellen wir minimale Typ-Definitionen - -#include -#include -#include - -namespace AreaEffectSimulation -{ - -// Forward declarations -struct ExplosionSingle; -struct EffectCluster; -struct AirSupportImpact; -struct OffRouteMine; -struct TrajectoryAdler; - -// ExplosionSingle - Einzelne Explosion -struct ExplosionSingle { - int id = 0; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double radius = 0.0; - double damage = 0.0; - qint64 timestamp = 0; - QString type; -}; - -// EffectCluster - Gruppe von Effekten -struct EffectCluster { - int id = 0; - QString name; - double x = 0.0; - double y = 0.0; - double z = 0.0; - QList effectIds; - qint64 timestamp = 0; -}; - -// AirSupportImpact - Luftunterstützungseffekt -struct AirSupportImpact { - int id = 0; - double x = 0.0; - double y = 0.0; - double z = 0.0; - QString aircraftType; - QString weaponType; - qint64 timestamp = 0; -}; - -// OffRouteMine - Abseits-Mine -struct OffRouteMine { - int id = 0; - double x = 0.0; - double y = 0.0; - double z = 0.0; - bool active = true; - QString mineType; - qint64 timestamp = 0; -}; - -// TrajectoryAdler - Flugbahn für Adler -struct TrajectoryAdler { - int id = 0; - QList xPoints; - QList yPoints; - QList zPoints; - qint64 timestamp = 0; - QString trajectoryType; -}; - -} // namespace AreaEffectSimulation \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes_enums.hpp b/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes_enums.hpp deleted file mode 100644 index 754b0309a..000000000 --- a/qt6-after/qt6-migrated-legatus/include/AreaEffectSimulation/aes_enums.hpp +++ /dev/null @@ -1,71 +0,0 @@ -#pragma once -// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert -// Für die Migration erstellen wir minimale Typ-Definitionen - -#include - -namespace AreaEffectSimulation -{ -// Placeholder enums - werden durch echte DDS-Typen ersetzt -enum class SymbolAppearance : int { - Solid = 0, - Dashed = 1, - Dotted = 2 -}; - -enum class SymbolVisibility : int { - Visible = 0, - Hidden = 1 -}; - -struct UnitSymbolPosition { - double x = 0.0; - double y = 0.0; - double z = 0.0; -}; - -// AesType - Arten von Area Effect Simulation Entities -enum class AesType : int { - AtBCContamination = 0, - AtNContamination = 1, - AtDangerArea = 2, - AtMineArea = 3, - AtMineCorridor = 4, - AtExplosionSingle = 5, - AtExplosionArea = 6, - AtFunctionalArea = 7, - AtBorderline = 8, - AtMineAreaSingleMines = 9, - AtDusSingleMine = 10, - AtGasPipe = 11, - AtTechnicalArea = 12, - AtAirSupportImpact = 13, - AtUnknown = 99 -}; - -// AesEffectState_def - Status eines AES Effekts (mit _def Suffix wie DDS generiert) -enum class AesEffectState_def : int { - EsCreated = 0, - EsPrepared = 1, - EsFired = 2, - EsActivated = 3, - EsPaused = 4, - EsExpired = 5, - EsRemoved = 6, - EsUnknown = 99, - EsError = 100 -}; - -// AesEffectState - Alias für AesEffectState_def (Backward Compatibility) -using AesEffectState = AesEffectState_def; - -// EffectStateStruct - Filter-Struktur für Effect States -struct EffectStateStruct { - bool showCreated = true; - bool showPrepared = true; - bool showActive = true; - bool showInactive = false; - bool showExpired = false; -}; - -} // namespace AreaEffectSimulation diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/Core/core.hpp b/qt6-after/qt6-migrated-legatus/include/DDS/Core/core.hpp new file mode 100644 index 000000000..6b3bf5fdf --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/DDS/Core/core.hpp @@ -0,0 +1,12 @@ +/** + * @file core.hpp + * @brief Core DDS Sammel-Header + * + * Beinhaltet alle Core-Typen für DDS-Integration. + */ + +#pragma once + +#include +#include +#include \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/DDS/Core/core_dtc_types.h b/qt6-after/qt6-migrated-legatus/include/DDS/Core/core_dtc_types.h new file mode 100644 index 000000000..952d062bd --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/DDS/Core/core_dtc_types.h @@ -0,0 +1,51 @@ +/** + * @file core_dtc_types.h + * @brief DDS-Stub für Core-Typen (DTC = Data Transfer Component) + * + * Dieser Header enthält Stub-Definitionen für DDS-Core-Typen, die von RTI DDS generiert werden würden. + */ + +#pragma once + +#include + +namespace IDL +{ + +enum class PartitionType +{ + Any = 0, + Live = 1, + Replay = 2, + Record = 3, + Gateway = 4 +}; + +} // namespace IDL + +namespace Core +{ + +class ReplayPartition +{ +public: + ReplayPartition() = default; + + int domainId() const { return m_domainId; } + int id() const { return m_id; } + int exerciseId() const { return m_exerciseId; } + QString tcpConnectionUrl() const { return m_tcpConnectionUrl; } + + void setDomainId(int id) { m_domainId = id; } + void setId(int id) { m_id = id; } + void setExerciseId(int id) { m_exerciseId = id; } + void setTcpConnectionUrl(const QString &url) { m_tcpConnectionUrl = url; } + +private: + int m_domainId = -1; + int m_id = 0; + int m_exerciseId = 0; + QString m_tcpConnectionUrl; +}; + +} // namespace Core \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/FilterManagement/flt_ftc.h b/qt6-after/qt6-migrated-legatus/include/FilterManagement/flt_ftc.h index 8c2f31154..cb23f6676 100644 --- a/qt6-after/qt6-migrated-legatus/include/FilterManagement/flt_ftc.h +++ b/qt6-after/qt6-migrated-legatus/include/FilterManagement/flt_ftc.h @@ -14,6 +14,7 @@ #include #include #include +#include namespace rti { namespace core { @@ -57,7 +58,7 @@ public: // Content getter/setter (wird von symbol_appearance_settings_impl.cpp verwendet) QString content() const { return m_content; } - void content(const QString &c) { m_content = c; } + void setContent(const QString &c) { m_content = c; } private: QString m_name; diff --git a/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism.hpp b/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism.hpp index 401cd2954..161fbf4ae 100644 --- a/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism.hpp +++ b/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism.hpp @@ -11,6 +11,7 @@ #include #include #include "InfrastructureManagement/ism_enums.hpp" +#include "ParticipantManagement/ppm.hpp" namespace InfrastructureManagement { diff --git a/qt6-after/qt6-migrated-legatus/include/Lts/Common/ProjectConfig/project_defines.h b/qt6-after/qt6-migrated-legatus/include/Lts/Common/ProjectConfig/project_defines.h new file mode 100755 index 000000000..2c7bcb3fc --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/Lts/Common/ProjectConfig/project_defines.h @@ -0,0 +1,73 @@ + + + +#pragma once + +#include +#include + +namespace IDL +{ +enum class PartitionType +{ + Any, + Global, + Exercise, + AllExercises, + Replay, +}; + +inline std::string toStdString(PartitionType pt) +{ + switch (pt) + { + case PartitionType::Any: + return "Any"; + case PartitionType::Global: + return "Global"; + case PartitionType::Exercise: + return "Exercise"; + case PartitionType::AllExercises: + return "AllExercises"; + case PartitionType::Replay: + return "Replay"; + } + return std::string("invalid:") + std::to_string(static_cast(pt)); +} + +inline std::ostream& operator <<(std::ostream &o, PartitionType pt) +{ + + switch (pt) + { + case PartitionType::Any: + case PartitionType::Global: + case PartitionType::Exercise: + case PartitionType::AllExercises: + case PartitionType::Replay: + return o << std::string("PartitionType::") + toStdString(pt); + default: + return o << std::to_string(static_cast(pt)); + } +} + + + +inline std::string exercisePartition(int exerciseId) +{ + if (exerciseId < 0) + return { "ex_*" }; + return std::string("ex_") + std::to_string(exerciseId); +} + + + +inline std::string replayPartition(int partitionId) +{ + if (partitionId < 0) + return { "srp_*" }; + return std::string("srp_") + std::to_string(partitionId); +} + +} + diff --git a/qt6-after/qt6-migrated-legatus/include/LtsSession/ltssessiondata_export.h b/qt6-after/qt6-migrated-legatus/include/LtsSession/ltssessiondata_export.h new file mode 100644 index 000000000..6bc3a6bf0 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/LtsSession/ltssessiondata_export.h @@ -0,0 +1,21 @@ +/** + * Export definitions for LtsSessionData + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef LTSSESSIONDATA_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define LTSSESSIONDATA_EXPORT +# else +# if defined(MAKE_LTSESSIONDATA_LIB) +# define LTSSESSIONDATA_EXPORT Q_DECL_EXPORT +# else +# define LTSSESSIONDATA_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/NGLLogger/INGLLogger.h b/qt6-after/qt6-migrated-legatus/include/NGLLogger/INGLLogger.h index 6619f6bd3..bbdab6277 100755 --- a/qt6-after/qt6-migrated-legatus/include/NGLLogger/INGLLogger.h +++ b/qt6-after/qt6-migrated-legatus/include/NGLLogger/INGLLogger.h @@ -1,27 +1,26 @@ - - +/** + * Logger interface + * $Id$ + * $HeadURL$ + * $Author$ + */ #pragma once #include #include -#include #include #include #include #include #include #include -#ifdef BUILDING_NGLLOGGER -#include "ngllogger_export.h" -#else -#define NGLLOGGER_EXPORT -#endif +#include "NGLLogger_export.h" namespace NGL { class INGLLogger; - +// keep in sync with log4qt/level.h enum class LogLevel { Undefined = 0, @@ -33,13 +32,6 @@ enum class LogLevel Fatal = 214, }; -// Helper to stream enum classes as integers -template>> -inline std::ostream &operator<<(std::ostream &os, T value) -{ - return os << static_cast>(value); -} - class LogStreamHelper { public: @@ -50,26 +42,26 @@ public: , m_file(file) , m_func(function) {} - inline ~LogStreamHelper(); + inline ~LogStreamHelper(); // after INGLLogger class definition template inline LogStreamHelper &operator<<(const T &val); private: - INGLLogger &m_logger; std::ostringstream m_buffer; + NGL::INGLLogger &m_logger; const LogLevel m_level; const int m_line; const char *const m_file; const char *const m_func; }; - - - - - - +// Interface class for source code logging. +// Use NGLLoggerBootstrap to create an instance of this interface. +// Look below in this headerfile for the macros with which to insert logging +// code into your source code. +// Lookup the log4cxx documentation (http://logging.apache.org/log4cxx/) for +// information on logger-hierarchies, logging-levels, and configuration files. class INGLLogger { public: @@ -80,15 +72,15 @@ public: using String = std::string; - - - - + // Creates an instance of an INGLLogger interface. The fullqualifiedname is + // a dottet sequence (i.e. "NGL.thisandthat.mylogger"). The same name will + // always return the same interface-instance. It is not required to create + // the parent nodes. virtual INGLLogger &getNGLLogger(const char *fullqualifiedname) = 0; virtual INGLLogger &getNGLLogger(const std::string &fullqualifiedname) = 0; - + // True if this level is enabled. virtual bool isTraceEnabled() const = 0; virtual bool isDebugEnabled() const = 0; virtual bool isInfoEnabled() const = 0; @@ -97,38 +89,38 @@ public: virtual bool isFatalEnabled() const = 0; virtual bool isLevelEnabled(LogLevel level) const = 0; - - + // Submit a LOG message. + // Use __FILE__ and __NAME__ macros. virtual void log(LogLevel level, const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit an TRACE message. virtual void logTrace(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit an DEBUG message. virtual void logDebug(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit an INFO message. virtual void logInfo(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit a WARNING message. virtual void logWarning(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit an ERROR message. virtual void logError(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Submit a FATAL message. virtual void logFatal(const INGLLogger::String &message, const char *file = nullptr, int line = -1, const char *function = nullptr) = 0; - + // Writes a startup message into the logfile virtual void logStartup(const char *file, int line, const char *function = nullptr) = 0; - + // Writes a shutdown message into the logfile virtual void logShutdown(const char *file, int line, const char *function = nullptr) = 0; - + // Get this loggers fullqualified name. virtual std::string getLoggerName() const = 0; virtual void setNoSpace(bool bNoSpace) = 0; virtual bool noSpace() const = 0; }; - - - +// +// LogStreamHelper +// inline LogStreamHelper::~LogStreamHelper() { m_logger.log(m_level, m_buffer.str(), m_file, m_line, m_func); @@ -144,7 +136,7 @@ inline LogStreamHelper &LogStreamHelper::operator<<(const T &val) } -} +} //namespace NGL inline std::ostream &operator<<(std::ostream &stream, const QByteArray &str) { @@ -152,9 +144,9 @@ inline std::ostream &operator<<(std::ostream &stream, const QByteArray &str) return stream; } - - - +// +// operator to ease logging (at least via NglLogging) +// inline std::ostream &operator<<(std::ostream &stream, const QPointF &value) { @@ -162,7 +154,7 @@ inline std::ostream &operator<<(std::ostream &stream, return stream; } - +//---------------------------------------------------------------------------- inline std::ostream &operator<< (std::ostream &stream, const QPoint &value) @@ -254,62 +246,65 @@ inline void hexDumpHelper(NGL::INGLLogger &logger, { return hexDumpHelper(logger, level, data.data(), data.size()); } -} +} // namespace NGLLoggerHelper NGLLOGGER_EXPORT NGL::INGLLogger& getMemoryLogger(); NGLLOGGER_EXPORT std::string getMemoryData(); -} +} // namespace NGL +//============================================================================== +// macros +//============================================================================== +#define LOGFUNCTION Q_FUNC_INFO - - -#define NOTICE_LOG(...) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Info, __FILE__,__LINE__, __func__) +// log this output every time, no matter what log level is enabled +#define NOTICE_LOG(logger) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) #ifdef LTS_DEBUG -#define TRACE_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Trace, __FILE__,__LINE__, __func__) +#define TRACE_LOG(logger) \ + for (bool log_level_enabled = (logger).isTraceEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Trace, __FILE__,__LINE__, Q_FUNC_INFO) #else -#define TRACE_LOG(...) \ +#define TRACE_LOG(logger) \ for ( ; false; ) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Trace, __FILE__,__LINE__, __func__) + NGL::LogStreamHelper(logger, NGL::LogLevel::Trace, __FILE__,__LINE__, Q_FUNC_INFO) #endif -#define DEBUG_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Debug, __FILE__,__LINE__, __func__) - -#define INFO_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Info, __FILE__,__LINE__, __func__) - -#define WARNING_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Warning, __FILE__,__LINE__, __func__) - -#define ERROR_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Error, __FILE__,__LINE__, __func__) - -#define FATAL_LOG(...) \ - for (bool log_level_enabled = false; log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Fatal, __FILE__,__LINE__, __func__) - -#define STARTUP_LOG(...) { NGL::getMemoryLogger().logStartup(__FILE__, __LINE__, __func__); } -#define SHUTDOWN_LOG(...) { NGL::getMemoryLogger().logShutdown(__FILE__, __LINE__, __func__); } +#define DEBUG_LOG(logger) \ + for (bool log_level_enabled = (logger).isDebugEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Debug, __FILE__,__LINE__, Q_FUNC_INFO) +#define INFO_LOG(logger) \ + for (bool log_level_enabled = (logger).isInfoEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) +#define WARNING_LOG(logger) \ + for (bool log_level_enabled = (logger).isWarningEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Warning, __FILE__,__LINE__, Q_FUNC_INFO) +#define ERROR_LOG(logger) \ + for (bool log_level_enabled = (logger).isErrorEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Error, __FILE__,__LINE__, Q_FUNC_INFO) +#define FATAL_LOG(logger) \ + for (bool log_level_enabled = (logger).isFatalEnabled(); log_level_enabled; log_level_enabled = false) \ + NGL::LogStreamHelper(logger, NGL::LogLevel::Fatal, __FILE__,__LINE__, Q_FUNC_INFO) +#define STARTUP_LOG(logger) { (logger).logStartup(__FILE__, __LINE__, Q_FUNC_INFO); } +#define SHUTDOWN_LOG(logger) { (logger).logShutdown(__FILE__, __LINE__, Q_FUNC_INFO); } +//============================================================================== +// use like: +// MEMORY_LOG() << " before something nasty"; +// do something nasty +// MEMORY_LOG() << " after something nasty"; #define MEMORY_LOG() \ for (bool log_level_enabled = (NGL::getMemoryLogger()).isInfoEnabled(); log_level_enabled; log_level_enabled = false) \ - NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Info, __FILE__,__LINE__, __func__) << NGL::getMemoryData() - + NGL::LogStreamHelper(NGL::getMemoryLogger(), NGL::LogLevel::Info, __FILE__,__LINE__, Q_FUNC_INFO) << NGL::getMemoryData() +//============================================================================== diff --git a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm.hpp b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm.hpp index aa14ccaab..9db847471 100644 --- a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm.hpp +++ b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm.hpp @@ -2,8 +2,11 @@ // STUB-HEADER: Diese Datei wird normalerweise von DDS generiert // Für die Migration erstellen wir minimale Typ-Definitionen +#include #include #include +#include +#include namespace ParticipantManagement { @@ -29,6 +32,7 @@ struct Participant { QString externalName; int partyId = 0; bool isVerbund = false; + int superiorId = 0; // Additional fields as needed double x = 0.0; @@ -73,27 +77,39 @@ struct MainSchedule { bool isActive = false; }; +namespace Interface +{ + // Dtc - Data Transfer Component für Participant Management // DDS-generierte Klasse mit participantChanged Signal -class Dtc { +class Dtc : public QObject { + Q_OBJECT + public: Dtc() = default; - virtual ~Dtc() = default; + ~Dtc() override = default; - // Teilnehmer-Liste abrufen - QList participants() const { return m_participants; } + // Teilnehmer-Liste abrufen (Callback-basiert wie im Original) + void participants(const std::function& callback) const { + for (const auto& p : m_participants) { + callback(p); + } + } + + // Teilnehmer-Liste als QList (für direkten Zugriff) + QList participantsList() const { return m_participants; } // Teilnehmer hinzufügen/entfernen/ändern void addParticipant(const Participant& p) { m_participants.append(p); - emit participantChanged(p, static_cast(DataModification::eAdded)); + emit participantChanged(p, DataModification::eAdded); } void updateParticipant(const Participant& p) { for (auto& existing : m_participants) { if (existing.id == p.id) { existing = p; - emit participantChanged(p, static_cast(DataModification::eModified)); + emit participantChanged(p, DataModification::eModified); return; } } @@ -105,17 +121,20 @@ public: if (it->id == id) { Participant removed = *it; m_participants.erase(it); - emit participantChanged(removed, static_cast(DataModification::eRemoved)); + emit participantChanged(removed, DataModification::eRemoved); return; } } } - // Signal für Teilnehmer-Änderungen (Qt6: als normale Methode, wird von Connects verwendet) - void emit participantChanged(const Participant& participant, int modificationType); +signals: + // Signal für Teilnehmer-Änderungen + void participantChanged(const Participant& participant, DataModification modificationType); private: QList m_participants; }; +} // namespace Interface + } // namespace ParticipantManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_dtc.h b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_dtc.h deleted file mode 100644 index f144be91e..000000000 --- a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_dtc.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once -// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert -// Für die Migration erstellen wir minimale Forward-Declarations - -namespace ParticipantManagement -{ -namespace Interface -{ - class Dtc; - class Ftc; -} -} diff --git a/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_ftc.h b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_ftc.h new file mode 100644 index 000000000..c01ee6063 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/ParticipantManagement/ppm_ftc.h @@ -0,0 +1,44 @@ +#pragma once + +// DDS-Stub-Header für ParticipantManagement FTC (Filter Topic Client) +// Generiert für Qt6-Migration ohne RTI DDS + +#include +#include +#include +#include +#include + +namespace ParticipantManagement +{ +namespace Interface +{ + +class Ftc +{ +public: + class ModifyTypeReplyHandler + { + public: + virtual ~ModifyTypeReplyHandler() = default; + virtual void onModifyTypeReply(const Core::FunctionReplyObject &replyObject) = 0; + }; + + Ftc() = default; + virtual ~Ftc() = default; + + virtual std::map getTypes() const + { + return std::map(); + } + + virtual Type type(int32_t typeId) const + { + Type t; + t.id = typeId; + return t; + } +}; + +} // namespace Interface +} // namespace ParticipantManagement \ No newline at end of file diff --git a/qt6-after/qt6-migrated-legatus/include/PresentationManagement/pre_dtc.h b/qt6-after/qt6-migrated-legatus/include/PresentationManagement/pre_dtc.h index 649a9b61b..45c47bf16 100644 --- a/qt6-after/qt6-migrated-legatus/include/PresentationManagement/pre_dtc.h +++ b/qt6-after/qt6-migrated-legatus/include/PresentationManagement/pre_dtc.h @@ -1,12 +1,171 @@ +/** + * @file pre_dtc.h + * @brief DDS-generated Stub-Header für PresentationManagement DTC (Data Transfer Component) + * + * Dieser Header ist ein Stub für den von RTI DDS Generator erzeugten Header. + * Ermöglicht Build ohne echte DDS-Codegenerierung. + */ + #pragma once -// STUB-HEADER: Diese Datei wird normalerweise von ddsdtc generiert -// Für die Migration erstellen wir minimale Forward-Declarations + +#include +#include +#include +#include +#include namespace PresentationManagement { + +// Forward declarations +struct Presentation; +struct PresentationContent; +struct GetPresentationContentReply; + +// FileStatus Enum - Status einer Präsentation +enum class FileStatus : int { + Valid = 0, + Deleted = 1 +}; + +// Presentation - DDS-generierter Typ für Präsentationen +struct Presentation { + int32_t id = 0; + QString name; + QString description; + int32_t operatorId = 0; + qint64 lastModified = 0; + FileStatus fileStatus = FileStatus::Valid; +}; + +// PresentationContent - Inhalt einer Präsentation +struct PresentationContent { + QString attributes; + QString channel; + QString description; + int32_t duration = 0; + double height = 0.0; + int32_t id = 0; + int32_t index = 0; + int32_t presentationId = 0; + QString presentationTopicType; + qint64 startTime = 0; + double width = 0.0; + double x = 0.0; + double y = 0.0; +}; + +// GetPresentationContentReply - Reply für GetPresentationContent Request +struct GetPresentationContentReply { + QList content; +}; + namespace Interface { - class Dtc; - class Ftc; -} -} + +/** + * @brief Dtc - Data Transfer Component für Presentation Management + * + * DDS-generierte Klasse mit Präsentation-Daten und Signalen für Änderungen. + */ +class Dtc : public QObject { + Q_OBJECT + +public: + Dtc() = default; + ~Dtc() override = default; + + // Präsentations-Liste abrufen (Callback-basiert) + void presentations(const std::function& callback) const { + for (const auto& p : m_presentations) { + callback(p); + } + } + + // Präsentations-Liste als QList (für direkten Zugriff) + QList presentationsList() const { return m_presentations; } + + // Präsentation hinzufügen/entfernen/ändern + void addPresentation(const Presentation& p) { + m_presentations.append(p); + emit presentationChanged(p, 0); // 0 = added + } + + void updatePresentation(const Presentation& p) { + for (auto& existing : m_presentations) { + if (existing.id == p.id) { + existing = p; + emit presentationChanged(p, 1); // 1 = modified + return; + } + } + addPresentation(p); + } + + void removePresentation(int id) { + for (auto it = m_presentations.begin(); it != m_presentations.end(); ++it) { + if (it->id == id) { + Presentation removed = *it; + m_presentations.erase(it); + emit presentationChanged(removed, 2); // 2 = removed + return; + } + } + } + + // Content getter/setter für PresentationContent + void content(const std::function& callback) const { + for (const auto& c : m_content) { + callback(c); + } + } + + QList contentList() const { return m_content; } + + void setContent(const QList& content) { + m_content = content; + } + +signals: + // Signal für Präsentations-Änderungen + void presentationChanged(const Presentation& presentation, int modificationType); + +private: + QList m_presentations; + QList m_content; +}; + +/** + * @brief Ftc - Filter Topic Client für Presentation Management + * + * DDS-generierte Klasse für Presentation-Client-Operationen. + */ +class Ftc +{ +public: + using ModifyTypeReplyHandler = std::function; + + virtual ~Ftc() = default; + + /** + * @brief Factory-Methode zur Erstellung einer Ftc-Instanz + * @param connector DDS-Connector (wird im Stub ignoriert) + * @return Shared Pointer zur Ftc-Instanz (nullptr im Stub) + */ + static std::shared_ptr create(void* /*connector*/) + { + return nullptr; // Stub returns nullptr - actual implementation requires DDS + } + + // PresentationModify Reply Handler + virtual void presentationModifyReply(ModifyTypeReplyHandler handler) = 0; + + // PresentationRemove Reply Handler + virtual void presentationRemoveReply(ModifyTypeReplyHandler handler) = 0; + + // GetPresentationContent Reply Handler + virtual void getPresentationContentReply(const GetPresentationContentReply& reply) = 0; +}; + +} // namespace Interface +} // namespace PresentationManagement diff --git a/qt6-after/qt6-migrated-legatus/include/Services/AreaEffectSimulation/aes.hpp b/qt6-after/qt6-migrated-legatus/include/Services/AreaEffectSimulation/aes.hpp index 116414dc6..05fafa740 100644 --- a/qt6-after/qt6-migrated-legatus/include/Services/AreaEffectSimulation/aes.hpp +++ b/qt6-after/qt6-migrated-legatus/include/Services/AreaEffectSimulation/aes.hpp @@ -77,11 +77,16 @@ public: AesFilter() = default; virtual ~AesFilter() = default; + // ID getter/setter + int id() const { return m_id; } + void setId(int id) { m_id = id; } + // Content getter/setter für DDS-Daten QString content() const { return m_content; } void setContent(const QString& content) { m_content = content; } private: + int m_id = 0; QString m_content; }; diff --git a/qt6-after/qt6-migrated-legatus/include/Services/PresentationManagement/svcprecommon_export.h b/qt6-after/qt6-migrated-legatus/include/Services/PresentationManagement/svcprecommon_export.h new file mode 100644 index 000000000..fc0d8ff8f --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/include/Services/PresentationManagement/svcprecommon_export.h @@ -0,0 +1,21 @@ +/** + * Export definitions for svcPreCommon + * $Id$ + * $HeadURL$ + * $Author$ + */ +#pragma once + +#include + +#ifndef SVCCOMMON_EXPORT +# ifdef BUILD_STATIC_LIBRARIES +# define SVCCOMMON_EXPORT +# else +# if defined(MAKE_SVCCOMMON_LIB) +# define SVCCOMMON_EXPORT Q_DECL_EXPORT +# else +# define SVCCOMMON_EXPORT Q_DECL_IMPORT +# endif +# endif +#endif \ No newline at end of file