From e16eea3813fd018d3ad2d0935b11935857d81d39 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Fri, 14 Aug 2026 14:21:59 +0200 Subject: [PATCH 1/4] cmake: support Qt5+Qt6 Inherit major version from rviz --- visualization/CMakeLists.txt | 16 +++++++++++----- visualization/package.xml | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index 84793ab30..5651e7768 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -28,18 +28,24 @@ endforeach() add_definitions(-DBOOST_MATH_DISABLE_FLOAT128) # Qt Stuff -if("${rviz_QT_VERSION}" VERSION_LESS "5") - find_package(Qt4 ${rviz_QT_VERSION} REQUIRED QtCore QtGui) - include(${QT_USE_FILE}) +if("${rviz_QT_VERSION}" VERSION_GREATER_EQUAL "6") + find_package(Qt6 ${rviz_QT_VERSION} REQUIRED Core Widgets) + set(QT_LIBRARIES Qt6::Widgets) macro(qt_wrap_ui) - qt4_wrap_ui(${ARGN}) + qt6_wrap_ui(${ARGN}) endmacro() -else() +elseif("${rviz_QT_VERSION}" VERSION_GREATER_EQUAL "5") find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets) set(QT_LIBRARIES Qt5::Widgets) macro(qt_wrap_ui) qt5_wrap_ui(${ARGN}) endmacro() +else() + find_package(Qt4 ${rviz_QT_VERSION} REQUIRED QtCore QtGui) + include(${QT_USE_FILE}) + macro(qt_wrap_ui) + qt4_wrap_ui(${ARGN}) + endmacro() endif() set(CMAKE_INCLUDE_CURRENT_DIR ON) diff --git a/visualization/package.xml b/visualization/package.xml index 47b39f475..4012ac602 100644 --- a/visualization/package.xml +++ b/visualization/package.xml @@ -11,7 +11,7 @@ catkin fmt - qtbase5-dev + qt-base-dev moveit_core moveit_task_constructor_msgs moveit_task_constructor_core From 2438d23e5f596ceac5d23e6aead3857b690dde10 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Mon, 13 Jul 2026 15:30:18 +0200 Subject: [PATCH 2/4] Enforce cast from char8_t* -> char* --- visualization/motion_planning_tasks/src/remote_task_model.cpp | 2 +- visualization/motion_planning_tasks/src/task_list_model.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/visualization/motion_planning_tasks/src/remote_task_model.cpp b/visualization/motion_planning_tasks/src/remote_task_model.cpp index 6d5ecc57d..44d7c0c11 100644 --- a/visualization/motion_planning_tasks/src/remote_task_model.cpp +++ b/visualization/motion_planning_tasks/src/remote_task_model.cpp @@ -515,7 +515,7 @@ QVariant RemoteSolutionModel::data(const QModelIndex& index, int role) const { return item.creation_rank; case 1: if (std::isinf(item.cost)) - return tr(u8"∞"); + return tr(reinterpret_cast(u8"∞")); if (std::isnan(item.cost)) return QVariant(); return QLocale().toString(item.cost, 'f', 4); diff --git a/visualization/motion_planning_tasks/src/task_list_model.cpp b/visualization/motion_planning_tasks/src/task_list_model.cpp index 485318ef3..c898afe5d 100644 --- a/visualization/motion_planning_tasks/src/task_list_model.cpp +++ b/visualization/motion_planning_tasks/src/task_list_model.cpp @@ -63,9 +63,9 @@ QVariant TaskListModel::horizontalHeader(int column, int role) { case 0: return tr("name"); case 1: - return tr(u8"✓"); + return tr(reinterpret_cast(u8"✓")); case 2: - return tr(u8"✗"); + return tr(reinterpret_cast(u8"✗")); case 3: return tr("time"); } From af4d46372822d4cc042dde336fad5c1b9884c785 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Fri, 14 Aug 2026 11:20:36 +0200 Subject: [PATCH 3/4] Enforce using Boost config instead of FindBoost module --- capabilities/CMakeLists.txt | 1 + core/CMakeLists.txt | 2 +- visualization/CMakeLists.txt | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/capabilities/CMakeLists.txt b/capabilities/CMakeLists.txt index 09f2542ea..abd32d38b 100644 --- a/capabilities/CMakeLists.txt +++ b/capabilities/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_capabilities) find_package(fmt REQUIRED) +find_package(Boost CONFIG REQUIRED) find_package(catkin REQUIRED COMPONENTS actionlib moveit_core diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 1b01d4167..f23e31982 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_core) -find_package(Boost REQUIRED) +find_package(Boost CONFIG REQUIRED) find_package(fmt REQUIRED) find_package(catkin REQUIRED COMPONENTS roslint diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index 5651e7768..a040d5436 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_visualization) find_package(fmt REQUIRED) +find_package(Boost CONFIG REQUIRED) find_package(catkin REQUIRED COMPONENTS moveit_core moveit_ros_visualization From 19f0d6b166fa7caa2fcc9255afaffe45efcc79d1 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Fri, 14 Aug 2026 11:48:25 +0200 Subject: [PATCH 4/4] Fix deprecation warnings --- visualization/motion_planning_tasks/src/task_list_model.cpp | 4 ++++ visualization/motion_planning_tasks/utils/icon.cpp | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/visualization/motion_planning_tasks/src/task_list_model.cpp b/visualization/motion_planning_tasks/src/task_list_model.cpp index c898afe5d..73f1d102b 100644 --- a/visualization/motion_planning_tasks/src/task_list_model.cpp +++ b/visualization/motion_planning_tasks/src/task_list_model.cpp @@ -354,7 +354,11 @@ TaskListView::TaskListView(QWidget* parent) : QTreeView(parent) {} // dropping onto an item, should expand this item void TaskListView::dropEvent(QDropEvent* event) { +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + QModelIndex index = indexAt(event->position().toPoint()); +#else QModelIndex index = indexAt(event->pos()); +#endif QTreeView::dropEvent(event); if (event->isAccepted()) expand(index); diff --git a/visualization/motion_planning_tasks/utils/icon.cpp b/visualization/motion_planning_tasks/utils/icon.cpp index 0ee0db95c..9a22e6903 100644 --- a/visualization/motion_planning_tasks/utils/icon.cpp +++ b/visualization/motion_planning_tasks/utils/icon.cpp @@ -32,6 +32,7 @@ #include #include #include +#include namespace moveit_rviz_plugin { namespace utils { @@ -196,10 +197,15 @@ QString Icon::imageFileName() const { QIcon Icon::combinedIcon(const QList& icons) { QIcon result; QWindow* window = QApplication::allWidgets().first()->windowHandle(); + for (const QIcon& icon : icons) for (const QIcon::Mode mode : { QIcon::Disabled, QIcon::Normal }) for (const QSize& size : icon.availableSizes(mode)) +#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + result.addPixmap(icon.pixmap(size, window->devicePixelRatio(), mode), mode); +#else result.addPixmap(icon.pixmap(window, size, mode), mode); +#endif return result; } } // namespace utils