Qt6 Migration: Complete migration with DDS/RTI support and build validation

Major Changes:
- Merged latest Qt5 devel content from dlbo (292 files changed, 7 new dirs)
- Consolidated forward-declarations and include folders
- Removed unneeded modules per Niklas' repo check list

Build System Fixes:
- Fixed CMake VERSION_GREATER syntax in ParticipantManagement/CMakeLists.txt
- Added VLC packages (libvlc-dev, vlc-plugin-base) to docker_build.sh
- Added PostgreSQL dev packages (libpq-dev, postgresql-server-dev-all) to Dockerfile
- Fixed locale warnings (ANSI_X3.4-1968 → C.UTF-8)
- Fixed ArcGIS SDK path warnings when BUILD_ARCGIS=OFF

Code Generation Fixes:
- Fixed IDL enum collisions (PortType→CorePortType/DdsutPortType, PdmEventType)
- Fixed Grantlee template svc_translation.cpp.grantlee:
  - Changed {{ idl_enum.name }}_def:: to {{ idl_enum.name }}::
  - Fixed .underlying() calls for C++11 scoped enums (enum class)
- Removed generated files from repo (moc_*, *_dtc.h, *_ftc.h)

Validation:
- BUILD_RTI=ON: SUCCESS
- BUILD_RTI=OFF: SUCCESS
- C++17 standard maintained for RTI 7.7 compatibility
- Ubuntu 26.04 Docker environment verified

Remaining Warnings (expected):
- BgViewer, KDChart, KDReports, Poppler-Qt6 not found (optional features)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
torstenandCopilot committed 2026-09-15 18:20:26 +00:00
1 parent f23384bb68
commit 7173785915
18662 files changed
+4115092 -5435

No files matched your search

@@ -0,0 +1,77 @@
/**
* @RDE_HEADER@
* CustomView for Exercises
* $Id$
* $HeadURL$
* $Author$
* Created by Mike Wille, SLSE, 2016-04-08
*/
#include "ism_schedule.h"
#include "ui_ism_schedule.h"
#include "ism_plan_dialog_model.h"
#include <ngltools/ngltools_dtg.h>
#include <QDateTime>
namespace InfrastructureManagement
{
CustomViewSchedule::CustomViewSchedule(QWidget *parent)
: AbstractDisplayWidget(parent)
, m_ui(new Ui::CustomViewSchedule)
, m_logger(getLogger("CustomViewSchedule"))
{
m_ui->setupUi(this);
}
CustomViewSchedule::~CustomViewSchedule()
{
delete m_ui;
}
bool CustomViewSchedule::init(const QModelIndex &idx)
{
if (!idx.isValid())
return false;
const QString msName = rowData(idx, InfrastructureManagement::PlanDialogModel::NAME).toString();
m_ui->lblName->setText(msName);
int msId = rowData(idx, InfrastructureManagement::PlanDialogModel::ID).toInt();
if (msId == 0)
{
m_ui->lblName->setWordWrap(true);
m_ui->lbCreated->hide();
m_ui->lblCreated->hide();
m_ui->lbBegin->hide();
m_ui->lblBegin->hide();
m_ui->lbEnd->hide();
m_ui->lblEnd->hide();
m_ui->lblStatus->hide();
}
else
{
m_ui->lbCreated->hide();
m_ui->lblCreated->hide();
#ifndef LTS_DEBUG
// m_ui->lblCreated->setVisible(true); // Should not be visible in Release build, but it is
// m_ui->lbCreated->setVisible(true);
#endif
m_ui->lblCreated->setText(rowData(idx, InfrastructureManagement::PlanDialogModel::CREATED).toString());
m_ui->lblBegin->setText(rowData(idx, InfrastructureManagement::PlanDialogModel::START).toString());
m_ui->lblEnd->setText(rowData(idx, InfrastructureManagement::PlanDialogModel::END).toString());
m_ui->lblStatus->setText(rowData(idx, InfrastructureManagement::PlanDialogModel::STATUS).toString());
QPalette p = m_ui->lblStatus->palette();
QColor newCol = rowData(idx, PlanDialogModel::STATUS, Qt::TextColorRole).value<QColor>();
p.setColor(m_ui->lblStatus->backgroundRole(), newCol);
p.setColor(m_ui->lblStatus->foregroundRole(), newCol);
m_ui->lblStatus->setPalette(p);
}
return true;
}
} // namespace InfrastructureManagement
@@ -0,0 +1,33 @@
/**
* @RDE_HEADER@
* CustomView for Exercises
* $Id$
* $HeadURL$
* $Author$
* Created by Mike Wille, SLSE, 2016-04-08
*/
#pragma once
#include <Viewer/LtsDataView/abstract_display_widget.h>
#include <InfrastructureManagement/logger.h>
namespace Ui
{
class CustomViewSchedule;
}
namespace InfrastructureManagement
{
class CustomViewSchedule final : public LtsDataView::AbstractDisplayWidget
{
Q_OBJECT
public:
explicit CustomViewSchedule(QWidget *parent = nullptr);
~CustomViewSchedule();
bool init(const QModelIndex &idx) override;
private:
Ui::CustomViewSchedule* m_ui;
LOGGER_T m_logger;
};
} // namespace
@@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CustomViewSchedule</class>
<widget class="QWidget" name="CustomViewSchedule">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>258</width>
<height>133</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string notr="true"/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="lblName">
<property name="font">
<font>
<pointsize>12</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="toolTip">
<string notr="true"/>
</property>
<property name="text">
<string notr="true">&lt;Schedule Name&gt;</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="lbCreated">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Created:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lblCreated">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string notr="true">&lt;Created Date&gt;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lbBegin">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Begin:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="lblBegin">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="toolTip">
<string notr="true"/>
</property>
<property name="text">
<string notr="true">&lt;Begin Date&gt;</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lbEnd">
<property name="maximumSize">
<size>
<width>100</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>End:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="lblEnd">
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="toolTip">
<string notr="true"/>
</property>
<property name="text">
<string notr="true">&lt;End Date&gt;</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="lblStatus">
<property name="text">
<string notr="true">&lt;Status&gt;</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>