From fe768904cdfbe236e18e473e0bfe8f1c9fa751d3 Mon Sep 17 00:00:00 2001 From: Peter Albrecht <albrecpe@gmail.com> Date: Fri, 17 Nov 2023 14:47:44 +0100 Subject: [PATCH] Implemented new order of skill executions --- .../SkillManagerMonitorWidgetController.cpp | 29 ++++--------------- .../SkillManagerMonitorWidgetController.h | 7 +++++ 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp index 24064a872..b9fa45956 100644 --- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.cpp @@ -454,9 +454,7 @@ namespace armarx { std::scoped_lock l(updateMutex); - auto currentManagerStatuses = - memory - ->getSkillExecutionStatuses(); // we assume that there are no more than 100 new skills.. + auto currentManagerStatuses = memory->getSkillExecutionStatuses(); for (const auto& [k, v] : currentManagerStatuses) { @@ -464,7 +462,7 @@ namespace armarx auto statusUpdate = skills::SkillStatusUpdate::FromIce(v); // update maps - skillStatusUpdates.insert_or_assign(executionId, statusUpdate); + skillStatusUpdates[executionId] = statusUpdate; //skillExecutionParams.insert_or_assign(executionId, // statusUpdate.usedParameterization); @@ -487,24 +485,6 @@ namespace armarx } } - /* - // update values - //found->setText(3, - // QString::fromStdString( - // statusUpdate.hasBeenConstructed() ? " yes " : " no ")); - found->setText(4, - QString::fromStdString( - statusUpdate.hasBeenInitialized() ? " yes " : " no ")); - found->setText(5, - QString::fromStdString( - statusUpdate.hasBeenPrepared() ? " yes " : " no ")); - found->setText(6, - QString::fromStdString( - statusUpdate.hasBeenRunning() ? " yes " : " no ")); - found->setText(7, - QString::fromStdString( - statusUpdate.hasBeenTerminated() ? " (\xfb) " : "")); - */ break; } } @@ -512,8 +492,7 @@ namespace armarx if (!found) { // TODO: Sort to executor! - auto item = new SkillExecutionInfoTreeWidgetItem( - executionId, widget.treeWidgetSkillExecutions); + auto item = new SkillExecutionInfoTreeWidgetItem(executionId); item->setText(0, QString::fromStdString( @@ -527,6 +506,8 @@ namespace armarx item->setText(3, QString::fromStdString(i.second)); } } + + widget.treeWidgetSkillExecutions->insertTopLevelItem(0, item); } } } diff --git a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.h b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.h index 8aa3e4720..f3509e228 100644 --- a/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.h +++ b/source/RobotAPI/gui-plugins/SkillManagerPlugin/SkillManagerMonitorWidgetController.h @@ -75,6 +75,13 @@ namespace armarx { } + // After constructing an item, it must be manually inserted into the tree! + SkillExecutionInfoTreeWidgetItem(const skills::SkillExecutionID& id) : executionId(id) + { + } + + // When using this constructor, the new item will be _appended_ to the bottom of the tree! + // Use with care. SkillExecutionInfoTreeWidgetItem(const skills::SkillExecutionID& id, QTreeWidget* parent) : QTreeWidgetItem(parent), executionId(id) { -- GitLab