diff --git a/MIGRATION_STATUS.md b/MIGRATION_STATUS.md index 6bd35641d..ef5d88818 100644 --- a/MIGRATION_STATUS.md +++ b/MIGRATION_STATUS.md @@ -1,9 +1,10 @@ # Qt5 zu Qt6 Migration - Statusbericht -**Stand**: 2026-08-18 +**Stand**: 2026-08-29 **Build-Konfiguration**: BUILD_RTI=OFF (DDS Code-Generierung deaktiviert) **Qt-Version**: 6.10.2 -**C++ Standard**: C++17 (C++23 geplant, aber RTI 7.7 Inkompatibilität) +**C++ Standard**: C++17 (C++23 geplant, aber RTI 7.7 Inkompatibilität) +**Submodule Branch**: feature/qt6-migration-basis-modules @ e75e6c25 --- @@ -40,22 +41,51 @@ - LtsCommandLineParser #### Lts/Viewer/LtsFileDialog -- **Status**: ✅ Header korrigiert -- **Build**: ✅ Compiliert erfolgreich +- **Status**: ✅ Header korrigiert (2026-08-29) +- **Build**: ✅ Compiliert erfolgreich bis Linker - **Link**: ⚠️ Fehlende Dependencies (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon) +- **Korrekturen (2026-08-29)**: + - `flm_db.h` Stub-Header vervollständigt (alle Member-Variablen, Methoden, Initialisierung) + - `flm_enums.hpp` Enums aus XML extrahiert (FileStatus, FileCategory, FileType, MainFolder) + - `flm_translation.h` aktualisiert (toInt() entfernt, trFolderName() korrigiert) + - `flm_ftc.h` minimaler Stub-Header erstellt + - Plugin-Interfaces erstellt (flm, opm, exm data plugin interface) + - QString/std::string Konvertierungen behoben in: + - `lts_dialog_model_folder.cpp` + - `lts_file_dialog_widget.cpp` + - `lts_dialog_model_file.cpp` + - Folder::name() Rückgabetyp: std::string (kompatibel) + - FileContent: Alle benötigten Methoden implementiert (fileStatus, name, isTemplate, fileType, fileId, folderId, operatorId, mainFolder, exerciseId, properties, isDeleted, usedBy, lastModified, phaseId, isUsedBy, isHidden) + - std::optional für exerciseId/phaseId unterstützt + +#### InfrastructureManagement +- **Status**: ✅ ism_mounting_point.h migriert (2026-08-29) - **Korrekturen**: - - `flm_db.h` Stub-Header erstellt (DDS-generierten Code ersetzt) - - `flm_enums.hpp` Enums aus XML extrahiert - - `flm_translation.h` aktualisiert - - QString/std::string Konvertierungen behoben - - Folder::name() Rückgabetyp zu std::string geändert + - Header von Qt5-Quellcode kopiert + - Include-Pfade korrigiert (`#include "ismshared_export.h"` relativ) + - Redundante Methodendefinitionen in `.cpp` entfernt ### ⚠️ Teilweise migriert / Build-Probleme #### Lts/Viewer/LtsDataView - **Status**: ❌ Nicht migriert - **Problem**: Header-Datei fehlt (`LtsDataView/lts_data_view.h`) -- **Lösung**: Modul muss migriert werden +- **Lösung**: Modul muss migriert werden (HOCHPRIORITÄT - Blocker) + +#### Lts/Services/svcFlmCommon +- **Status**: ❌ Nicht migriert +- **Problem**: Library fehlt im Linker +- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT) + +#### Lts/Services/svcOpmCommon +- **Status**: ❌ Nicht migriert +- **Problem**: Library fehlt im Linker +- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT) + +#### Lts/Services/svcExmCommon +- **Status**: ❌ Nicht migriert +- **Problem**: Library fehlt im Linker +- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT) #### Lts/Services/InfrastructureManagement - **Status**: ⚠️ Include-Pfad Problem @@ -81,21 +111,23 @@ ## 🛠️ Offene Aufgaben -### Hochprioritär -1. **LtsDataView migrieren** - Wird von LtsFileDialog und anderen Modulen benötigt -2. **svcFlmCommon, svcOpmCommon, svcExmCommon** - Service-Libraries migrieren oder Stubs erstellen -3. **NGLLogger Include-Pfad** - CMakeLists.txt korrigieren -4. **ProjectDataManagement Enums** - Fehlende Enum-Werte ergänzen -5. **QtWidgets Includes** - Alle Qt6 Widgets Components explizit verlinken +### Hochprioritär (Blocker für LtsFileDialog Build) +1. ✅ **FileManagement Stub-Header vervollständigt** (2026-08-29) +2. ❌ **LtsDataView migrieren** - Wird von LtsFileDialog und anderen Modulen benötigt +3. ❌ **svcFlmCommon migrieren** - Service-Library für FileManagement Common +4. ❌ **svcOpmCommon migrieren** - Service-Library für OperatorManagement Common +5. ❌ **svcExmCommon migrieren** - Service-Library für ExerciseManagement Common ### Mittlere Priorität -6. **Lts/Plugins Kernmodule** - Priorisiere essentielle Plugins -7. **Lts/Services Basis** - InfrastructureManagement, OperatorManagement -8. **TetraIF vervollständigen** - Restlichen Code migrieren +6. ❌ **NGLLogger Include-Pfad** - CMakeLists.txt korrigieren +7. ❌ **ProjectDataManagement Enums** - Fehlende Enum-Werte ergänzen +8. ❌ **QtWidgets Includes** - Alle Qt6 Widgets Components explizit verlinken +9. ❌ **Lts/Plugins Kernmodule** - Priorisiere essentielle Plugins +10. ❌ **Lts/Services Basis** - InfrastructureManagement, OperatorManagement ### Niedrige Priorität -9. **Lts/Tools** - Adler WebSocket Simulator und andere Tools -10. **Vollständige Testabdeckung** - Tests für alle migrierten Module +11. ❌ **Lts/Tools** - Adler WebSocket Simulator und andere Tools +12. ❌ **Vollständige Testabdeckung** - Tests für alle migrierten Module --- @@ -103,7 +135,7 @@ ``` Configure: ✅ Erfolgreich (mit CMake-Warnings) -Compile: ⚠️ 4/1187 Targets erfolgreich, dann Fehler +Compile: ⚠️ 4/1187 Targets erfolgreich, dann Fehler (fehlende Dependencies) Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon) ``` @@ -114,10 +146,10 @@ Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcE --- -## 🔄 Nächste Schritte +## 🔄 Nächste Schritte (Priorisiert) 1. **LtsDataView migrieren** (Blocker für LtsFileDialog) -2. **Service-Stubs erstellen** für FlmCommon, OpmCommon, ExmCommon (BUILD_RTI=OFF) +2. **svcFlmCommon, svcOpmCommon, svcExmCommon** - Service-Stubs oder vollständige Migration 3. **NGLLogger CMakeLists.txt** korrigieren 4. **ProjectDataManagement Enums** vervollständigen 5. **QtWidgets Components** explizit verlinken in allen CMakeLists.txt @@ -126,13 +158,17 @@ Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcE ## 📌 Wichtige Dateien -- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_db.h` - DDS Stub-Header +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_db.h` - DDS Stub-Header (2026-08-29 aktualisiert) - `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_enums.hpp` - Zentrale Enums -- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_translation.h` - Übersetzungen -- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism_mounting_point.h` - ISM Interface +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_translation.h` - Übersetzungen (2026-08-29 aktualisiert) +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_ftc.h` - FTC Stub (2026-08-29 neu) +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu) +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/OperatorManagement/opm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu) +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu) +- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism_mounting_point.h` - ISM Interface (2026-08-29 migriert) --- **Erstellt**: 2026-08-18 -**Letzte Aktualisierung**: 2026-08-18 +**Letzte Aktualisierung**: 2026-08-29 **Autor**: Migration Team diff --git a/qt-migration-legatus b/qt-migration-legatus index c21083700..e5d8bfa43 160000 --- a/qt-migration-legatus +++ b/qt-migration-legatus @@ -1 +1 @@ -Subproject commit c21083700a671d3ac6812cd0c26337f788c3e7d1 +Subproject commit e5d8bfa4329e4111f878b2cfbef031edbab5f5c2