- FileManagement Stub-Header vervollständigt (flm_db.h, flm_enums.hpp, flm_translation.h) - Plugin-Interface-Header erstellt (flm, opm, exm) - Viewer-Dialog-Dateien korrigiert (QString-Konvertierungen) - AdvancedSymbology CMakeLists.txt bereinigt - Kritische Blocker dokumentiert (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon) - Nächste Schritte: LtsDataView und Service-Commons migrieren Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M17KXSK254EGX7Z02XWQTCPB
179 lines
7.9 KiB
Markdown
179 lines
7.9 KiB
Markdown
# Qt5 zu Qt6 Migration - Statusbericht
|
|
|
|
**Stand**: 2026-08-29 (Update 2)
|
|
**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)
|
|
**Submodule Branch**: feature/qt6-migration-basis-modules @ e75e6c25
|
|
|
|
---
|
|
|
|
## 📊 Gesamtübersicht
|
|
|
|
| Bereich | Status | Build (RTI=OFF) | Notes |
|
|
|---------|--------|-----------------|-------|
|
|
| **Lts/Common** | ✅ Vollständig | ✅ Erfolgreich | Basis-Module migriert |
|
|
| **Lts/DDS** | 🟡 Struktur vorhanden | ⚠️ Stub-Header nötig | DDS-Code-Generator läuft nicht ohne RTI |
|
|
| **Lts/Viewer** | 🟡 Teilweise | ⚠️ Fehlende Dependencies | LtsFileDialog ✅, LtsDataView ❌ |
|
|
| **Lts/Plugins** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 60 Untermodule |
|
|
| **Lts/Services** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 47 Untermodule |
|
|
| **Lts/Projects** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 5 Untermodule |
|
|
| **Lts/Proxies** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 13 Untermodule |
|
|
| **TetraIF** | 🟡 Teilweise | ❌ Nicht getestet | Migration läuft |
|
|
| **Z-Module** | 🟡 Teilweise | ⚠️ Include-Pfad Probleme | NGLLogger Pfad korrigieren |
|
|
|
|
---
|
|
|
|
## 🔍 Detailstatus pro Modul
|
|
|
|
### ✅ Erfolgreich migriert (BUILD_RTI=OFF)
|
|
|
|
#### Lts/Common
|
|
- **Status**: ✅ Vollständig migriert
|
|
- **Build**: ✅ Erfolgreich
|
|
- **Tests**: 1/1 bestanden
|
|
- **Module**:
|
|
- LtsUtils (Core, Settings, GuiConnectDialog)
|
|
- LtsWidgets
|
|
- LtsSession
|
|
- LtsAppDescriptor
|
|
- LtsPluginManager
|
|
- LtsCommandLineParser
|
|
|
|
#### Lts/Viewer/LtsFileDialog
|
|
- **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**:
|
|
- 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 (KRITISCH - Blocker)
|
|
- **Problem**: Header-Datei fehlt (`LtsDataView/lts_data_view.h`)
|
|
- **Lösung**: Modul muss migriert werden (HOCHPRIORITÄT - Blocker für LtsFileDialog)
|
|
- **Dependencies**: Wird von LtsFileDialog, LtsSessionData benötigt
|
|
|
|
#### Lts/Services/svcFlmCommon
|
|
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
|
|
- **Problem**: Library fehlt im Linker
|
|
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
|
|
- **Pfad**: `Lts/Services/FileManagement/svcFlmCommon/`
|
|
|
|
#### Lts/Services/svcOpmCommon
|
|
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
|
|
- **Problem**: Library fehlt im Linker
|
|
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
|
|
- **Pfad**: `Lts/Services/OperatorManagement/svcOpmCommon/`
|
|
|
|
#### Lts/Services/svcExmCommon
|
|
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
|
|
- **Problem**: Library fehlt im Linker
|
|
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
|
|
- **Pfad**: `Lts/Services/ExerciseManagement/svcExmCommon/`
|
|
|
|
#### Lts/Services/InfrastructureManagement
|
|
- **Status**: ⚠️ Include-Pfad Problem
|
|
- **Problem**: `NGLLogger/Z/src/NGLLogger` Pfad existiert nicht
|
|
- **Lösung**: CMakeLists.txt Include-Pfade korrigieren
|
|
|
|
#### Lts/Services/ProjectDataManagement
|
|
- **Status**: ⚠️ Enum-Wert fehlt
|
|
- **Problem**: `L25_KindGuidingLine::nesA` existiert nicht
|
|
- **Lösung**: Enum-Definition prüfen und ergänzen
|
|
|
|
#### Z/src/NGLLogger
|
|
- **Status**: ⚠️ Include-Pfad Problem
|
|
- **Problem**: CMake generiert falschen Pfad `/repo/build-qt6-validation/Z/src/NGLLogger/Z/src/NGLLogger`
|
|
- **Lösung**: CMakeLists.txt Include-Pfade korrigieren
|
|
|
|
#### Lts/Tools/Adler/WebSocketSimulator
|
|
- **Status**: ❌ QtWidgets Include fehlt
|
|
- **Problem**: `#include <QtWidgets/QAction>` wird nicht gefunden
|
|
- **Lösung**: Qt6 Widgets Component explizit finden und verlinken
|
|
|
|
---
|
|
|
|
## 🛠️ Offene Aufgaben
|
|
|
|
### 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. ❌ **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
|
|
11. ❌ **Lts/Tools** - Adler WebSocket Simulator und andere Tools
|
|
12. ❌ **Vollständige Testabdeckung** - Tests für alle migrierten Module
|
|
|
|
---
|
|
|
|
## 📝 Build-Status (BUILD_RTI=OFF)
|
|
|
|
```
|
|
Configure: ✅ Erfolgreich (mit CMake-Warnings)
|
|
Compile: ⚠️ 4/1187 Targets erfolgreich, dann Fehler (fehlende Dependencies)
|
|
Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
|
|
```
|
|
|
|
### Bekannte Warnungen
|
|
- `QVariant::canConvert(int)` deprecated in Qt6 → zu `canConvert<T>()` migrieren
|
|
- NGLLogger Include-Pfad ungültig
|
|
- AdvancedSymbology Viewer-Pfade in CMakeLists.txt entfernt
|
|
|
|
---
|
|
|
|
## 🔄 Nächste Schritte (Priorisiert)
|
|
|
|
1. **LtsDataView migrieren** (Blocker für LtsFileDialog)
|
|
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
|
|
|
|
---
|
|
|
|
## 📌 Wichtige Dateien
|
|
|
|
- `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 (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-29
|
|
**Autor**: Migration Team
|