- Z/src/qsql_informix/qsql_informix.cpp: Fixed QTextCodec include path
(QtCore → QtGui) as QTextCodec moved to QtGui module in Qt6
- Z/src/qsql_informix/CMakeLists.txt: Added Qt6::Gui dependency required
for QTextCodec
- Lts/Tools/TextEditorTest/textedit.cpp: Fixed Qt::codecForHtml →
QTextCodec::codecForHtml (static method on QTextCodec class in Qt6)
These are minimal fixes required for Qt6 compatibility. QTextCodec is now
part of QtGui module and codecForHtml is a static method on QTextCodec
class rather than Qt namespace function.
Co-authored-by: Copilot <2235566219+Copilot@users.noreply.github.com>
- Updated all CMakeLists.txt files to use Qt6:: libraries
- Added LtsFileDialog submodule (copied from qt5-before)
- Added LtsReportDisplay submodule (copied from qt5-before)
- Enabled both submodules in main Viewer CMakeLists.txt
- Qt5::Core/Widgets → Qt6::Core/Widgets in all Viewer modules
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Copy Lts/Application from qt5-before (AarApp, OpApp, THP submodules)
- Update all CMakeLists.txt to use Qt6::Core, Qt6::Widgets, Qt6::Xml, Qt6::Network, Qt6::PrintSupport, Qt6::Svg, Qt6::WebEngineCore, Qt6::WebEngineWidgets
- No SIGNAL/SLOT, QRegExp, QDesktopWidget, or QTextCodec issues found in Application source code
- Module ready for Qt6 build validation
- avm_mvs_video_team_gui_plugin.cpp: QApplication::desktop() → QGuiApplication::primaryScreen()
- LogViewTelegramDialog.cpp: QApplication::desktop() → QGuiApplication::primaryScreen()
- Added QGuiApplication includes where needed
- Removed duplicate QScreen include
This completes the QDesktopWidget API migration across all modules.
QApplication::desktop() is deprecated in Qt5 and removed in Qt6.
Replacement: QGuiApplication::primaryScreen()->geometry() or availableGeometry().
Refs: Qt6 migration, C++17 constraint due to RTI Connext DDS 7.7.0 incompatibility
TrainingAreaBase:
- Add BUILD_RTI guards to dds_handler.cpp (entire file)
- Add BUILD_RTI guards to recv_from_dds_aes.h for tab_db.h include
- Add BUILD_RTI guards to main_handler.h for tab_db.h include
- Remove duplicate m_logger declaration in main_handler.h
- Add stub headers for RTI types (tab_db_stub.hpp, tab_enums_stub.hpp, etc.)
VideoOverlayManagement:
- Fix member initialization order in handler_overlays.h
- Fix member initialization order in avs_interface.h
- Fix member initialization order in main_handler.h
- Change logger.cpp include from NGLLogger.h to INGLLogger.h
- Add BUILD_RTI guard to handler_overlays.cpp for RTI signal connection
Plugins:
- Migrate QDesktopWidget → QScreen in Light/Dark style plugins
- Fix CMakeLists.txt for SituationReplayManagement (BUILD_RTI guards)
- Fix CMakeLists.txt for CombatNetRadio (Qt6::Core linking)
- Remove QDesktopWidget includes in multiple plugin files
Infrastructure:
- Remove duplicate INGLLogger.h include directory
- Add stub headers for ProjectDataManagement (pdm.hpp, etc.)
- Add stub headers for RoutingServiceNG
BUILD_RTI=OFF build now compiles successfully (1112 targets).
- Top-level CMakeLists.txt: Skip tests subdirectory when MIGRATE_MODULE is set
(tests require full codebase with cross-module dependencies)
- tests/CMakeLists.txt: Add conditional checks for CodeGen and LtsTimelineClassic targets
- Filter Grantlee tests BEFORE creating executable (fix order)
- Exclude CodeGen tests when codegen_base target unavailable
- Exclude LtsTimelineClassic tests when target unavailable
- Make LtsTimelineClassic linking conditional with if(TARGET)
This enables clean BUILD_RTI=OFF builds during incremental module migration
with MIGRATE_MODULE flag.
- LtsUtilsCore/CMakeLists.txt: Fixed include path /../.. for header exposure
- RoutingServiceNG/session_handler.h: Guard dds_connector.h include with BUILD_RTI
- RoutingServiceNG/data_writer_task.h: Remove override from stub methods (BUILD_RTI=OFF)
- DDSConnector/pub_sub_base.cpp: Fix member initialization order warning
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- LtsUtilsCore/CMakeLists.txt: Fixed include path from /.. to /../..
for both LtsUtilsCoreHeaderOnly and LtsUtilsCore targets
- session_handler.h: Added #if BUILD_RTI guard around dds_connector.h include
- data_writer_task.h: Removed override specifier from stub methods
when BUILD_RTI=OFF (base class interface not available)
BUILD_RTI=OFF: 0 errors (validated)
BUILD_RTI=ON: Progresses further, external dependency errors remain
(svcIsmCommon not available in Docker image - not migration issue)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- dynamic_data_reader.h: Add #include <rti/core/xtypes/DynamicDataImpl.hpp>
to resolve incomplete type error when deleting DynamicDataImpl pointers
- generic_dts_impl.h: Add m_logger member variable declaration (LOGGER_T&)
- dynamic_data_reader.h: Add m_logger member variable declaration (LOGGER_T&)
- pub_sub_base.cpp: Fix logger initialization to use
NGL::NGLLoggerBootstrap::getNGLRootLogger().getNGLLogger() instead of
non-existent NGL::getNGLLogger()
- lts_session_data_dds.h: Add DataPluginBase::Interface forward declaration
to both #ifdef BUILD_RTI and #else blocks for consistent compilation
- LtsUtilsCore/CMakeLists.txt: Fix include path from /.. to /../..
for LtsUtilsCoreHeaderOnly target
- tests/CMakeLists.txt: Move Grantlee test filtering BEFORE executable
creation to prevent build failures when Grantlee is disabled
Build validation:
- BUILD_RTI=OFF: ✅ 0 errors (previously completed)
- BUILD_RTI=ON: ✅ DDS core components compile successfully
- libddsconnector.so created successfully
- Remaining build errors in unrelated modules (IsmDataPluginInterface,
IsmShared, BuildingControlBsm) are pre-existing dependency issues
C++ Standard: Enforcing C++17 across all builds due to RTI Connext DDS 7.7.0
incompatibility with C++20/C++23 (known header bugs with newer standards).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add missing m_logger member declarations to GenericDataWriter,
GenericDataReader, GenericDtcImplSubscriberTemplate
- Add DynamicDataImpl.hpp include for complete type in publisher.h/cpp
- Wrap dds_connector.cpp implementation in #if BUILD_RTI guards
- Fix stub signatures in dds_connector.h to match implementation
- Set CMAKE_CXX_STANDARD to 17 (RTI 7.7.0 hard requirement)
RTI Connext DDS 7.7.0 only supports C++14/C++17. C++20/23 causes
header compilation errors. Cannot mix C++ variants.
Remaining Qt6 issues (separate from RTI work):
- QJsonDocument::toBinaryData/fromBinaryData → toJson/fromJson
- QJsonObject initializer list syntax in training_area_telegrams.cpp
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- lts_date_time_edit_p.cpp: Replace QWheelEvent::delta() with angleDelta().y()
- lts_notification_box.cpp: Remove QStyleOption::init() call (removed in Qt6)
- lts_text_editor2.cpp: Remove QTextCodec include, use QString::fromUtf8 instead
All changes are Qt6 API compatibility fixes required for building with Qt 6.10.2.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Grantlee-Tests nur bauen wenn BUILD_GRANTLEE=ON
- Vermeidet Build-Fehler durch fehlenden codegen_base_export.h bei BUILD_GRANTLEE=OFF
- Ermöglicht Build ohne Qt5-basierte Grantlee-Dependency für Qt6-Migration
- Grantlee-Tests nur bauen wenn BUILD_GRANTLEE=ON
- Vermeidet Build-Fehler durch fehlenden codegen_base_export.h bei BUILD_GRANTLEE=OFF
- Ermöglicht Build ohne Qt5-basierte Grantlee-Dependency für Qt6-Migration
- SVCALMCOMMON_EXPORT in logger.h verwendet (statt ALM_COMMON_EXPORT)
- Include für alm_types.h in alm_config_alarm_model.h hinzugefügt
- Include für data_modification_enum.h in allen AlarmManagement-Modellen hinzugefügt
- DataModification → Lts::DataModification in allen Gui-Modellen korrigiert
- GuezNasat gna_dtc.h: Include für data_modification_enum.h hinzugefügt
- gna_nasat_aircraft_model.h/.cpp: Include-Pfad zu <GuezNasat/logger.h>
korrigiert, Logger-Initialisierung auf GuezNasat::getLogger() umgestellt
- gna_nasat_aircraft_part_model.h/.cpp: Methodensignaturen von
ParticipantManagement::DataModification zu globalem DataModification
geändert für konsistente Type-Verwendung
- gna_dtc.h: Include-Pfad für logger.h korrigiert
- gna_nasat_aircraft.h: Member-Variablen zu Getter-Methoden geändert
- CMakeLists.txt: Include-Verzeichnis für GuezNasat-Modul hinzugefügt
Alle Callback-Lambdas verwenden jetzt das globale DataModification-Enum
aus LtsUtilsCore statt dem veralteten ParticipantManagement-Namespace.
- Removed all STUB files for external dependencies:
- lts_session_stub.h/cpp
- lts_session_data_dds_stub.h/cpp
- lts_session_lock_handler_stub.h
- elevation_map_manager.h/cpp (entire ElevationMap STUB)
- avm_enums_stub.hpp
- Test files for STUBs
- Updated LtsSession/CMakeLists.txt:
- Removed conditional BUILD_RTI logic for STUBs
- Always use real implementation files
- BUILD_RTI=ON is now the default
- External dependencies are now expected in ./external/
- RTI Connext DDS 7.7.0
- ArcGIS SDK (runtime mount)
- Other deps to be integrated step by step
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>