Commit Graph
150 Commits
Author SHA1 Message Date
torsten 524f076c2a Reinserts custom ctest configure step 2026-09-11 16:44:35 +00:00
torsten 2ed0a944d1 Cleans repo from built artefaktes 2026-09-11 16:24:14 +00:00
torsten db81f2de26 Cleans repo from built artefaktes 2026-09-11 16:19:38 +00:00
torsten 2a0192ce1d Cleans repo from built artefaktes 2026-09-11 16:11:16 +00:00
torsten 3aa0b04ebd Cleans up only warnings and specific CMake/include path error in the Qt6 migration tree, using strictly minimal changes with minimal side effects. 2026-09-11 15:14:11 +00:00
torsten 67491249c2 Changes target of symlink 2026-09-08 20:58:38 +00:00
torsten 8d1897d297 Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:37:54 +02:00
torsten 18ef659723 Adds entire search skills 2026-09-07 19:37:11 +02:00
torsten 8cec9973e7 Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:36:21 +02:00
torsten ba1d9e2c04 Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:30:39 +02:00
torsten 758ae0f53f Migration of Legatus codebase to Qt6 with RTI Connext DDS 7.7 integration is partially complete. Core DDS targets build successfully, but ProjectDataManagement module blocks full ddsfts compilation due to IDL definition conflicts. 2026-09-07 19:18:30 +02:00
torsten 283e89e3c9 Blocker: idl files mixture
Only idl files from build folders have to into build process
2026-09-07 18:22:07 +02:00
torsten 6513a267e2 Provides clear handoff infos for continuing migration work with resolution strategies 2026-09-06 18:58:10 +02:00
torsten b656e1aaa9 Resolves latest issues in Lts/Common Lts/DDS 2026-09-06 18:45:59 +02:00
torsten e398f4903d Infrastructure fixes in Lts/Services/RoutingServiceNG only 2026-09-05 19:45:43 +02:00
torsten afda2a82a8 Fixes rti 7.7 codegen invocations 2026-09-04 21:24:03 +02:00
torsten c5c54cb268 Adds further build artefakts to .gitignore 2026-09-04 20:50:15 +02:00
torsten 1445fc659d emove build files from repo tracking and add to .gitignore 2026-09-04 15:50:42 +02:00
torsten c270b7ebe7 Integrates qt6-ported code generator into qt6-overall-build-pipeline 2026-09-04 15:31:59 +02:00
torsten f528f9b609 Inserts ktexttemplate ported idl files parser 2026-09-02 20:32:15 +02:00
torsten 8a26ac0a5d Adds latest migration results 2026-09-01 12:37:37 +02:00
torsten 4e548318b5 Removes built artefakts from repo 2026-09-01 12:35:49 +02:00
torsten 0c1503d85c Adds latest migration results 2026-09-01 12:27:57 +02:00
torstenandCopilot ad07345480 Grantlee Templates: Fix namespace resolution for RTI DTC generation
- Changed {{ namespace }}::{{ dt.type }} to ::{{ namespace }}::{{ dt.type }}
  in svc_dtc.h.grantlee, svc_dtc_impl.cpp.grantlee, svc_dtc_impl.h.grantlee
- Ensures absolute namespace resolution for Core::* types
- Fixes MOC/compilation errors for CurrentRunningState, LockedEntity, etc.

- Updated CMakeLists.txt for RTI 7.7.0 detection with DDS_PATH
- Fixed RTI include paths (ndds/hpp and ndds directories)
- Updated Lts/DDS module files for Qt6/RTI 7.7 compatibility

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-31 12:51:26 +02:00
torstenandCopilot 497baa804b Qt6/RTI 7.7 Migration: Build-System und RTI-Integration fixes
CMake Build-System:
- NGL_ADD_SUBDIR_GUARDED() vor erstem Aufruf definiert (Zeile 38)
- Z/src wird VOR ENABLE_TESTING() eingebunden
- InfrastructureManagement an Anfang von Lts/Services CMakeLists.txt
- ALIAS Targets für RTI nur für existierende Libraries erstellt

RTI 7.7 Integration:
- generic_base.h: QMetaMethod Include hinzugefügt
- generic_data_reader.h: Template-Signatur auf 2 Parameter angepasst
  - detail::DataReaderImpl<Q> als Default-Template-Parameter

Qt6 Location Support:
- Dockerfile: qtlocation und qtpositioning Module hinzugefügt

Dokumentation:
- C++23 Inkompatibilität mit RTI 7.7 in copilot-instructions.md
- EXTERNAL_DEPENDENCIES.md Strategie dokumentiert

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-30 13:36:41 +02:00
torsten a9c5b2181e RTI Target-Kollisionen behoben, QDebug operator<< für FileStatus
- CMakeLists.txt: ALIAS Targets nur für existierende RTI-Libraries (Zeilen 254-285)
- Keine INTERFACE-Placeholder für ddsftc/ddsfts/ddsconnector (Module definieren eigene Targets)
- flm_enums.hpp: QDebug operator<< für FileStatus enum class implementiert

BUILD_RTI=ON: Configure erfolgreich nach Target-Fix
2026-08-30 12:34:39 +02:00
torsten 851d47e114 BUILD_RTI=OFF: 1902/1902 Targets erfolgreich, DDS-Stubs vervollständigt
Neue Stub-Header für BUILD_RTI=OFF Konfiguration:
- include/DDS/Generic/generic_base.h: Topic-Name-Templates, Helper-Funktionen
- include/DDS/Generic/generic_logger.h: Logger-Wrapper mit DataType-Enum
- include/DDS/Generic/ddsgen_export.h: Export-Makros (leer für OFF)
- include/DDS/Generic/generic_data_reader.h: Data Reader Template-Stub
- include/DDS/DTC/generic_dtc.h: Minimale DDS-Typen für DTC
- include/LtsUtils/LtsUtilsCore/data_modification_enum.h: DataModification Enum
- include/FileManagement/flm_dtc_impl.h: Virtuelle Methoden für Name-Helper
- include/OperatorManagement/opm_dtc_impl.h: DtcImpl ohne Q_OBJECT

Wichtige Änderungen:
- QObject-Basisklasse entfernt für DatabaseInterfaceImpl und DtcImpl (BUILD_RTI=OFF)
- Logger-Stub verwendet Qt-Logging (qDebug/qWarning/qCritical)
- FileStatus als int-Alias statt enum class für BUILD_RTI=OFF
- CMake: DDS-Bibliotheken als leere INTERFACE-Targets für BUILD_RTI=OFF
- std::optional: is_set() → has_value(), get() → value()
- QList → std::vector Konversionen korrigiert
- qAsConst-Fehler mit rvalue expressions behoben

Build-Status: 1902/1902 Targets erfolgreich (BUILD_RTI=OFF)
Tests: Nicht ausführbar ohne RTI Connext DDS (BUILD_RTI=ON erforderlich)
2026-08-30 10:36:47 +02:00
torsten eafbbbbbe9 BUILD_RTI=OFF: CODEGEN_* Makros in IF-Blocekt + DatabaseInterfaceImpl Stubs
- Alle 38 Service-Module CMakeLists.txt: CODEGEN_* Makros in IF(BUILD_RTI) gepackt
- flm_db_impl_custom.h: Include-Pfad korrigiert (Lts/Services/... → FileManagement/)
- DatabaseInterfaceImpl Stub-Header erstellt für:
  - FileManagement (flm_db_impl.h)
  - InfrastructureManagement (ism_db_impl.h)
  - ParticipantManagement (ppm_db_impl.h)
  - RecordingManagement (rec_db_impl.h)
  - Evaluations (evl_db_impl.h)
- opm_enums.hpp: Placeholder-Enums für OperatorManagement

Ermöglicht BUILD_RTI=OFF Builds ohne RTI/DDS Codegenerierung
2026-08-29 23:45:19 +02:00
torstenandCopilot 115243d47c Add stub headers for svcOpmCommon and svcExmCommon (BUILD_RTI=OFF)
- opm_db.h: Operator und Group Klassen für OperatorManagement
- exm_db.h: Exercise und ExercisePhase Klassen für ExerciseManagement
- Analog zu flm_db.h für DDS/RTI Codegen bei BUILD_RTI=OFF
- Alle Getter/Setter mit std::string und QString Unterstützung
- std::optional für optionale IDs (exerciseId, phaseId, etc.)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-29 22:56:01 +02:00
torstenandCopilot f74ff251a2 Add flm_data_plugin_interface.h stub
- Plugin Interface Header für FileManagement Data Plugin
- Benötigt für LtsFileDialog Build (BUILD_RTI=OFF)
- Vom Qt5-Quellcode kopiert und angepasst

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-29 22:37:43 +02:00
CopilotandCopilot e5d8bfa432 Fix FileManagement Build-Fehler (BUILD_RTI=OFF)
- flm_db.h: Stub-Header mit Folder/FileContent Klassen erstellt
- flm_enums.hpp: MainFolder Enum hinzugefügt (None=0)
- flm_translation.h: toInt() entfernt, trFolderName() angepasst
- Plugin-Interfaces erstellt (flm, opm, exm)
- Viewer-Dialogs: QString-Konvertierungen behoben
- AdvancedSymbology CMakeLists.txt: Ungültige Pfade entfernt
- ism_mounting_point.cpp: Redundante Definitionen entfernt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-29 21:01:46 +02:00
torsten c21083700a Update .gitignore to ignore all build* directories in qt6-migrated-legatus 2026-08-29 19:54:47 +02:00
torsten bb1447c858 Qt6 migration fixes: RTI DDS alias targets, ErrorMessage namespace, DDS header include path 2026-08-27 09:02:26 +02:00
torsten 8050bca545 Update MIGRATION_STATUS.md to 2026-08-26 with optional dependencies status 2026-08-27 00:05:52 +02:00
torstenandCopilot 1edc9934fa Session 028: Optional dependencies configuration
- Added WITH_VLC option to Lts/Application/THP (default OFF)
- Added WITH_SCHUSSTAFEL option to CentralEffectSimulation (default OFF)
- Added WITH_ARCGIS option to Explosions plugin (default OFF)
- Protected VLC includes with #ifdef THP_HAS_VLC
- Added qt5compat module to Docker image for QTextCodec support
- Validated CMake configure and lts_common build in Docker container
- All external dependencies now optional, build succeeds without them

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 19:55:38 +02:00
torstenandCopilot d5af8b9764 Session 026: Lts/Services Qt5:: to Qt6:: migration
- Migrated all 104 CMakeLists.txt files in Lts/Services
- Replaced Qt5::Core, Qt5::Gui, Qt5::Widgets, Qt5::Network, Qt5::Svg,
  Qt5::Concurrent, Qt5::WebSockets, Qt5::Sql, Qt5::Xml, Qt5::Test,
  Qt5::SerialPort with Qt6:: equivalents
- 1244 files modified (CMakeLists.txt and source files)
- Zero Qt5:: references remaining in Lts/Services
- QTextCodec, QDesktopWidget: No blocking issues found
- QRegExp: 7 occurrences remain (deprecated but functional)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 19:23:30 +02:00
torstenandCopilot c143ff8a4f Session 025: Fix QTextCodec migration issues
- 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>
2026-08-25 18:50:12 +02:00
torstenandCopilot ec83f017be cmake: migrate Qt5:: to Qt6:: in LtsWidgets CMakeLists_rc.txt
- Qt5::Core → Qt6::Core
- Qt5::Gui → Qt6::Gui
- Qt5::Widgets → Qt6::Widgets
- Qt5::Network → Qt6::Network
- Qt5::Svg → Qt6::Svg

Part of Qt5→Qt6 migration under C++17 constraint (RTI Connext DDS 7.7.0 blocker).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 15:27:14 +02:00
torstenandCopilot 71636a42c4 Lts/Tools: Complete QRegExp to QRegularExpression migration
- Migrated QRegExp → QRegularExpression in:
  - DdsView/detailview.cpp (line 636)
  - DdsView/sequences/abstractsequencewidget.cpp (line 167)
  - VapixConfig/httprequesthandler.cpp (lines 68, 95, 136)
  - ConfigX/configurator.cpp
  - LogViewer/sortfiltermodel.cpp
  - SqlBrowser/BrowserWnd.cpp
- Added Qt6::Core5Compat to TextEditorTest CMakeLists.txt for QTextCodec support
- All QRegExp instances in Lts/Tools now migrated to QRegularExpression

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 14:22:18 +02:00
torsten d5c13033e2 Session 022: Migrate Lts/Tools (72 submodules) to Qt6
- Copied complete Lts/Tools directory from qt5-before to qt6-after
- Updated 32 CMakeLists.txt files (Qt5:: → Qt6::)
- Tools subdirectory already included in parent Lts/CMakeLists.txt
- All 72 tool submodules now present in qt6-migrated-legatus
- Includes: Adler, ArAssets, ConfigX, DBAdministration, DBUpdate,
  DdsView, InfrastructureManagement, and 67 more tools
- C++17 standard (RTI 7.7.0 compatibility maintained)
- Tests deferred until final validation phase

Migration progress:
✅ Lts/Application (68 files)
✅ Lts/DDS (verified Qt6-ready)
✅ Lts/Plugins (60 submodules, verified)
✅ Lts/Projects (5 submodules, verified)
✅ Lts/Proxies (13 submodules, verified)
✅ Lts/Services (47 submodules, verified)
✅ Lts/Tools (72 submodules, copied + CMake updated)
✅ Lts/Viewer (LtsFileDialog, LtsReportDisplay, SituationMap)
🟡 TetraIF (partial)
🟡 Z (partial: nglwidgets, QtSingleApplication, qsql_informix, WMS_Interface)
2026-08-25 14:07:20 +02:00
torstenandCopilot 01dce5fe52 Lts/Viewer: Migrate CMakeLists.txt to Qt6 and add missing submodules
- 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>
2026-08-25 13:39:54 +02:00
torsten 45eb8ee689 Add Lts/Application module with Qt6 CMakeLists updates
- 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
2026-08-25 13:28:58 +02:00
torsten 079175a055 Migrate SIGNAL/SLOT to function-pointer syntax in topic_editor.cpp
- Replace SIGNAL(doubleClicked(QModelIndex)) with &QTreeView::doubleClicked
- Replace SLOT(select(QModelIndex, QItemSelectionModel::Toggle)) with &QItemSelectionModel::select
- Enables compile-time type checking for Qt6 compatibility

Qt6 Migration: SIGNAL/SLOT syntax modernization
2026-08-25 13:07:58 +02:00
torstenandCopilot 0ca0e9ac60 SIGNAL/SLOT migration: lts_app_descriptor_editor.cpp and qsql_informix.cpp
- Migrated 12 SIGNAL/SLOT connections in lts_app_descriptor_editor.cpp to function-pointer syntax
  - clicked, editingFinished, pressed, textChanged signals
  - Added required includes: QListView, QLineEdit, QPushButton
- Migrated 2 SIGNAL/SLOT connections in qsql_informix.cpp to function-pointer syntax
  - timeout signal connections
- Added Qt5::Core5Compat dependency for QTextCodec support in Qt6
  - Updated CMakeLists.txt to link Qt6::Core5Compat

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-25 09:24:42 +02:00
torsten 060792032b SIGNAL/SLOT migration: socket_handler (5), targettimer (1), socketreader (2) + status update
- Migrated old SIGNAL/SLOT connect syntax to function-pointer syntax
- socket_handler.cpp: timeout, connected, disconnected, readyRead, bytesWritten
- targettimer.cpp: timeout → MyTimerSlot
- socketreader.cpp: readyRead, error (with QOverload for overloaded signal)
- Updated MIGRATION_STATUS.md with migration progress
- Part of Qt5→Qt6 migration with C++17 constraint (RTI 7.7.0 compatibility)
2026-08-25 09:16:43 +02:00
torsten bf0b1a3ddd QDesktopWidget → QScreen: Complete migration in AVM and TetraIF modules
- 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
2026-08-24 20:28:34 +02:00
torstenandCopilot f15f342a47 QRegExp → QRegularExpression migration complete
Migrated all remaining QRegExp usage to QRegularExpression for Qt6 compatibility:

- Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp
  - Changed helper functions to use QRegularExpression::match().hasMatch()
  - Updated inline regex validation

- Lts/Plugins/PlanEditor/mil2525d_to_mil2525c.cpp
  - Fixed m_sidcQuery.exactMatch() → match().hasMatch()

- Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp
  - Video file pattern matching migrated

- Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_handler_rx.cpp
  - NMEA message parsing with QRegularExpression

- Lts/Proxies/TrainingAreaBaseOC/handler_aes_data.cpp
  - AES data handler regex patterns migrated

- Lts/Services/AudioVideoManagement/stream_name_mapping.*
  - Stream name validation patterns

- Lts/Services/NmeaManagement/nmea_handler.cpp
  - NMEA handler regex patterns

- Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp, sidc_codec.cpp
  - SIDC code validation patterns

- Test files updated for compilation

All QRegExp::exactMatch() calls replaced with QRegularExpression::match().hasMatch()
All QRegExp::cap(n) calls replaced with QRegularExpressionMatch::captured(n)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-24 19:10:44 +02:00
torsten 793c9f8b81 BUILD_RTI=OFF: Fix remaining include and build issues
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).
2026-08-24 14:37:16 +02:00
torstenandCopilot 4969e4ff9b Fix INGLLogger initialization for BUILD_RTI=OFF compatibility
- Replace NGL::NGLLoggerBootstrap::getNGLRootLogger() with NGL::getMemoryLogger()
  in all VideoOverlayManagement handler classes
- Fix Qt6 signal syntax in avs_interface.cpp (error → errorOccurred)
- Ensures compatibility with BUILD_RTI=OFF builds
- Affected files:
  * logger.cpp - Added BUILD_RTI guards, use NGL::getMemoryLogger()
  * avs_interface.cpp - Logger init + Qt6 signal fix
  * main_handler.cpp - Logger init fix
  * handler_overlays.cpp - Logger init fix
  * handler_infrastructure_data.cpp - Logger init fix
  * handler_participant_data.cpp - Logger init fix

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-24 12:58:54 +02:00
torsten f6c2ac04f9 Fix tests CMakeLists for MIGRATE_MODULE builds
- 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.
2026-08-24 10:55:53 +02:00